<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>alex.moskalyuk</title>
	
	<link>http://www.moskalyuk.com/blog</link>
	<description />
	<lastBuildDate>Mon, 30 Nov 2009 19:37:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/AlexMoskalyukOnline" /><feedburner:info uri="alexmoskalyukonline" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site.</feedburner:browserFriendly><item>
		<title>Predictably Irrational</title>
		<link>http://feedproxy.google.com/~r/AlexMoskalyukOnline/~3/cWxCRpFg28s/1642</link>
		<comments>http://www.moskalyuk.com/blog/predictably-irrational/1642#comments</comments>
		<pubDate>Mon, 30 Nov 2009 06:48:28 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Review]]></category>
		<category><![CDATA[Science]]></category>

		<guid isPermaLink="false">http://www.moskalyuk.com/blog/predictably-irrational/1642</guid>
		<description>Predictably Irrational by Dan Ariely is an exploration of human behavior which diverts from the logic. Consistently. For example, imagine yourself shopping for a brand new suit and, for whatever reason, a new pen, maybe to accompany your suit. You see the $15 pen, but then remember that you saw the same pen in a [...]</description>
			<content:encoded><![CDATA[<p><img style="margin: 0px 0px 5px 5px; display: inline" alt="006135323X" align="right" src="https://images-na.ssl-images-amazon.com/images/I/51a2taJvmXL._SL75_.jpg" /><a href="http://www.amazon.com/gp/product/0061854549?ie=UTF8&amp;tag=moskalyukcom-20&amp;linkCode=xm2&amp;camp=1789&amp;creativeASIN=0061854549">Predictably Irrational</a> by <strong>Dan Ariely </strong>is an exploration of human behavior which diverts from the logic. Consistently. For example, imagine yourself shopping for a brand new suit and, for whatever reason, a new pen, maybe to accompany your suit. You see the $15 pen, but then remember that you saw the same pen in a different store for $7. The store is not that far (15 minute drive) and you decide that it’s totally worth it to postpone the purchase of the pen and drive by another store to save $8. Then you take a look at the suit. It’s $1,000, but then somehow you recall that a similar one. Same story – the store is 15 minutes away, and it’s $992 there, $8 cheaper.</p>
<p>Most people when faced with these two options will definitely purchase the pen at another store, but will forego a 15-minute drive to purchase the $992 suit. Relatively the savings are different: it’s more than a 50% on the pen, and a tiny sub-percentage point discount on the suit. Nevertheless, in a nutshell in both cases you stand to save $8 by driving 15 minutes. As a rational human, once you decide that a 15-minute drive is worth $8 in savings, you should accept that as an absolute rule. Nevertheless humans behave consistently irrational when faced with such choice in psychological studies conducted by <a href="http://www.amazon.com/Dan-Ariely/e/B001J93B34/ref=ntt_dp_epwbk_0">Dan Arieli</a>.</p>
<p>So what are other examples of inconsistent behavior from Predictably Irrational?</p>
<ol>
<li>When faced with the following choices for magazine subscription: $59 for digital edition, $125 for print edition, and $125 for digital+print edition, 84% opted in for the third option. Well, why not, you get digital+print for the same price as print, practically a steal. However, when the middle option is removed, people overwhelmingly (68%) chose the digital subscription. Comparing a $59 digital subscription with $125 print+digital made people wonder whether they <strong>really</strong> need print subscription at all. Just having a middle option that will never be selected for obvious reasons boosted magazine’s top-of-the-line product. The magazine in question is Economist.
<ul>
<li>Relativity also leads to unexpected results. SEC told public companies that by 1993 they were obliged to disclose the top executives’ pay. Ideally, this would make companies more responsible to shareholders and even out the outrageous executive paychecks. In 1976 a CEO was paid 36 times the average worker pay. Net result? By 1993 the CEO pay was at 131 times average worker pay. Exposing the fat cats did not cause expected shareholder outrage, it encouraged other CEOs to demand higher pay, since now they had hard data telling them they were underpaid. </li>
</ul>
</li>
<li>Having two somewhat similar options together with dissimilar one will make people choose a better deal among similar options. Assuming that you’ve never been to Africa and have no emotional attachment to geographical locations there (choose something neutral to you if you do), what would you rather choose if I gave you a choice of (a) a free trip to Zanzibar that <strong>includes </strong>a free breakfast, (b) free trip to Zimbabwe <strong>without </strong>a free breakfast, (c) free trip to Zimbabwe <strong>with </strong>free breakfast. Most people in psychological studies consistently chose option C. Our brain is wired to compare equals, and comparing A and C without specific knowledge of locations seems like a lost cause. Comparing B and C, however, is a no-brainer – you get a free breakfast or you don’t. C is such an obvious choice, the brain shortcuts, and before long option A is out of the picture.
<ul>
<li>Marketing technique that utilizes this knowledge is called a decoy. Williams-Sonoma accidentally discovered it by adding another, more expensive, product to its breadmaker line. Prior to this breadmakers did not sell very well, being completely new product. When a more expensive machine was added, <a href="http://www.learndirect.co.uk/businessadvice/getnewcustomers/podcasts/one/">the original version seemed like a bargain</a>, and also customers felt that since this was a line, not a one-off product, it must be something worth researching. Sales of the original breadmaker nearly doubled. </li>
</ul>
</li>
<li>In one study participants were asked to write down the last 2 digits of their social security number, and then write an estimated price they would pay for a bunch of unrelated items. Box of Belgian chocolates, bottle of wine, a wireless keyboard – the items were intentionally random so that most people would have a vague idea of what they cost in real world. By asking participants to write down their social security digits, researchers were hoping to prime the mind. The technique worked – people whose social security #s ended with 00-20 overall bid significantly less for the items than those with 80-99 as the first number on the list. The point is not that people with high social security numbers pay more, but the fact that making a person think about the number impacts the decision-making process, if this process involves choosing random numbers. </li>
<li>Offering the item for free has a huge impact, even when the alternative is not that expensive. Arieli set up a stand offering two kinds of treats – Lindt truffles for 15c and Hershey kisses for 1c. The price difference was huge, but most people nevertheless seemed to appreciate Swiss chocolates over Pennsylvanian sugar-and-cocoa-butter concoction – 73% chose Lindt truffles. So another test the book author ran was selling Lindt truffles for 14c and giving Hershey’s kisses away at 0c. The relative difference was still 14c, but this time 69% of the customers chose the kiss. It’s not that 1c previously broke their budget, and all of a sudden a 0c kiss offered huge savings to hungry students. Faced with two paid choices, participants were forced to make a judgement, and in this case went for a more expensive, but higher-quality item. Faced with FREE, participants forgot all about the relative taste differences between Lindt and Hershey product, and overwhelmingly acted on instinct.
<ul>
<li>When Amazon was testing free shipping promotion in different countries, Amazon France did not expect any real change. After all, the French site has been charging customers 1 franc if their shopping cart when over a certain amount. It’s a modern-day equivalent of 20c, what difference could it make, if your shopping cart had to be over $25, where Amazon currently allows you to ship for free? However, going from 1 franc to 0 francs was dramatic. </li>
</ul>
</li>
<li>Setting deadlines works, and having external deadlines seems to work better. The author experimented with 3 of the classes he taught. Class A had specific deadlines on when the papers should be submitted – week 4, week 8 and week 12. Class B was free to choose its own deadlines, but it had to be done in writing – each student was asked to commit to submitting a paper by a certain week, even if the commitment involved writing “week 12” for each one of the three papers. The third class had no deadlines at all, except for the fact that by the end of the course the instructor wanted to have a set of all 12 papers. Which of the classes got better final grades? It was just in the order they were listed – A did best on the exam, followed by B, followed by C.</li>
<li>Accessories matter. The researcher has set up a coffee tasting station by giving away free coffee, which could be complemented with a variety of condiments – sugar, cream, nutmeg, cinnamon, etc. The additives were placed in Styrofoam cups with hand-written notes indicating what they were. The students were then asked the rate the quality of the coffee, supposedly for a new coffee shop that was planning to open its doors to MIT students. Second test involved brewing precisely the same coffee, except this time the condiments were placed in glass-and-steel containers on a nice looking tray with pre-printed labels. Students consistently gave the second coffee much better rating, even though the contents of the pot or the variety of condiments did not change.</li>
<li>People have different expectations for products with various prices. Researchers conducted the experiments where a group of participants was exposed to a new pharmaceutical in a very professional environment – lab coats, brochures, and all. The experimental drug, they were told, was a pain reliever, so to conduct practical tests, they would produce an electrical shock of increasing voltage until the participant pressed the button indicating they’ve reached their maximum pain tolerance level. Price for the new drug? $2.50 a pop. To test the efficiency, the researchers first asked the participants to experience pain with no drug intake, and then undergo the same test. 100% of respondents claimed the pain was relieved and hence medication worked. The same drug was then tested on a different group of people, who accidentally (via a brochure on the table) found out the drug was 10c a pop. In this test, only half of those people claimed the pain reliever worked. The drug? In both cases Vitamin C.</li>
<li>People order differently in public and in private. When groups of people were offered a list of beers to choose from, there was inevitably more variety in the orders than when everybody was handed a menu to write on. Hearing choices of others makes people want to express their individuality, and sometimes they tend to order their 2nd or 3rd choices after hearing what people before them have ordered. Whenever asked in private, the individuals were lacking the information on others’ choices and always went for their first choice.</li>
</ol>
<p>Believe it or not, <a href="http://www.amazon.com/gp/product/0061854549?ie=UTF8&amp;tag=moskalyukcom-20&amp;linkCode=xm2&amp;camp=1789&amp;creativeASIN=0061854549">Predictably Irrational is available at Amazon</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moskalyuk.com/blog/predictably-irrational/1642/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.moskalyuk.com/blog/predictably-irrational/1642</feedburner:origLink></item>
		<item>
		<title>How human brain judges popularity</title>
		<link>http://feedproxy.google.com/~r/AlexMoskalyukOnline/~3/T6WpqoaFnJs/1630</link>
		<comments>http://www.moskalyuk.com/blog/how-human-brain-judges-popularity/1630#comments</comments>
		<pubDate>Wed, 20 May 2009 17:02:13 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Science]]></category>

		<guid isPermaLink="false">http://www.moskalyuk.com/blog/how-human-brain-judges-popularity/1630</guid>
		<description>Wall Street Journal today describes the work of Matthew Salganik and Duncan J. Watts (published in Social Psychology Quarterly in December 2008) on researching herd mentality with popularity rankings. 12,000 volunteers were given 48 random fairly obscure songs, and asked to rate them. To help things out, popularity rankings were provided. Except that a certain [...]</description>
			<content:encoded><![CDATA[<p><strong>Wall Street Journal</strong> today <a href="http://online.wsj.com/article/SB124277816017037275.html">describes the work</a> of Matthew Salganik and Duncan J. Watts (<a href="http://www.asanet.org/galleries/default-file/Dec08SPQFeature.pdf">published in Social Psychology Quarterly in December 2008</a>) on researching herd mentality with popularity rankings. 12,000 volunteers were given 48 random fairly obscure songs, and asked to rate them. To help things out, popularity rankings were provided. Except that a certain group saw the popularity ranking in exactly reverse order – least popular songs appearing on top. You’d think that good songs would still win based on their merit, right?</p>
<blockquote><p>The prior No. 1 began making a comeback on the new top dog, but the <strong>former No. 47 maintained its comfortable lead on the old No. 2</strong>, buoyed by its apparent popularity. Overall, the study showed that popularity is both unstable and malleable.</p>
</blockquote>
<p>Look for page 338 of that PDF document if you want to read the details of the experiment.</p>
<p>Another research Carl Bialik points to is <a href="http://www.econ.duke.edu/~hf14/publication/observationallearning/aerrev2.pdf">Observational Learning: Evidence from a Randomized Natural Field Experiment</a> by Hongbin Cai, Yuyu Chen, and Hanming Fang out of Duke that gave customers of Chinese restaurants a “most popular items” list when they were ordering off the menu:</p>
<blockquote><p>We find that, depending on the specifications, <strong>the demand for the top 5 dishes is increased by an average of about 13 to 20 percent</strong> when the top 5 popularity rankings are revealed to the customers; in contrast, being merely mentioned as some sample dishes does not significantly boost their demand. Moreover, we find some modest evidence that the observational learning effect is stronger among infrequent customers, and that customers’ subjective dining experiences are improved when presented with the information about the top choices by other consumers, but not when presented with the names of some sample dishes.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.moskalyuk.com/blog/how-human-brain-judges-popularity/1630/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.moskalyuk.com/blog/how-human-brain-judges-popularity/1630</feedburner:origLink></item>
		<item>
		<title>Yes! 50 Scientifically Proven Ways to Be Persuasive</title>
		<link>http://feedproxy.google.com/~r/AlexMoskalyukOnline/~3/mm9eZ1lWjCg/1624</link>
		<comments>http://www.moskalyuk.com/blog/yes-50-scientifically-proven-ways-to-be-persuasive/1624#comments</comments>
		<pubDate>Sun, 17 May 2009 04:24:56 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://www.moskalyuk.com/blog/yes-50-scientifically-proven-ways-to-be-persuasive/1624</guid>
		<description>Noah Goldstein’s, Steve Martin’s (no, not that Steve Martin’s) and Robert Cialdini’s Yes! 50 Scientifically Proven Ways to Be Persuasive is a pop psych book, where a bunch of research in psychology is distilled into one readable volume. 50 scientifically proven ways constitute 50 chapters of the book, longest of which take 7 pages. The [...]</description>
			<content:encoded><![CDATA[<p><a href="https://www.amazon.com/dp/1416570969?tag=moskalyukcom-20&amp;camp=0&amp;creative=0&amp;linkCode=as4&amp;creativeASIN=1416570969&amp;adid=0YXGNAEK9VNMS4XASG60&amp;"><img style="margin: 0px 5px 5px 0px; display: inline" src="https://images-na.ssl-images-amazon.com/images/I/510eRk2Fh3L._SL110_.jpg" border="0" alt="" align="left" /></a>Noah Goldstein’s, Steve Martin’s (no, not <a href="http://www.imdb.com/name/nm0000188/">that Steve Martin</a>’s) and Robert Cialdini’s <a href="https://www.amazon.com/dp/1416570969?tag=moskalyukcom-20&amp;camp=0&amp;creative=0&amp;linkCode=as4&amp;creativeASIN=1416570969&amp;adid=0YXGNAEK9VNMS4XASG60&amp;">Yes! 50 Scientifically Proven Ways to Be Persuasive</a> is a pop psych book, where a bunch of research in psychology is distilled into one readable volume.</p>
<p>50 scientifically proven ways constitute 50 chapters of the book, longest of which take 7 pages. The authors take the position that persuasion is a science, not art, hence with the right approach anybody can become the master in the skill of persuasion. So, what are the 50 ways?</p>
<ol>
<li><strong>Inconvenience the audience by creating an impression of product scarcity</strong>. It’s the famous change from “Call now, the operators are standing by” to “If the line is busy, call again”, that greatly improved the call volume by creating the impression that everybody else is trying to buy the same product.</li>
<li><strong>Introduce herd effect in highly personalized form</strong>. The hotel sign in the bathroom informed the guests that many prior guests chose to be environmentally friendly by recycling their towels. However, when the message mentioned that majority of the guests who stayed in this specific room chose to be more environmentally conscious and reused their towels, towel recycling jumped 33%, even though the message was largely the same.</li>
<li><strong>Ads quoting negative behavior en masse reinforces negative behavior</strong>. Petrified Forest National Park A/B tested two versions of a sign imploring people not to steal pieces of petrified forest from the park. One mentioned large amounts of petrified forest taken away on an annual basis, the other one simply asked the visitors not to remove petrified wood. The first one actually tripled the theft ratio as it showed stealing petrified wood as something commonplace. Same effect was observed after airing an ad that implored women to vote, but mentioned that 22 million single women did not vote last year. That kind of information actually portrays not voting as more socially acceptable.</li>
<li><strong>Avoiding magnetic middle</strong>. A California survey measured energy usage of a neighborhood on a week-by-week basis. When the average electricity consumption for the neighborhood was calculated, researchers sent thank-you cards to those using the energy conservatively, and a nice reminder to perhaps conserve to those who used electricity liberally. Net effect? While the liberals tried to cut down on unnecessary energy usage, the conservatives, finding out they’re way below average, suddenly became way more liberal with their energy usage, which actually increased the amount of energy used by the neighborhood. Proposed solution that worked? Sending a smiley face card to conservatives with a request to keep doing what they were doing, instead of pointing out they were at the right end of the bell curve.</li>
<li><strong>Too many options necessitate selection, and hence frustration, when brain decides it’s unnecessary work</strong>. The example here is given by a company that manages retirement funds for other companies, and hence has access to retirement information of 800,000 employees. When employees were offered a choice of 2 funds, roughly 75% signed up for a retirement program. When the number of funds was increased to 59%, even though qualitatively this was a better deal for employees, only 60% decided to sign up. When <strong>Head &amp; Shoulders</strong> brand killed off 11 flavors of the shampoo, leaving only 15 on the market, the sales rose 10%.</li>
<li><strong>Giving away the product makes it less desirable</strong>. Researchers gave one group of people a picture of a pearl bracelet and asked to evaluate its desirability. Another group of people was given the same task, but prior to that was shown an ad, where the same bracelet was given away for free, if you bought a bottle of expensive liqueur. The second group considered the bracelet much less desirable, since mentally a lot of potential buyers (35% of them to be exact) shuffled the bracelet onto “trinkets they give away for free” shelf in their brain.</li>
<li><strong>A more expensive product makes the old version look like a value buy</strong>. An example here is a Williams-Sonoma bread maker. After an introduction of a newer, better, and pricier version, the sales of the old unit actually increased, as couples viewed the new item as “top of the line”, but old product was all of a sudden reasonably-priced, even though a bunch of features were missing.</li>
<li><strong>If a call to action is motivated by fear, people will block it, unless call to action has specific steps</strong>. A group of people received a pamphlet describing the dangers of tetanus infection. It didn’t describe much else. The second group of people got a description of tetanus infection, plus a set of instructions on how to get vaccinated. The second group exhibited much higher sign-up rate for tetanus vaccination than the first one, where many participants tried to block out the high-fear message urging that something as rare as tetanus would never happen to them.</li>
<li><strong>A small gift makes people want to reciprocate</strong>. People who received a small no-strings-attached gift from a stranger were twice as likely to buy raffle tickets from him than those who were just pitched on raffle tickets.</li>
<li><strong>Hand-written Post-It note improves response rate on inter-office letters</strong>. Researchers distributed three sets of questionnaires around the office. The first set included a hand-written Post-It note requesting completion of the survey. The second set got the same survey, with the request to return it hand-written on Page 1. Third group got the same survey with their name mentioned (in type) on page 1 of the survey. Response rates? 75%, 48%, 36%. People appreciated personalized approach, and somehow a Post-It note even highlighted the extra work that someone did before sending out the survey.</li>
<li><strong>How restaurant mints are a personalized affair</strong>. Let’s a say a restaurant provides mints for its customers on the way out. If the amount of tips per week is the baseline for that restaurant, let’s make the waiters include a mint as they give the check to the customer. The tips go up by 3.3%. However, when the waiters offer the mints themselves, prior to signing the check, the tipping amount went up by 14.1%. In yet another experiment, the waiter would present the patrons with 1 mint per guest, then give them the check, then turning around to leave, then, as if remembering something sudden, turning around and giving them yet another mint per guest. Result? 23% increase in tips, as this signaled high amount of personalization.</li>
<li><strong>Attaching no strings increases response to the message</strong>. Using the same hotel as the one mentioned in Chapter 2, researchers tried out two different versions of the sign. The first one: if you reuse the towels, a donation will be made to a nonprofit environmental organization.  The second version: the donation has already been made, since the hotel trusted you’d reuse the towels anyways. Recipients of the second message reused their towels 45% more than the recipients of the first one.</li>
<li><strong>As time goes by, the value of a favor increases in the eyes of the favor-giver, and decreases in the eyes of the favor-receiver</strong>. Researchers asked a group of people in the random office environment to exchange favors and then rate the value of the given/received favor in their eyes. A few weeks later the same employees were reminded of the favor, and asked to evaluate the favor again. Favor-givers consistently assigned higher value to a given favor, while as the time passed by, favor-receivers tended to assign lower value to the received favor.</li>
<li><strong>Asking for small favors changes self-perception, introducing ways for big favors</strong>. Researchers asked a group of homeowners to place a large “Drive Carefully” sign on their front lawn. Only 17% agreed. With the second group of homeowners, 76% of people were ok with road traffic people maintaining the sign on their beautiful lawns. What was the difference between two groups? A few weeks earlier group B was asked to display a small non-intrusive window sign asking drivers to slow down. This mental foot-in-the-door technique made homeowners from the group B view themselves as socially responsible and safety-aware, hence a request for a larger favor few weeks later didn’t startle them.</li>
<li><strong>Labeling people into a social group tends to increase their participation ratio</strong>. A group of people was interviewed regarding their voting patterns. Half of them were told that based on their response criteria, they were very likely to vote, since they were deemed to be more politically active. Later on the election day that specific half did indeed turn up a participation rate that was 15% higher than participation of the control group.</li>
<li><strong>Asking people to substantiate their decision will lead to higher commitment rate on that decision</strong>. Researchers called a group of people asking them how likely they were to vote in an upcoming election. Those who responded positively were either asked nothing, or asked why they felt they would vote. Any reason would suffice, but when the election day came, the turnout for the control group (who all responded “Yes” to the question of whether they were going to vote) was 61.5%. Turnout for the group that actually gave a reason (any reason)? 86.7%. A restaurant stopped telling customers “Please call to cancel your reservation” and started asking “Will you call and let us know if you need to cancel?” Net result? Number of reservation no-shows dropped from 30% to 10%.</li>
<li><strong>Writing things down improves commitment</strong>. Group A was asked to volunteer on AIDS awareness program at local schools, and was asked to commit verbally. Group B was asked for the same kind of volunteer project, but was given a simple form to fill in. 17% of volunteers from Group A actually showed up to their assigned local school. From Group B 49% of volunteers showed up.</li>
<li><strong>The fact that circumstances changed allows people to change their viewpoints without being viewed as inconsistent</strong>. People are generally not thrilled to change their viewpoints on something, as they fear they will display lack of consistency and be called a flip-flopper. Convincing people that their old decision (to stick with the old product) was completely 100% correct under old circumstances allows them to be more responsive to the messages that imply a new product/idea is better because the circumstances radically changed since then.</li>
<li><strong>Sometimes asking people for help makes them more open</strong>. Group A was given some bogus research that included a sum of prize money. After the experiment, the researcher approached them and asked whether it wouldn’t be inconvenient if they had to give the money back, since the researcher was using his own money. Group B was not approached with such request after their portion of bogus experiment was done, and was allowed to keep the money. After this both groups were asked to rate their impression of the researcher. Even though it was the first group who didn’t get to keep any money, all of them consistently rated the researcher higher on likability scale.</li>
<li><strong>Asking for little goes a long way</strong>. Researchers went door-to-door asking for American Cancer Society donations. Group A just asked for a donation, group B ended their spiel with “even a penny would help”. Results? 28.6% response rate for Group A vs. 50% response for Group B.</li>
<li><strong>Lower starting prices attract higher bids</strong>. This is a reference to a study of eBay items where people consistently bid items with a lower starting price higher. The explanation seems to focus on the fact that people invest more time into updating bids for a lower-priced item to let it go.</li>
<li><strong>How to impress a potential customer with credentials without being labeled as a show-off</strong>? Public speakers have someone else introduce them, a real estate company made a slight improvements to their phone service by directing people to “Jane, who has 10 years of experience with houses in upper price range”, and physicians display their diplomas on the walls.</li>
<li><strong>The danger of being the smartest person in the room</strong>. The expert card frequently trumps any other card in the room. The example here is that the scientists who discovered the double-helix of the DNA were never prime DNA experts, which made them “hungrier” for new discoveries, and made them question established rules.</li>
<li><strong>Devil’s advocate example works with large organizations</strong>. Leaders who consistently seek out dissenting opinions earn more respect, and generally have better agreement with people in the room than those who rule by laying down the law and persecuting dissenters.</li>
<li><strong>Negative examples are memorized better than positive examples</strong>. When one group of firefighters went through the list of real-life mistakes other firefighters have made, and another group just went through the list of positive things to do, the first group demonstrated better judgment when faced with real-life tests. Our brain seems to discount the best practices, but single out bad examples of someone else making a mistake.</li>
<li><strong>Admitting negatives up-front might lead to better communication</strong>. When Progressive says that they will compare your rate against their competitors’, and when original VW Bug was introduced in the US, both companies pursued a strategy of highlighting the negative stuff only to open conversation about the true values their product has to offer.</li>
<li><strong>Spinning negative facts as positive allows customers to make a mental link towards the positive</strong>. Among the viewers who viewed an ad advertising restaurant’s cozy atmosphere, an ad advertising the restaurant and lack of parking spaces, and an ad mentioning both, the third group made a connection between cozy atmosphere and bad parking situation. The restaurant was so cozy, the customers reasoned, that they didn’t even have enough parking spots, which made them even cozier in the eyes of a customer.</li>
<li><strong>Admitting you’re wrong makes people trust you more</strong>. Company A published an investors relations report, contributing slump in sales to overall economic climate. Company B said slump of sales was relevant to a few bad decisions by top management. Net result? Investors viewed company B more positively. You’d think that they’d be viewed as a bunch of screw-ups, but admission of a mistake made investors more confident the situation was under control, while company A investors got the uneasy feeling of the ship floating in the waters with captain losing control.</li>
<li><strong>Similarities raise the response rate</strong>. A person named Cindy Johnson received a survey request by mail from someone named Cynthia Johannson. Someone named John Smith received a survey from Gregory Jordan. The name similarity in the first case (note that it’s just phonetic similarity, none of the names are the same) brought up the response rate to 56% vs. regular 30%.</li>
<li><strong>People like the sound of their name, and that defines their vocation</strong>. There are three times as many dentists named Dennis as any other names. Number of Florences living in Florida is disproportionately high, same goes for Louises living in Louisiana.</li>
<li><strong>Verbalization helps interaction</strong>. Waiters who repeat customers’ order to them make 70% more in tips than waiters who just say “Okay”. Our mind subconsciously appreciates the effort taken to ensure the things are perfectly right.</li>
<li><strong>Just smiling makes for a poorer customer service</strong>. Group A was exposed to a hotel clerk smiling, while peppering the customer with questions regarding their preferences and ways to improve their hotel stay. Group B had just a smiling clerk performing her duties. Group B was more likely to rate the smile as fake.</li>
<li><strong>People pay more for the stuff that’s about to disappear</strong>. Oldsmobile sales rose after GM announced the end of life for the line. Australian beef purchases rose after customers learned this year’s supply would be severely diminished because of the weather conditions. Concorde sales took off right after British Airways announced the hyper-speed flights would be shut down.</li>
<li><strong>When people feel something is about to go away, they will stick to perception of the product being better than the new one</strong>. In majority of blind tests customers chose New Coke over Classic Coke. Yet when New Coke was introduced, massive protests were staged. When the same drink was packaged into Classic Coke and New Coke bottles, customers still claimed they preferred the Classic Coke and could taste the difference, even though labeling was the only thing that differed two drinks.</li>
<li><strong>“Because” makes any explanation rational</strong>. In a line to Kinko’s copy machine a researcher asked to jump the line by presenting a reason “Can I jump the line, because I am in a rush?” 94% of people complied. Good reason, right? Okay, let’s change the reason. “Can I jump the line because I need to make copies?” Excuse me? That’s why everybody is in the line to begin with. Yet 93% of people complied. A request without “because” in it (&#8220;Can I jump the line, please?&#8221;) generated 24% compliance.</li>
<li><strong>Asking people to choose reasons themselves might backfire</strong>. Two groups were given an ad by BMW. Group A saw an ad saying “So many reasons to buy a BMW. Can you name 10?” Group B saw an ad saying “So many reasons to buy a BMW. Can you name 1?” After the ad both groups were asked to evaluate their likelihood of buying a BMW. Similar to what’s described in Chapter 5, people who had to name 10 reasons actually named Mercedes-Benz, a competitive brand, as their probable choice, while Group B named BMW as their likely next vehicle, compared to Mercedes-Benz.</li>
<li><strong>People like stocks with more pronounceable names</strong>. Research of stock tickers between 1999 and 2004 looked at the relationship between the phonetic fluency of the stock and its rise through IPO, then 12 months later, then throughout its lifetime. The result? Stocks with more pronounceable names produced higher returns, even though nobody yells out the tickers on the exchange floor anymore.</li>
<li><strong>Rhyming makes the phrases more convincing</strong>. People were asked to evaluate the practical value of parables “Caution and measure will win you treasure” and “Caution and measure will win you riches”. In general proverb A was considered to be more practical and insightful than proverb B.</li>
<li><strong>Amount of information is context-dependent</strong>. A group of people was given an ad for department store A, extolling in great detail the 6 departments that A had. Another group was given a short blurb on store A, presenting mainly abstract information. After that store B was presented to both groups with information on 3 departments given to both groups. The first group thought they preferred A, since A volunteered more information and B seemed shadier in comparison. The second group did exactly the opposite and preferred store B, which volunteered detailed info on 3 departments, while A’s message was an abstract blurb.</li>
<li><strong>Incentive programs need a good start</strong>. A car-wash place gave one group of customers a free car wash after 8 washes, and everybody got their first stamp after their visit. Group B got a free car wash after 10 car washes, with 3 stamps on the card. Both groups needed to make 7 more trips to get a free wash. 19% of the Group A returned, while 34% of the Group B did.</li>
<li><strong>Abstract names allow the customers to come up with reasoning</strong>. Crayola found out that naming colors Cornflower Yellow and Kermit Green worked better than no adjectives attached to colors. The more abstract the connection, the better it seemed to work, as people spent mental time working out the connection between the abstraction and the product in their mind.</li>
<li><strong>Ad campaigns that do not incorporate brands tend to not be remembered</strong>. A good portion of people when asked which company was represented by a bunny and the phrase “going, going, and going” named Duracell as the advertiser. Duracell sales increased with the launch of Energizer Bunny campaign.</li>
<li><strong>Mirrors make people more self-conscious</strong>. A group of trick-or-treating kids was told to pick up one candy from the jar in the living room, while the adult was in a different room on some pretense. Group A had a large mirror placed by the candy jar, group B did not have the mirror. 8.9% of kids with the mirror in the room and 33.7% of the kids with no mirror treated themselves to extra candy. Another group of people was brought in for what was advertised as gel research, and was given a hand paper towel to wipe the gel off while heading for the exit. With the mirror in the hallway, 24% of participants littered, dropping the towel on their way out, with no mirror, 46% threw the paper towel on the floor without bothering to find a trash can.</li>
<li><strong>Negative emotions make people pay more</strong>. Group A was exposed to an emotional movie about the death of someone close to the main character. Group B saw no such movie. Both groups were asked then to name a fair price at which they’d buy the object presented to them. Group A tended to give prices 30% above Group B’s.</li>
<li><strong>Tired people tend to be more receptive to arguments</strong>. No wonder those magic bullet infomercials run so late at night. Both groups were presented to product demo, and then asked to evaluate the possibility of buying it. Group A was tired and a bit sleep-deprived, group B was in good physical condition. Group A was much more prone to buy.</li>
<li><strong>Caffeine increases the argumentativeness of a strong argument</strong>. Group A drank regular orange juice, group B drank orange juice infused with caffeine. Both groups were then presented with a statement on controversial issue. Except one statement then made weak and hasty arguments, while the second statement made a strong case. Both groups equally dismissed the weak argument case. As far as strongly argumentative case, group B was 30% more receptive. A faster-working brain under the influence of caffeine seems to appreciate good arguments.</li>
<li><strong>Face time still beats e-mail time</strong>. Group A was given time to get to know one another in person, then resolve a conflict via e-mail. Group B got a similar task, except no face-to-face communications. 6% of the Group As failed to come up at a good resolution, while 29% of Group Bs arrived at impasse.</li>
<li><strong>Individualism is perceived differently in many countries</strong>. In US and Western Europe a chewing gum campaign that accentuated “you, only better” seemed to get more success, than a similar campaign in Eastern Europe and Asia, with much more collectivism built into the culture. In those countries, emphasizing that chewing gum was much more tolerable for other people who can smell your breath, was perceived better.</li>
<li><strong>Notion of commitment among various cultures differ</strong>. A group of American students was asked to complete a short marketing survey. A few weeks later they got invited for the second survey, which was going to take twice as long. No pay for either survey. The same experiment was conducted among Asian students. The response rates among American students was 22%, response rate among Asian students was 10%. Research suggests that while American students relied only on their own experience, Asian students found out that few of their peers responded to the first request to complete the survey, which triggered their negative response.</li>
<li><strong>Response to voice mail differs among Americans and Japanese</strong>. When faced with a voicemail message, 50% of Americans, and 85% of Japanese hang up. Respondents from Japanese test group pointed out the personal touch of the conversation (intonation, pauses, volume) was important to them and impossible to reproduce over voicemail.</li>
</ol>
<p>If you liked reading review of this book, check out my review of <a href="http://www.moskalyuk.com/blog/predictably-irrational/1642">Predictably Irrational</a>, which is written by a psychology professor and explores the topic of human irrationality in our perfectly rational world.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moskalyuk.com/blog/yes-50-scientifically-proven-ways-to-be-persuasive/1624/feed</wfw:commentRss>
		<slash:comments>69</slash:comments>
		<feedburner:origLink>http://www.moskalyuk.com/blog/yes-50-scientifically-proven-ways-to-be-persuasive/1624</feedburner:origLink></item>
		<item>
		<title>Notes from Percona performance conference</title>
		<link>http://feedproxy.google.com/~r/AlexMoskalyukOnline/~3/xbes-zdBsj0/1622</link>
		<comments>http://www.moskalyuk.com/blog/notes-from-percona-performance-conference/1622#comments</comments>
		<pubDate>Wed, 29 Apr 2009 06:53:23 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.moskalyuk.com/blog/notes-from-percona-performance-conference/1622</guid>
		<description>I spent two days last week at Percona Performance Conference – a free event that took place parallel to MySQL User Conference &amp;#38; Expo at Santa Clara Convention Center. The content was good, and the organizers packed an impressive amount of 51 presentations, a sessions of lightning talks, and two open Q&amp;#38;A sessions towards the [...]</description>
			<content:encoded><![CDATA[<p>I spent two days last week at <a href="http://conferences.percona.com/percona-performance-conference-2009/schedule.html">Percona Performance Conference</a> – a free event that took place parallel to <a href="http://www.mysql.com/news-and-events/users-conference/">MySQL User Conference &amp; Expo</a> at Santa Clara Convention Center. The content was good, and the organizers packed an impressive amount of 51 presentations, a sessions of lightning talks, and two open Q&amp;A sessions towards the end of day, into 24+ hours over 2 days.</p>
<p>In lieu of Sun acquisition by Oracle, there was a lot of conversation regarding where MySQL is headed. <strong>Michael (Monty) Widenius</strong> <a href="http://monty-says.blogspot.com/2009/04/to-be-free-or-not-to-be-free.html">outlined three directions</a> Oracle could take with MySQL: abandon, sell, embrace, and at Percona conference was giving more details on Maria storage engine for MySQL, which looks a lot like InnoDB storage engine, with a new type of indexes.</p>
<p>Here’s a rundown of the sessions I attended with a possible link to slides where available (many slides are in PDF):</p>
<ul>
<li><a href="http://www.percona.com/ppc2009/PPC2009_Gearman.pdf">Return of Gearman</a> – by Eric Day – Gearman is a “manager” server, assigning work to other available boxes, and coordinating the work between clients and workers (servers), so that clients can be unaware of the server pool, and send their requests directly to Gearman. Introducing this extra tier allows then for scaling out the server pool. Gearman also has a variety of native clients and fast protocols (<a href="http://www.oddments.org/?p=55">few more presentations from Eric Day</a>).      <br /><a href="http://www.moskalyuk.com/blog/wp-content/uploads/image5.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Simple Gearman Cluster" border="0" alt="Simple Gearman Cluster" src="http://www.moskalyuk.com/blog/wp-content/uploads/image-thumb5.png" width="644" height="437" /></a> </li>
<li><a href="http://wiki.github.com/stubbornella/oocss">Object-Oriented CSS</a> – Nicole Sullivan presented an overview of the project. Contrary to the advertised name, it’s not a project to make CSS behave <a href="http://www.zazzle.com/css_is_awesome_mug-168716435071981928">as expected</a>, but more of a framework to ensure the same behavior of various grids, templates and modules across different browsers.</li>
<li><a href="http://www.percona.com/ppc2009/PPC2009_Fighting_MySQL_Replication_Lag.pdf">Fighting MySQL replication lag</a> – from Peter Zaitsev from Percona. Some pretty useful tips, such as running heavy-duty jobs (ALTER TABLE) directly on the slaves, and reconsidering hardware options for slaves.</li>
<li><a href="http://www.percona.com/ppc2009/PPC2009_scaling_with_postgres.pdf">Scaling with Postgres</a> – from Robert Treat – I was surprised at the quantity and quality of Postgres presentations at Percona conference. Having never dealt with Postgres in production, I don’t really have any good opinions on the presentations, but Robert’s slides provide a good deal of gotchas when scaling Postgres.</li>
<li><a href="http://www.percona.com/ppc2009/PPC2009_mySQL_2009_speakerV6.pdf">Balanced Patricia Tries</a> – Moshe Shadmon from ScaleDB – a good overview of ScaleDB, where it’s useful, and how it uses tries. It’s an interesting proprietary storage engine.</li>
<li>Working with disk arrays – by Paul Tuckfield – first DBA at YouTube, and also first DBA at Paypal.</li>
<li><a href="http://www.percona.com/ppc2009/PPC2009_Tungsten_Proxy_Architectures.pdf">Using proxy architectures</a> – by Robert Hodges – was a pretty in-depth look at proxy architectures and some pitfalls.</li>
<li><a href="http://ebergen.net/emt_new.ppt">EMT Performance Monitoring</a> – from my former colleague at Yahoo! Eric Bergen, now at Proven Scaling – EMT is a script for data collection and aggregation that Proven Scaling found useful to have on their clients’ boxes to get up-to-the-minute view of what exactly happened to the machine right before collapsing.</li>
<li><a href="http://www.percona.com/ppc2009/PPC2009_percona_proactive.pdf">Proactive Operational Measures</a> – from Nicklas Westerlund and Augusto Bott – more like an overview of what could potentially go wrong when you’re tasked with the operations side of things.</li>
</ul>
<p>I didn’t go to presentations about <a href="http://www.percona.com/ppc2009/PPC2009_CouchDB_In_20_Minutes.pdf">CouchDB</a>, <a href="http://www.percona.com/ppc2009/PPC2009_amazon_cloud_recipes.pdf">Amazon cloud recipes</a>, and <a href="http://www.percona.com/ppc2009/PPC2009_Schooner_Percona_Presentation.pdf">exploring new hardware</a> (flash memory, multi-core processors) for database servers, but glad to see the authors posting the content of those.</p>
<p>Second day of Percona Conference:</p>
<ul>
<li><a href="http://www.percona.com/ppc2009/PPC2009_Disruptive_Open_Source.pdf">Disruptive innovations in open source</a> – or where do we go from here in regards to MySQL from Baron Schwartz of Percona</li>
<li><a href="http://www.percona.com/ppc2009/PPC2009_Performance_Instrumentation.pdf">Performance instrumention</a> – from Cary Millsap – has some pretty good stories even if you know nothing about databases. Such as: don’t ever ask people what the most common performance problems are, since then you’re likely to be led astray. Manuals are very likely to suggest One True Solution for any performance problems, but if you flip through the pages, you will find out there are many One True Solutions to similar sounding problems. Optimization of subsystems might still be useless, when the process on top is broken and un-optimizable.</li>
<li>Pushing the envelope – by Don MakAskill of SmugMug – Don has to store pretty large amounts of data (raw photos in tens of megapixels) for paying clients, and the presentation covered SmugMug experience.</li>
<li><a href="http://www.percona.com/ppc2009/PPC2009_Life_of_a_dirty_pageInnoDB_disk_IO.pdf">Internals of InnoDB disk I/O</a> by Mark Callaghan of Google (<a href="http://mysqlha.blogspot.com/2009/04/slides-for-mysql-user-conference-2009.html">slides are posted on his blog</a>)</li>
<li><a href="http://www.percona.com/ppc2009/PPC2009_hive_percona_2009_v8.pdf">Hive – distributed data warehousing at Facebook</a> – Hive has been open-sourced by my employer, and it’s a pretty useful layer if your data lives in Hadoop, but you cannot get everyone at the company to run map/reduce jobs. Ashish’s and Prasad’s presentations provides an overview of what Hive is. It’s also one of the few Facebook projects written in Java.</li>
<li><a href="http://www.percona.com/ppc2009/PPC2009_BBPostgres.pdf">Multi-terabyte install of Postgres</a> – pretty impressive from Theo Schlossnagle</li>
<li><a href="http://www.percona.com/ppc2009/PPC2009_mysql_pagination.pdf">Efficient pagination</a> from Surat Bhati of Yahoo! – every Web developer probably dreads the moment when the pagination code generates something to the extent of SELECT * FROM images LIMIT 1000000,10. Yeah, it’s very unlikely the user will actually browse past the first million images, and Surat’s presentation primarily dealt with the ways of building interfaces around avoiding such queries. Spoiler alert: use Previous and Next, don’t link pages directly, most of the users don’t care about exact counts, and are perfectly fine with seeing “thousands” and “millions”, not “Comments 13,300 – 13,400 of 15,635,611”</li>
<li><a href="http://www.percona.com/ppc2009/PPC2009_Boring_MySQL.pdf">High performance MySQL on a limited hardware budget</a> from Percona</li>
</ul>
<p>I didn’t see: <a href="http://www.percona.com/ppc2009/PPC2009_Hypertable.pdf">Hypertable</a>, <a href="http://www.percona.com/ppc2009/PPC2009_PostgreSQL_Trees.pdf">PostgreSQL trees</a>, Zawodny’s <a href="http://www.percona.com/ppc2009/PPC2009_craigslist_search.pdf">search at Craigslist</a>, <a href="http://www.percona.com/ppc2009/PPC2009_Innodb_Performance_Tuning.pdf">InnoDB tuning</a>, <a href="http://www.percona.com/ppc2009/PPC2009_Ideal_Architecture.pdf">common mistakes</a>, <a href="http://www.percona.com/ppc2009/PPC2009_non_disruptive_backups.pdf">non-disruptive backups</a>, <a href="http://www.percona.com/ppc2009/PPC2009_erlang_scalability.pdf">high-performance Erlang</a>, and <a href="http://www.percona.com/ppc2009/PPC2009-MySQL-Replication-Getting-The-Most-From-Slaves.pdf">tuning MySQL replication</a>, but thankfully those are online.</p>
<p>A few more cool things: MySQL User Conference <a href="http://mysqlconf.blip.tv/posts?view=archive&amp;nsfw=dc">has videos of selected presentations posted at blip.tv</a>, I didn’t watch all, but started wathing <a href="http://mysqlconf.blip.tv/file/2037101/">Don MakAskills’s on SmugMug Tale</a>, and since he didn’t post the slides, that’s the best way to get his presentation. There’s also <a href="http://www.mysqlconf.com/mysql2009/public/schedule/proceedings">a full range of presentations from MySQL Conference 2009 available at the conference site</a>.</p>
<p>Jeremy Zawodny posted <a href="http://jeremy.zawodny.com/blog/archives/011114.html">MySQL and Search at Craigslist</a> on SlideShare, they’re a Sphinx shop, going from 25 MySQL MyISAM FULLTEXT boxes to 10 Sphinx boxes:</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:d49ee152-8235-4d4a-8dfb-b05d49519534" class="wlWriterEditableSmartContent">
<div><img style="visibility:hidden;width:0px;height:0px;" border="0" width="425" height="355" src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyNDA5ODcxNzc*MjQmcHQ9MTI*MDk4NzE4MDg*NiZwPTEwMTkxJmQ9c3NfZW1iZWQmZz*yJnQ9Jm89Njc2MGYxMTc3YmI4NDZhOGExNTYzZThjZDZmNDQ5ZDcmb2Y9MA==.gif" />
<div style="width:425px;text-align:left" id="__ss_1357206"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/jzawodn/mysql-and-search-at-craigslist?type=presentation" title="MySQL And Search At Craigslist">MySQL And Search At Craigslist</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mysql-and-search-at-craigslist-090428093505-phpapp01&amp;stripped_title=mysql-and-search-at-craigslist" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mysql-and-search-at-craigslist-090428093505-phpapp01&amp;stripped_title=mysql-and-search-at-craigslist" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/jzawodn">jzawodn</a>.</div>
</div>
</div>
</div>
<p>Giuseppe Maxia posted presentation on MySQL 5.1 partitions:</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:7e41dbe2-9ba5-4cf3-973c-cdf98f8ae6de" class="wlWriterEditableSmartContent">
<div>
<div style="width:425px;text-align:left" id="__ss_1351200"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/datacharmer/boost-performance-with-mysql-51-partitions?type=powerpoint" title="Boost performance with MySQL 5.1 partitions">Boost performance with MySQL 5.1 partitions</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=partitionsperformance-090427095426-phpapp02&amp;stripped_title=boost-performance-with-mysql-51-partitions" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=partitionsperformance-090427095426-phpapp02&amp;stripped_title=boost-performance-with-mysql-51-partitions" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/datacharmer">Giuseppe Maxia</a>.</div>
</div>
</div>
</div>
<p>Robert Hodges <a href="http://scale-out-blog.blogspot.com/2009/04/mysql-conference-impressions-and-slides.html">posted slides</a> on Tungsten SQL Router, Tungsten replication and using Tungsten with RightScale.</p>
<p>Kazuho Oku shared experience on building a real-time stats service on top of MySQL (Pathtraq is one of the largest in Japan):</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:2dbae996-ea08-4d42-b4dd-6550b5ad59ab" class="wlWriterEditableSmartContent">
<div><img style="visibility:hidden;width:0px;height:0px;" border="0" width="425" height="355" src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyNDA5ODc1MTMwNDImcHQ9MTI*MDk4NzUxODA*MiZwPTEwMTkxJmQ9c3NfZW1iZWQmZz*yJnQ9Jm89Njc2MGYxMTc3YmI4NDZhOGExNTYzZThjZDZmNDQ5ZDcmb2Y9MA==.gif" />
<div style="width:425px;text-align:left" id="__ss_1335786"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/kazuho/running-a-realtime-stats-service-on-mysql?type=presentation" title="Running a Realtime Stats Service on MySQL">Running a Realtime Stats Service on MySQL</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=pathtraq-mysqlcon09-2-090423235517-phpapp01&amp;stripped_title=running-a-realtime-stats-service-on-mysql" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=pathtraq-mysqlcon09-2-090423235517-phpapp01&amp;stripped_title=running-a-realtime-stats-service-on-mysql" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/kazuho">kazuho</a>.</div>
</div>
</div>
</div>
<p>as well as slides on building a reliable message queue service, Q4M:</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:6b9518df-164b-4d4b-8434-2e28a1fa9a15" class="wlWriterEditableSmartContent">
<div><img style="visibility:hidden;width:0px;height:0px;" border="0" width="425" height="355" src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyNDA5ODc1OTAxMzgmcHQ9MTI*MDk4NzU5Mjc*NyZwPTEwMTkxJmQ9c3NfZW1iZWQmZz*yJnQ9Jm89Njc2MGYxMTc3YmI4NDZhOGExNTYzZThjZDZmNDQ5ZDcmb2Y9MA==.gif" />
<div style="width:425px;text-align:left" id="__ss_1330398"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/kazuho/using-q4m-a-message-queue-storage-engine-for-mysql?type=powerpoint" title="Using Q4M - a message queue storage engine for MySQL">Using Q4M &#8211; a message queue storage engine for MySQL</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=q4m-mysqlcon09-090422213727-phpapp01&amp;stripped_title=using-q4m-a-message-queue-storage-engine-for-mysql" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=q4m-mysqlcon09-090422213727-phpapp01&amp;stripped_title=using-q4m-a-message-queue-storage-engine-for-mysql" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/kazuho">kazuho</a>.</div>
</div>
</div>
</div>
<p>At MySQL Conference, Anders Karlsson did a talk on using libmysqld inside your application:</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:ea92a481-1083-47f6-b4e7-2cce4561ef98" class="wlWriterEditableSmartContent">
<div>
<div style="width:425px;text-align:left" id="__ss_1355791"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/papablues/libmysqld-introduction?type=presentation" title="Libmysqld Introduction">Libmysqld Introduction</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=libmysqldintroduction-090428040339-phpapp01&amp;stripped_title=libmysqld-introduction" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=libmysqldintroduction-090428040339-phpapp01&amp;stripped_title=libmysqld-introduction" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/papablues">papablues</a>.</div>
</div>
</div>
</div>
<p>MySQL High Availability presentation from MySQL and bwin games:</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:f5e278ee-bac1-4504-b3e7-6d7d548a1677" class="wlWriterEditableSmartContent">
<div>
<div style="width:425px;text-align:left" id="__ss_1355841"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/papablues/mysql-ha-presentation?type=presentation" title="MySQL HA Presentation">MySQL HA Presentation</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mysqluc2009hapresentationrk3-1-090428041740-phpapp01&amp;stripped_title=mysql-ha-presentation" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mysqluc2009hapresentationrk3-1-090428041740-phpapp01&amp;stripped_title=mysql-ha-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/papablues">papablues</a>.</div>
</div>
</div>
</div>
<p>MySQL 5.1 Event Scheduler:</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:598c9fc5-cd99-444f-b264-b76314714440" class="wlWriterEditableSmartContent">
<div>
<div style="width:425px;text-align:left" id="__ss_1344159"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/datacharmer/mysql-event-scheduler-1344159?type=presentation" title="MySQL event scheduler">MySQL event scheduler</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mysqluc2009eventscheduler-090426125443-phpapp02&amp;stripped_title=mysql-event-scheduler-1344159" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mysqluc2009eventscheduler-090426125443-phpapp02&amp;stripped_title=mysql-event-scheduler-1344159" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/datacharmer">Giuseppe Maxia</a>.</div>
</div>
</div>
</div>
<p>Running multiple MySQL servers on one box:</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:f5379822-b2f5-4294-b758-fe21cef522b8" class="wlWriterEditableSmartContent">
<div>
<div style="width:425px;text-align:left" id="__ss_1344233"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/datacharmer/mysql-sandbox-3?type=presentation" title="MySQL Sandbox 3">MySQL Sandbox 3</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=sandbox30-090426131841-phpapp01&amp;stripped_title=mysql-sandbox-3" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=sandbox30-090426131841-phpapp01&amp;stripped_title=mysql-sandbox-3" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/datacharmer">Giuseppe Maxia</a>.</div>
</div>
</div>
</div>
<p><a href="http://blogs.sun.com/kay/resource/slides/AQMMP.pdf">MySQL query manipulation</a> slides <a href="http://blogs.sun.com/kay/entry/slides_from_advanced_query_manipulation">from Kay Roepke</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moskalyuk.com/blog/notes-from-percona-performance-conference/1622/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.moskalyuk.com/blog/notes-from-percona-performance-conference/1622</feedburner:origLink></item>
		<item>
		<title>Quick CSS-based grids with Blueprint CSS</title>
		<link>http://feedproxy.google.com/~r/AlexMoskalyukOnline/~3/ylZAsrjuAMI/1608</link>
		<comments>http://www.moskalyuk.com/blog/quick-css-based-grids-with-blueprint-css/1608#comments</comments>
		<pubDate>Wed, 01 Apr 2009 02:19:12 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.moskalyuk.com/blog/quick-css-based-grids-with-blueprint-css/1608</guid>
		<description>Blueprint CSS is a pretty quick way to design complex grids with CSS. The idea is basic – include the necessary styles, and you get a container for your site with fixed with of 960 px. So it’s not a universal solution, but at least if you’re comfortable with the width of 960, Blueprint will [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.blueprintcss.org/">Blueprint CSS</a> is a pretty quick way to design complex grids with CSS. The idea is basic – include the necessary styles, and you get a container for your site with fixed with of 960 px. So it’s not a universal solution, but at least if you’re comfortable with the width of 960, Blueprint will prevent you from <a href="http://www.giveupandusetables.com/">giving up and using tables</a>.</p>
<p>There are just 3 compressed CSS files to include, the third one is only for IE support.</p>
<div class="css" style="font-family:monospace;color: #006; border: 1px solid #d0d0d0; background-color: #f0f0f0;">&lt;link rel<span class="sy0">=</span><span class="st0">&#8220;stylesheet&#8221;</span> href<span class="sy0">=</span><span class="st0">&#8220;css/blueprint/screen.css&#8221;</span> type<span class="sy0">=</span><span class="st0">&#8220;text/css&#8221;</span> media<span class="sy0">=</span><span class="st0">&#8220;screen, projection&#8221;</span><span class="sy0">&gt;</span><br />
&lt;link rel<span class="sy0">=</span><span class="st0">&#8220;stylesheet&#8221;</span> href<span class="sy0">=</span><span class="st0">&#8220;css/blueprint/print.css&#8221;</span> type<span class="sy0">=</span><span class="st0">&#8220;text/css&#8221;</span> media<span class="sy0">=</span><span class="st0">&#8220;print&#8221;</span><span class="sy0">&gt;</span><br />
&lt;!&#8211;<span class="br0">[</span>if IE<span class="br0">]</span><span class="sy0">&gt;<br />
  &lt;link rel<span class="sy0">=</span><span class="st0">&#8220;stylesheet&#8221;</span> href<span class="sy0">=</span><span class="st0">&#8220;css/blueprint/ie.css&#8221;</span> type<span class="sy0">=</span><span class="st0">&#8220;text/css&#8221;</span> media<span class="sy0">=</span><span class="st0">&#8220;screen, projection&#8221;</span><span class="sy0">&gt;<br />
</span>&lt;!<span class="br0">[</span>endif<span class="br0">]</span>&#8211;<span class="sy0">&gt;</span></span></div>
<p>Then a simple container div will give you a centered area 960 pixels wide:</p>
<div class="php" style="font-family:monospace;color: #006; border: 1px solid #d0d0d0; background-color: #f0f0f0;">
<ol>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>div <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&#8220;container&#8221;</span><span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">  I am a container<span class="sy0">.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>
<p>You can attach any of your own styles to that container div, so I had an extra class that painted the container silver for better visualization.<a href="http://www.moskalyuk.com/blog/wp-content/uploads/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Blueprint CSS example - a single container" src="http://www.moskalyuk.com/blog/wp-content/uploads/image-thumb.png" border="0" alt="Blueprint CSS example - a single container" width="644" height="46" /></a></p>
<p>Let&#8217;s say we are going to need a header, a footer, a narrow right sidebar, a narrow left sidebar, and wide area in the center for content. Blueprint provides you with a bunch of classes ranging from <strong>span-1</strong> for 1 column to <strong>span-24</strong> for full 100% width. So for a full-width header and footer we create the following markup:</p>
<div class="php" style="font-family:monospace;color: #006; border: 1px solid #d0d0d0; background-color: #f0f0f0;"><span class="sy0">&lt;</span>div <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&#8220;container&#8221;</span><span class="sy0">&gt;</span><br />
   <span class="sy0">&lt;!&#8211;</span> <a href="http://www.php.net/header"><span class="kw3">header</span></a> <span class="sy0">&#8211;&gt;</span><br />
   <span class="sy0">&lt;</span>div <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&#8220;span-24 header&#8221;</span><span class="sy0">&gt;</span><br />
   <span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span><br />
   <span class="sy0">&lt;!&#8211;</span> footer <span class="sy0">&#8211;&gt;</span><br />
   <span class="sy0">&lt;</span>div <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&#8220;span-24 footer&#8221;</span><span class="sy0">&gt;</span><br />
   <span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span><br />
<span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span></div>
<p>What about the content area with 2 sidebars? With Blueprint CSS, your spans on one row have to equal to 24, so we can either do 1-22-1, or 2-20-2, or 3-18-3, and so on. 8-8-8 would get us a page equally divided into three divs. Let’s go the 2-20-2 route:</p>
<div class="css" style="font-family:monospace;color: #006; border: 1px solid #d0d0d0; background-color: #f0f0f0;">&lt;div class<span class="sy0">=</span><span class="st0">&#8220;container&#8221;</span><span class="sy0">&gt;</span>  &lt;!&#8211; header &#8211;<span class="sy0">&gt;</span> </p>
<p>  &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-24 header&#8221;</span><span class="sy0">&gt;</span>Header &lt;/div<span class="sy0">&gt;</span></p>
<p>  &lt;!&#8211; <span class="kw1">content</span> &#8211;<span class="sy0">&gt;</span></p>
<p>  &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-2&#8243;</span><span class="sy0">&gt;</span>I am the <span class="kw1">left</span> column&lt;/div<span class="sy0">&gt;</span></p>
<p>  &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-20&#8243;</span><span class="sy0">&gt;</span>I am the main <span class="kw1">content</span> area&lt;/div<span class="sy0">&gt;</span></p>
<p>  &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-2 last&#8221;</span><span class="sy0">&gt;</span>I am the <span class="kw1">right</span> column&lt;/div<span class="sy0">&gt;</span></p>
<p>  &lt;!&#8211; footer &#8211;<span class="sy0">&gt;</span></p>
<p>  &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-24 footer&#8221;</span><span class="sy0">&gt;</span>Footer&lt;/div<span class="sy0">&gt;</span></p>
<p>&lt;/div<span class="sy0">&gt;</span></div>
<p>There&#8217;s another nuance to the markup above – the right sidebar has to have the last class. If I add some additional coloring to those divs, here’s a sample layout I’ve built with the code above:</p>
<p><a href="http://www.moskalyuk.com/blog/wp-content/uploads/image1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Three - column layout with Blueprint CSS" src="http://www.moskalyuk.com/blog/wp-content/uploads/image-thumb1.png" border="0" alt="Three - column layout with Blueprint CSS" width="644" height="63" /></a>But wait, there’s more. You can host divs inside divs without worrying about them overflowing. Let’s say we wanted to make the right column wider, up to 10 columns, which would make the central column become a <strong>span-12</strong>. And inside that right sidebar that’s a span-10 we wanted to host 2 divs per line, span-5 each, perhaps displaying an image, or a square ad. You can host two <strong>span-5</strong> divs inside a <strong>span-10</strong>, or even a <strong>span-10</strong> ad inside a <strong>span-10</strong>:</p>
<div class="css" style="font-family:monospace;color: #006; border: 1px solid #d0d0d0; background-color: #f0f0f0;">&lt;div class<span class="sy0">=</span><span class="st0">&#8220;container&#8221;</span><span class="sy0">&gt;</span><br />
   &lt;!&#8211; header &#8211;<span class="sy0">&gt;</span><br />
   &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-24 header&#8221;</span><span class="sy0">&gt;</span>Header&lt;/div<span class="sy0">&gt;</span><br />
 <br />
  &lt;!&#8211; <span class="kw1">content</span> &#8211;<span class="sy0">&gt;</span><br />
   &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-2&#8243;</span><span class="sy0">&gt;</span>I am the <span class="kw1">left</span> column&lt;/div<span class="sy0">&gt;</span><br />
   &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-12&#8243;</span><span class="sy0">&gt;</span>I am the main <span class="kw1">content</span> area&lt;/div<span class="sy0">&gt;</span><br />
   &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-10 last&#8221;</span><span class="sy0">&gt;</span><br />
     &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-10 last&#8221;</span><span class="sy0">&gt;</span>Ads&lt;/div<span class="sy0">&gt;</span><br />
     &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-5&#8243;</span><span class="sy0">&gt;</span>I am some kind of ad&lt;/div<span class="sy0">&gt;</span><br />
     &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-5 last&#8221;</span><span class="sy0">&gt;</span>I am some kind of ad&lt;/div<span class="sy0">&gt;</span><br />
     &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-5&#8243;</span><span class="sy0">&gt;</span>I am some kind of ad&lt;/div<span class="sy0">&gt;</span><br />
     &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-5 last&#8221;</span><span class="sy0">&gt;</span>I am some kind of ad&lt;/div<span class="sy0">&gt;</span><br />
     &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-5&#8243;</span><span class="sy0">&gt;</span>I am some kind of ad&lt;/div<span class="sy0">&gt;</span><br />
     &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-5 last&#8221;</span><span class="sy0">&gt;</span>I am some kind of ad&lt;/div<span class="sy0">&gt;</span><br />
     &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-5&#8243;</span><span class="sy0">&gt;</span>I am some kind of ad&lt;/div<span class="sy0">&gt;</span><br />
     &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-5 last&#8221;</span><span class="sy0">&gt;</span>I am some kind of ad&lt;/div<span class="sy0">&gt;</span><br />
   &lt;/div<span class="sy0">&gt;</span></p>
<p>  &lt;!&#8211; footer &#8211;<span class="sy0">&gt;</span><br />
   &lt;div class<span class="sy0">=</span><span class="st0">&#8220;span-24 footer&#8221;</span><span class="sy0">&gt;</span>Footer&lt;/div<span class="sy0">&gt;</span><br />
&lt;/div<span class="sy0">&gt;</span></div>
<p>With some colorful background we get this grid:<br />
<a href="http://www.moskalyuk.com/blog/wp-content/uploads/image2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Alternating ads in a sidebar with Blueprint CSS" src="http://www.moskalyuk.com/blog/wp-content/uploads/image-thumb2.png" border="0" alt="Alternating ads in a sidebar with Blueprint CSS" width="644" height="98" /></a></p>
<p>There’s a <a href="http://wiki.github.com/joshuaclayton/blueprint-css/quick-start-tutorial">pretty good quickstart tutorial</a> on Blueprint github Wiki page. There’s also <a href="http://www.blueprintcss.org/tests/parts/sample.html">an example page</a> that implements a somewhat complicated grid:</p>
<p><a href="http://www.moskalyuk.com/blog/wp-content/uploads/image3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="A sample page grid with Blueprint CSS" src="http://www.moskalyuk.com/blog/wp-content/uploads/image-thumb3.png" border="0" alt="A sample page grid with Blueprint CSS" width="448" height="484" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.moskalyuk.com/blog/quick-css-based-grids-with-blueprint-css/1608/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.moskalyuk.com/blog/quick-css-based-grids-with-blueprint-css/1608</feedburner:origLink></item>
		<item>
		<title>Startup2Startup dinner with Jeffrey Veen</title>
		<link>http://feedproxy.google.com/~r/AlexMoskalyukOnline/~3/Hqzo7mZ7WwU/1594</link>
		<comments>http://www.moskalyuk.com/blog/startup2startup-dinner-with-jeffrey-veen/1594#comments</comments>
		<pubDate>Fri, 27 Feb 2009 07:34:50 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Silicon Valley]]></category>
		<category><![CDATA[Startups]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.moskalyuk.com/blog/startup2startup-dinner-with-jeffrey-veen/1594</guid>
		<description>Jeffrey Veen of Adaptive Path, MeasureMap, and now Google Analytics spoke at Startup2Startup dinner tonight. He covered startup design, and had a pretty good strategy as well as warnings. One of the warnings he had was on the current trend of copying the leader of the pack, the way you see iPhone UI replicated in [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.veen.com/jeff/index.html">Jeffrey Veen</a> of Adaptive Path, MeasureMap, and now Google Analytics <a href="http://startup2startup.com/2009/02/12/feb26-jeffveen/">spoke</a> at <a href="http://startup2startup.com/">Startup2Startup</a> dinner tonight. He covered startup design, and had a pretty good strategy as well as warnings. One of the warnings he had was on the current trend of copying the leader of the pack, the way you see iPhone UI replicated in newer models from Samsung and LG. Without real knowledge and understanding of <strong>why</strong> certain features are there it’s very hard to get the product right, even if the outer shell looks very similar to the successful competitor’s product.</p>
<p>A lot of the copying has to do with the cargo cult of the believing that if you have the right components of somebody else’s successful design in place, you’ll get the core of the product right as well, or at least fool the users into treating your product with the same respect as competitors’.</p>
<p>Veen also <a href="http://dshen.posterous.com/jeff-veen-at-startup2startup">discussed</a> the creative process behind <a href="http://wikirank.com/">WikiRank</a>, his brand new, and yet unlaunched, project. Process might be a strong word for the strategy of rapid prototyping, which is not that expensive to do nowadays with Web products. Instead of spending time on designer mocks in high resolution, where people get distracted into discussing the qualities of the graphic design, focus on building wireframes and core pages, iterate as necessary, perhaps with pair coding of one person doing the front-end, and another one building out the model on the back-end.</p>
<p>Recommendations for testing on the budget? Projects like <a href="http://www.usertesting.com/">UserTesting.com</a> are pretty effective with getting the users to your site, and getting the videos back to you, so you can test out feature by feature, and do things like A/B testing in pretty short time spans. Inviting the users in person via Craigslist and paying them in gift cards also worked out, but don’t have designers in the same room, as they get emotionally attached to the tested product.</p>
<p>The video of this talk is not (yet) available. <a href="http://500hats.typepad.com/">Dave McClure</a> might announce when it gets posted, but if you never heard Jeffrey Veen presented, here’s a fairly recent video of his talk from UX Week conference.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:921dbe5f-cca9-4b1c-b7c6-e86e10248c40" class="wlWriterEditableSmartContent">
<div><object width="400" height="302"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3250006&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=3250006&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="302"></embed></object><br /><a href="http://vimeo.com/3250006">Jeffrey Veen | UX Week 2008 | Adaptive Path</a> from <a href="http://vimeo.com/adaptivepath">Adaptive Path</a> on <a href="http://vimeo.com">Vimeo</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.moskalyuk.com/blog/startup2startup-dinner-with-jeffrey-veen/1594/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.moskalyuk.com/blog/startup2startup-dinner-with-jeffrey-veen/1594</feedburner:origLink></item>
		<item>
		<title>Why thinking in analogies is dangerous</title>
		<link>http://feedproxy.google.com/~r/AlexMoskalyukOnline/~3/rQw7kQQYHXY/1587</link>
		<comments>http://www.moskalyuk.com/blog/why-thinking-in-analogies-is-dangerous/1587#comments</comments>
		<pubDate>Wed, 26 Nov 2008 09:19:16 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[People]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Science]]></category>

		<guid isPermaLink="false">http://www.moskalyuk.com/blog/why-thinking-in-analogies-is-dangerous/1587</guid>
		<description>There’s a provocative article in the October issue of Fast Company magazine that’s adapted from the book Iconoclast: A Neuroscientist Reveals How to Think Differently by Gregory Burns. In it, the author explores the process of creativity by analyzing the brain activity that’s happening when a truly creative or inventive thought hits the brain. Some [...]</description>
			<content:encoded><![CDATA[<p>There’s a <a href="http://www.fastcompany.com/magazine/129/rewiring-the-creative-mind.html?page=0,0">provocative article</a> in the October issue of <a href="http://www.fastcompany.com">Fast Company</a> magazine that’s adapted from the book <a href="https://www.amazon.com/dp/1422115011?tag=moskalyukcom-20&amp;camp=0&amp;creative=0&amp;linkCode=as4&amp;creativeASIN=1422115011&amp;adid=0X5CGR3MTX43JJ80ATM7&amp;">Iconoclast: A Neuroscientist Reveals How to Think Differently</a> by Gregory Burns. In it, the author explores the process of creativity by analyzing the brain activity that’s happening when a truly creative or inventive thought hits the brain. Some bad news:</p>
<ol>
<li>Offsites and scheduled brainstorms are ineffective, as the brain has time to prepare, and it becomes a routine procedure.</li>
<li>Analogies are brain’s shortcuts designed to avoid creative process.</li>
</ol>
<p>The second point is the most interesting. Lazy by nature, human brain prefers to use analogies instead of starting a hardcore creative thinking session. Analogies are fast and convenient, the brain knows how to deal with them, and hence always tries to use them up before coming up with anything truly original.</p>
<blockquote><p>Fortunately, the networks that govern both perception and imagination can be reprogrammed. By deploying your attention differently, the frontal cortex, which contains rules for decision making, can reconfigure neural networks so that you can see things that you didn&#8217;t see before. You need a novel stimulus &#8212; either a new piece of information or an unfamiliar environment &#8211; to jolt attentional systems awake. The more radical the change, the greater the likelihood of fresh insights.</p>
</blockquote>
<p>The article (I haven’t read the book) then lists a few examples of innovative processes that happened outside of the usual environments, thus leading to striking discoveries.</p>
<p>It seems that software engineering, an occupation that is usually connected with creative spark among most observers, is most of the time an exercise of relying on analogies. When you’re in college, you go through data structures and algorithms course, which teaches the generally accepted ways of running a queue or generating a number of permutations from a set of numbers. Later on, in the field, we frequently refer to design patterns, frameworks or best practices to bring previously acquired analogies into the new project we’re working on.</p>
<p>Analogy usage is incentivized – most of the software engineers would expect higher pay for more years of experience, which implies either a better ability to project analogies onto existing project (senior engineers which code faster) or a wider exposure to various projects in the past (senior engineers who have architectural knowledge about a variety of projects).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moskalyuk.com/blog/why-thinking-in-analogies-is-dangerous/1587/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.moskalyuk.com/blog/why-thinking-in-analogies-is-dangerous/1587</feedburner:origLink></item>
		<item>
		<title>Malcolm Gladwell on Outliers</title>
		<link>http://feedproxy.google.com/~r/AlexMoskalyukOnline/~3/H1YRa_A75u8/1586</link>
		<comments>http://www.moskalyuk.com/blog/malcolm-gladwell-on-outliers/1586#comments</comments>
		<pubDate>Sun, 16 Nov 2008 05:48:22 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[People]]></category>

		<guid isPermaLink="false">http://www.moskalyuk.com/blog/malcolm-gladwell-on-outliers/1586</guid>
		<description>I like Malcolm Gladwell, but after reading Blink I found that his ideas, usually written out in hundred-page books, can be summed up in a few paragraphs. So if you’re looking for a short summary of his new book, Outliers: The Story of Success, look no further than the excerpt published in this week’s Guardian. [...]</description>
			<content:encoded><![CDATA[<p>I like Malcolm Gladwell, but after reading <a href="https://www.amazon.com/dp/B001G60FTI?tag=moskalyukcom-20&amp;camp=0&amp;creative=0&amp;linkCode=as4&amp;creativeASIN=B001G60FTI&amp;adid=1XK53BPRY7K4DAFZE97G&amp;">Blink</a> I found that his ideas, usually written out in hundred-page books, can be summed up in a few paragraphs. So if you’re looking for a short summary of his new book, <a href="https://www.amazon.com/dp/0316017922?tag=moskalyukcom-20&amp;camp=0&amp;creative=0&amp;linkCode=as4&amp;creativeASIN=0316017922&amp;adid=05ZSZHJM3JKHC0MTEP4S&amp;">Outliers: The Story of Success</a>, look no further than <a href="http://www.guardian.co.uk/books/2008/nov/15/malcolm-gladwell-outliers-extract">the excerpt published in this week’s Guardian</a>. In a nutshell, someone practicing a certain craft (computer programming, violin, sports) for more than 10,000 hours&#160; becomes do adept at it, that we mistakenly look for some innate abilities and call it talent.</p>
<p>There’s also the element of sheer luck of being at the right place at the right time that amounts to success – Bill Gates with access to computer programming resources and kits at an early age had a certain advantage over someone in Africa, who perhaps had the same business acumen, but did not have the resources readily accessible to become one of the world’s wealthiest businessmen. There’s <a href="http://money.cnn.com/2008/11/11/news/companies/secretsofsuccess_gladwell.fortune/index.htm">an interview with Gladwell on CNN Money</a>:</p>
<blockquote><p>Bill Gates has this utterly extraordinary series of opportunities. When he&#8217;s 13, it&#8217;s 1969. He shows up at his private school in Seattle, and they have a computer room with a teletype machine that is hooked up to a mainframe downtown. Anyone who was playing on the teletype machine could do real-time programming. Ninety-nine percent of the universities in America in 1969 did not have that.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.moskalyuk.com/blog/malcolm-gladwell-on-outliers/1586/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.moskalyuk.com/blog/malcolm-gladwell-on-outliers/1586</feedburner:origLink></item>
		<item>
		<title>Startup2Startup dinner with Automattic</title>
		<link>http://feedproxy.google.com/~r/AlexMoskalyukOnline/~3/KaPrlMkNaTg/1578</link>
		<comments>http://www.moskalyuk.com/blog/startup2startup-dinner-with-automattic/1578#comments</comments>
		<pubDate>Fri, 26 Sep 2008 06:09:50 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Silicon Valley]]></category>
		<category><![CDATA[Startups]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.moskalyuk.com/blog/startup2startup-dinner-with-automattic/1578</guid>
		<description>Matt Mullenweg and Toni Schneider of Automattic spoke today at Startup2Startup dinner in Palo Alto. Automattic runs this interesting model, where WordPress as software is distributed for free under GPL, but WordPress as hosting service is a freemium product. They charge users of the hosted service for some optional extra features, but do not insist [...]</description>
			<content:encoded><![CDATA[<p><a href="http://ma.tt/">Matt Mullenweg</a> and <a href="http://toni.org/">Toni Schneider</a> of Automattic spoke today at <a href="http://startup2startup.com/2008/09/11/sept25-mattmullenweg-tonischneider/">Startup2Startup dinner in Palo Alto</a>. Automattic runs this interesting model, where <a href="http://wordpress.org/">WordPress as software</a> is distributed for free under GPL, but <a href="http://wordpress.com/">WordPress as hosting service</a> is a <a href="http://www.avc.com/a_vc/2006/03/the_freemium_bu.html">freemium</a> product. They charge users of the hosted service for some optional extra features, but do not insist on it. They also display occasional ads on hosted free blogs, as Toni Schneider put it, to the users who are likely to click on them – IE readers arriving from search engines.</p>
<p>Some takeaways:</p>
<ol>
<li>Matt is a great supporter of GPL. Not only from philosophical standpoint, but from practical – it requires people to contribute back, and hence build community. </li>
<li>Don’t hire <strong>all</strong> the contributors, once you have the company started. This will ruin the community effect, as evidenced by MySQL. You also gain outside perspecives by having contributors working for different companies. </li>
<li>By open-sourcing the founders effectively lose the iron grip. Even people who have commit access now have to go through a discussion in bug system. </li>
<li>WordPress benefits greatly fro having all the developers work from home. More time spent with families, more efficient developers, who can take an after-lunch nap. The company is run via IRC channel. </li>
<li>Automattic will even help you with scaling, if you’re a large organization adopting WordPress. You’re unlikely to surpass their scale, and they’ve been where you’re now, so they know what works for scaling out. </li>
<li>Personal relationships matter a lot. So Automattic still has twice-a-year meetings of the entire team. Early developers were all people Matt knew personally – personal connections help out a great bit in a virtual organization. </li>
<li>WordPress really started taking off as open source project with introduction of plugins and themes. It’s easy to develop both, and most of the WordPress installations run roughly 5 plugins, and it’s long-tailish.</li>
<li>WordPress as a project did not do a good job early on maintaining the directlory of plugins and themes. After opening up SVN for plugin developers, the plugin directory got traction. Designers did not quite catch on to SVN, so Automattic had to provide a way to drop a zip file onto the site.</li>
</ol>
<p>Thanks to <a href="http://500hats.typepad.com/">Dave</a> for organizing all this, and I specifically liked the after-dinner table discussion. It’s very structured – 8-10 people at a dinner table, a few VCs, a few entrepreneurs, a few random people, and a moderator. Moderator comes to the dinner with discussion points prepared, and ensures each guest has a chance to speak. After all the structured discussion is out of the way, it’s time for anybody at the table to ask any question, which some entrepreneurs used to gauge interest in their startups and gain feedback on business models. </p>
<p>The dinner table discussions are off the record, so can’t blog about those, but there were some pretty interesting companies – <a href="http://mjam.at/tour/">mjam</a>, <a href="http://getsatisfaction.com/">Get Satisfaction</a>, and others.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moskalyuk.com/blog/startup2startup-dinner-with-automattic/1578/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.moskalyuk.com/blog/startup2startup-dinner-with-automattic/1578</feedburner:origLink></item>
		<item>
		<title>Book review: 13 things that don’t make sense by Michael Brooks</title>
		<link>http://feedproxy.google.com/~r/AlexMoskalyukOnline/~3/M30E-fMiS_w/1570</link>
		<comments>http://www.moskalyuk.com/blog/book-review-13-things-that-dont-make-sense-by-michael-brooks/1570#comments</comments>
		<pubDate>Thu, 28 Aug 2008 06:24:05 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Review]]></category>
		<category><![CDATA[Science]]></category>

		<guid isPermaLink="false">http://www.moskalyuk.com/blog/book-review-13-things-that-dont-make-sense-by-michael-brooks/1570</guid>
		<description>13 things that don&amp;#8217;t make sense by Michael Brooks is a pretty interesting look into the world of scientific discoveries, or lack thereof. Because, you see, there are quite a few commonplace things that we take for granted, but cannot quite explain from the scientific point of view. Sure, you&amp;#8217;ll say, it must be some [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/dp/0385520689?tag=moskalyukcom-20&amp;camp=0&amp;creative=0&amp;linkCode=as1&amp;creativeASIN=0385520689&amp;adid=1SPQQ2E2JSTEMBC2TN6E&amp;"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 0px 5px 5px; border-right-width: 0px" height="114" alt="13 things that dont make sense" src="http://www.moskalyuk.com/blog/wp-content/uploads/2008/08/image.png" width="77" align="right" border="0" /></a> <a href="http://www.amazon.com/dp/0385520689?tag=moskalyukcom-20&amp;camp=0&amp;creative=0&amp;linkCode=as1&amp;creativeASIN=0385520689&amp;adid=1SPQQ2E2JSTEMBC2TN6E&amp;">13 things that don&#8217;t make sense</a> by <strong>Michael Brooks</strong> is a pretty interesting look into the world of scientific discoveries, or lack thereof. Because, you see, there are quite a few commonplace things that we take for granted, but cannot quite explain from the scientific point of view. Sure, you&#8217;ll say, it must be some extra-hard scientific stuff, a formula understandable only by an army of advanced PhDs who spend their lives figuring out these ultra-complicated tasks.</p>
<p>Well, not quite. It turns out that life itself is quite a mystery from the scientific point of view.</p>
<ol>
<li><strong>Life</strong>. In theory life in the universe appeared when electric currents went through the masses of hydrogen, ammonia, water and methane, therefore creating something animate out of a set of inanimate chemicals. In practice, for a few decades the scientists have been trying to achieve a similar effect on a smaller scale, but so far no one has been able to produce the Holy Grail &#8211; turning something lifeless into something that is actually live, such as a single-cell organism. The life itself, it seems, is a scientific anomaly that should not happen in this Universe according to the existing laws of chemistry. </li>
<li><strong>Death</strong>. You&#8217;ve heard it before: two things you cannot avoid in life are death and taxes. Well, this is a very human-centric view of things, as it turns out there&#8217;s a variety of species (most of them vertebrates) that only get better with age. Some turtles, it seems, only get healthier and produce more children with age. Moreover, scientists are aware only of non-natural causes of their deaths &#8211; being run over by a truck or attacked by a bird. Are those turtles immortal, or are we observing just a small stage of their lifecycles (which could eclipse ours by generations)? </li>
<li><strong>Dark matter</strong>. It&#8217;s not embarrassing for scientists to admit they don&#8217;t know something. After all, there are plenty of little details that remain unknown in many branches of science. So not knowing what constitutes dark matter would be an acceptable excuse, if it weren&#8217;t for the fact that <a href="http://en.wikipedia.org/wiki/Dark_matter">dark matter</a> comprises 96% of the Universe. We know that the Universe keeps expanding, but we cannot quite describe how and what happens to the space that used to be compacted previously. Dark matter is the giant elephant in the room in discussions related to astronomy or physics &#8211; we don&#8217;t know what it is, we&#8217;ve never seen it, and only infer its existence, yet roughly speaking it&#8217;s a major ingredient in the Universe we live in. </li>
<li><strong>Varying constants</strong>. Physical constants are warm and fuzzy. We don&#8217;t know why they have the value they have, but we always substitute them into our equations and formulas, relying on decades of scientific research behind us, and the fact that they are, well, constants. However, there&#8217;s a fairly determined group of scientists that is looking into certain scientific constants and finding that their values have changed as the Universe aged. Determined might be an understatement, as anyone willing to travel to Gabon and mess with uranium there is certainly dedicated. What they&#8217;re finding is that the constants describing nuclear reactions were different two billion years ago compared to current constants. </li>
<li><strong>Newton&#8217;s inverse square law</strong>. In 1994 scientists at Los Alamos National Laboratory figured out they had a bug with Pioneer probes. Contrary to the Newton&#8217;s inverse square law, the Pioneers were drifting off course. They hired Slava Turyshev out of Jet Propulsion Lab to investigate the small bug, which was most likely to blame on some contamination or error in Pioneer design. 14 years later the bug still stands unresolved. Together with NASA the scientists have gone through heaps of papers figuring out what could go wrong, and the answer is still up in the air. If unresolved, the Pioneer trajectory might become the first evidence that it&#8217;s time to rethink Newton&#8217;s inverse square law. </li>
<li><strong>Homeopathy</strong>. When it works, you hear all about it. Homeopathy is almost like religion, in the sense that it attracts either staunch believers, or extreme sceptics. The idea of diluting a certain ingredient with copious amounts of water doesn&#8217;t sit well with the majority of chemists, who point out that such small proportions call for a chance of the entire solution being water. Nevertheless, in Brooks&#8217; book there&#8217;s an attempt at the explanation of what might be causing homeopathic effect &#8211; changes in molecular structure of water depending on the chemicals that it&#8217;s been in contact with, even if the chemicals have been filtered out. However, it&#8217;s still an attempt at best, since the scientific experiments that do achieve positive results are generally not reproducible. </li>
<li><strong>Placebo effect</strong>. Perhaps related to the previous thing we don&#8217;t understand, placebo effect has some interesting features. The patient knowing or suspecting that they might be receiving a placebo behaves differently than those without any knowledge. Are we comforted by the sight of people in white robes and our local pharmacist dealing out the regular dose of medication? Or does body start producing entirely different set of hormones with mind suspecting that the recovery process is near. Placebo, if figured out, might become a huge money saver with the current drug prices, and hence attracts scientific research. The only thing missing? A definitive conclusion on the placebo effect. </li>
<li><strong>Free will</strong>. A certain amount of human ideology rests on the idea of free will. So the idea of the body just reacting to some responses outside of the brain is uncomfortable. But picture this. You&#8217;re in bed, it&#8217;s time to get up, yet you want to spend a few more minutes in bed. Your conscious mind is sending the signals for the body to get vertical, and yet at some point, probably between the thoughts of pending shower and commute to work, you get up. The final decision done by something unconscious, something you don&#8217;t really have control over. While your conscious mind can submit an application to this unknown organ and request something happening, the body movements and behavior are triggered by something that is still largely unknown for science. </li>
<li><strong>Cold fusion</strong>. It became one of the most ridiculous scientific ideas to get associated with, and no scientist would touch it nowadays with a 40-foot pole, since it brings the stigma. However, as some point out, peer pressure is pathway to missing out on some potential innovations in the field. What&#8217;s currently reproducible is the effect of cold fusion on a plastic called CR39. Placed by a piece of depleted uranium, CR39 shows similar patterns of radiation as placed into a cold fusion experiment. </li>
<li><strong>Life on Mars</strong>. The Viking probes were declared to contain no evidence of life on Mars. The only person in the room who disagreed with the announcement was a bacteriological researcher, who came up with a clever idea of detecting life (fart reference coming soon). By adding radioactive isotopes to the nutrients fed into the foreign soil, the researchers would get any evidence of carbon-based life to produce gas (there it is), and by the virtue of having the food injected with isotopes, the Geiger counter would go ballistic, and hence you could validate existence of life in the soil, even if other tests came negative. </li>
<li><strong>WOW signal</strong>. One would argue that scientists at SETI (Search for Extra-Terrestrial Intelligence) have a pretty monotonous job. They&#8217;re waiting for a signal on 1420 MHz frequency. Why 1420? That&#8217;s the frequency of hydrogen, the most prevalent element in the Universe, so hopefully those extra-terrestrials will arrive at the same idea when sending the signal. So far no signal has arrived. Except on August 15th, 1977, when the signal came. It was very distinct, and caused Jerry Ehman to write &quot;Wow!&quot; on the margin of the printout. The signal never repeated, and the SETI folks have not heard anything similar since then. </li>
<li><strong>Mimivirus</strong> is an interesting virus that does not seem to affect humans, except for the unique cases, when it actually does. It&#8217;s the virus that fight cancer cells among others, and hence draws a great deal of research attention. </li>
<li><strong>Sex</strong>. If you&#8217;ve read this far, here&#8217;s a bonus entry. Yes, sex is one of those things that scientists do not quite understand (insert a proper nerd joke here). Looking at overall picture, the animal kingdom provides a great variety of alternative means of reproduction, that are much more efficient as far as number of offspring and the quality of gene preservation. A number of reptiles and fish are all-female or all-unisex species, copying themselves for the purposes of reproduction. Moreover, a number of species, like water fleas, can reproduce either sexually or asexually. You&#8217;d think that the species produced through asexual reproduction would be somehow inferior to the ones that appeared as a result of a sexual act, but there&#8217;s no solid scientific data to prove that or the opposite. What remains enigmatic is that if asexual reproduction would provide you with 2x the population compared to sexual (and that leaves out the time and energy spent on finding a mate, taking her to dinners and consequent ring shopping), why didn&#8217;t the entire animal world switch to asexual, as it&#8217;s obviously a more efficient process. </li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.moskalyuk.com/blog/book-review-13-things-that-dont-make-sense-by-michael-brooks/1570/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.moskalyuk.com/blog/book-review-13-things-that-dont-make-sense-by-michael-brooks/1570</feedburner:origLink></item>
		<item>
		<title>Daily deal sites like Woot</title>
		<link>http://feedproxy.google.com/~r/AlexMoskalyukOnline/~3/R02I2_27ZoE/1567</link>
		<comments>http://www.moskalyuk.com/blog/daily-deal-sites-like-woot/1567#comments</comments>
		<pubDate>Sun, 24 Aug 2008 05:11:40 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Money]]></category>

		<guid isPermaLink="false">http://www.moskalyuk.com/blog/?p=1567</guid>
		<description>Woot &amp;#8211; the original deal a day site, now featuring a t-shirt and wine subsections. Yugster BlingDaily JustDeals ThingFling &amp;#8211; make 3 orders with them, and you get free shipping 1 Sale a Day Item Hut Schnoop Steep and Cheap &amp;#8211; mostly clothing Going Today Midnight Box Lunar Loot &amp;#8211; contrary to its name, mainly [...]</description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://www.woot.com/">Woot</a> &#8211; the original deal a day site, now featuring a t-shirt and wine subsections.</li>
<li><a href="http://www.yugster.com/">Yugster</a></li>
<li><a href="https://www.blingdaily.com/">BlingDaily</a></li>
<li><a href="http://justdeals.com/">JustDeals</a></li>
<li><a href="http://www.thingfling.com/home/index.rails">ThingFling</a> &#8211; make 3 orders with them, and you get free shipping</li>
<li><a href="http://www.1saleaday.com/">1 Sale a Day</a></li>
<li><a href="http://itemhut.com/">Item Hut</a></li>
<li><a href="http://www.shnoop.com/">Schnoop</a></li>
<li><a href="http://www.steepandcheap.com/">Steep and Cheap</a> &#8211; mostly clothing</li>
<li><a href="http://www.goingtoday.com/">Going Today</a></li>
<li><a href="http://www.midnightbox.com/">Midnight Box</a></li>
<li><a href="http://www.lunarloot.com/">Lunar Loot</a> &#8211; contrary to its name, mainly features stuff from Earth</li>
<li><a href="http://www.dillyeo.com/">Dillyeo</a> &#8211; you&#8217;d think most of the stuff would involve dill (or parsley), but a quick visit turns up electronic items</li>
<li><a href="http://www.froobi.com/">Froobio</a> &#8211; a few other categories, but by default redirects to &#8220;deal of the day&#8221;</li>
<li><a href="http://www.ihavetohavethat.com/index.php">I have to have that</a> &#8211; on some items the shipping is free, so doesn&#8217;t matter how many you buy</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.moskalyuk.com/blog/daily-deal-sites-like-woot/1567/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.moskalyuk.com/blog/daily-deal-sites-like-woot/1567</feedburner:origLink></item>
		<item>
		<title>Top scalability mistakes</title>
		<link>http://feedproxy.google.com/~r/AlexMoskalyukOnline/~3/MFJDRSDGvRA/1563</link>
		<comments>http://www.moskalyuk.com/blog/top-scalability-mistakes/1563#comments</comments>
		<pubDate>Tue, 29 Jul 2008 06:13:59 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.moskalyuk.com/blog/top-scalability-mistakes/1563</guid>
		<description>John Coggeshall, CTO of Automotive Computer Services, and author of Zend PHP Certification Practice Book and PHP5 Unleashed, gave a talk at OSCON 2008 on top 10 scalability mistakes. I wasn&amp;#8217;t there, but he posted the slides for everybody to follow. Here&amp;#8217;re some lessons learned. Define the scalability goals for your application. If you don&amp;#8217;t [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.coggeshall.org/">John Coggeshall</a>, CTO of Automotive Computer Services, and author of <a href="http://www.amazon.com/gp/product/0973589884/002-0161606-1322478?ie=UTF8&amp;tag=moskalyukcom-20&amp;linkCode=xm2&amp;camp=1789&amp;creativeASIN=0973589884">Zend PHP Certification Practice Book</a> and <a href="http://www.amazon.com/gp/product/067232511X/002-0161606-1322478?ie=UTF8&amp;tag=moskalyukcom-20&amp;linkCode=xm2&amp;camp=1789&amp;creativeASIN=067232511X">PHP5 Unleashed</a>, <a href="http://www.coggeshall.org/resources/slideshow/id/530124">gave a talk</a> at <strong>OSCON 2008</strong> on top 10 scalability mistakes. I wasn&#8217;t there, but he posted the slides for everybody to follow. Here&#8217;re some lessons learned.</p>
<ol>
<li><strong>Define the scalability goals for your application</strong>. If you don&#8217;t know how many requests you&#8217;re shooting for, you don&#8217;t know whether you&#8217;ve built something that works, and how long it&#8217;s going to last you. </li>
<li><strong>Measure everything</strong>. CPU usage, memory usage, disk I/O, network I/O, requests per second, with the last one being the most important. If you don&#8217;t know the baseline, you don&#8217;t know whether you&#8217;ve improved. </li>
<li><strong>Design your database with scalability in mind</strong>. Assume you&#8217;ll have to implement replication. </li>
<li><strong>Do not rely on NFS for code sharing on a server farm</strong>. It&#8217;s slow and it&#8217;s got locking issues. While the idea of keeping one copy of code, and letting the rest of the servers load them via NFS might seem very convenient, it doesn&#8217;t work in practice. Stick to some tried practices like <a href="http://www.moskalyuk.com/blog/rsync-overview">rsync</a>. Keep the code local to the machine serving it, even if it means a longer push process. </li>
<li><strong>Play around with I/O buffers</strong>. If you&#8217;ve got tons of memory, play with TCP buffer size &#8211; your defaults are likely to be set conservatively. See your tax dollars at work and use this <a href="http://acs.lbl.gov/TCP-tuning/linux.html">Linux TCP Tuning guide</a>. If your site is written in PHP, use <a href="http://www.php.net/outcontrol">output buffering functions</a>. </li>
<li><strong>Use Ram Disks for any data that&#8217;s disposable</strong>. But you do need a lot of available RAM lying around. </li>
<li><strong>Optimize bandwidth consumption</strong> by enabling compression via mod_deflate, setting zlib.put_compression value to true for PHP sites, or Tidy content reduction for PHP+Tidy sites. </li>
<li><strong>Confugure PHP for speed</strong>. Turn off the following: register_globals, auto_globals_jit, magic_quotes_gpc, expose_php, register_argc_argv, always_populate_raw_post_data, session.use_trans_sid, session.auto_start. Set session.gc_divisor to 10,000, output_buffering to 4096, in John&#8217;s example. </li>
<li><strong>Do not use blocking I/O, such as reading another remote page via curl</strong>. Make all the calls non-blocking, otherwise the wait is something you can&#8217;t really optimize against. Rely on background scripts to pull down the data necessary for processing the request. </li>
<li><strong>Don&#8217;t underestimate caching</strong>. If a page is cached for 5 minutes, and you get even 10 requests per second for a given page, that&#8217;s 3,000 requests your database doesn&#8217;t have to process. </li>
<li><strong>Consider PHP op-code cache</strong>. This will be available to you off-the-shelf with PHP6. </li>
<li><strong>For content sites consider taking static stuff out of dynamic context</strong>. Let&#8217;s say you run a content site, where the article content remains the same, while the rest of the page is personalized for each user, as it has My Articles section, and so on. Instead of getting everything dynamically from the DB, consider generating yet another PHP file on the first request, where the article text would be stored in raw HTML, and dynamic data pulled for logged-in users. This way the generated PHP file will only pull out the data that&#8217;s actually dynamic. </li>
<li><strong>Pay great attention to database design</strong>. Learn indexes and know how to use them properly. InnoDB outperforms MyISAM in almost all contexts, but doesn&#8217;t do full-text searching. (Use <a href="http://www.sphinxsearch.com/">sphinx</a> if your search needs get out of control.) </li>
<li><strong>Design PHP applications in an abstract way</strong>, so that the app never needs to know the IP address of the MySQL server. Something like &#8216;mysql-writer-db&#8217;, and &#8216;mysql-reader-db&#8217; will be perfectly ok for a PHP app. </li>
<li><strong>Run external scripts monitoring the system health</strong>. Have the scripts change the HOSTS if things get out of control. </li>
<li><strong>Do not do database connectivity decision-making in PHP</strong>. Don&#8217;t spend time doing fallbacks if your primary DB is down. Consider running <a href="http://dev.mysql.com/tech-resources/articles/proxy-gettingstarted.html">MySQL Proxy</a> for simplifying DB connectivity issues. </li>
<li><strong>For super-fast reads consider SQLite</strong>.&#160; But don&#8217;t forget that it&#8217;s horrible with writes. </li>
<li><strong>Use Keepalive properly</strong>. Use it when both static and dynamic files are served off the same server, and you can control the timeouts, so that a bunch of Keep-alive requests don&#8217;t overwhelm your system. John&#8217;s rule? No Keep-alive request should last more than 10 seconds. </li>
<li><strong>Monitor via familiar Linux commands</strong>. Such as <a href="http://linux.die.net/man/1/iostat">iostat</a> and <a href="http://linuxcommand.org/man_pages/vmstat8.html">vmstat</a>. The iostat command is used for monitoring system input/output device loading by observing the time the devices are active in relation to their average transfer rates. The iostat command generates reports that can be used to change system configuration to better balance the input/output load between physical disks. vmstat&#160; reports&#160; information about processes, memory, paging, block IO, traps, and cpu activity. </li>
<li><strong>Make sure you&#8217;re logging relevant information right away</strong>. Otherwise debugging issues is going to get tricky. </li>
<li><strong>Prioritize your optimizations</strong>. Optimization by 50% of the code that runs on 2% of the pages will result in 1% total improvement. Optimizing 10% of the code that runs on 80% of the pages results in 8% overall improvement. </li>
<li><strong>Use profilers</strong>. They draw pretty graphs, they&#8217;re generally easy to use. </li>
<li><strong>Keep track of your system performance</strong>. Keep a spreadsheet of some common stats you&#8217;re tracking, so that you can authoritatively say how much of performance gain you got by getting a faster CPU, installing extra RAM, or upgrading your Linux kernel. </li>
</ol>
<p>Complete presentation is down below:</p>
</p>
<div id="__ss_530124" style="width: 425px; text-align: left"><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=top-10-scalability-mistakes-oscon-1217182496499410-8" width="425" height="355" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" />
<div style="font-size: 11px; padding-top: 2px; font-family: tahoma,arial; height: 26px"><a href="http://www.slideshare.net/?src=embed"><img style="border-right: 0px; border-top: 0px; margin-bottom: -5px; border-left: 0px; border-bottom: 0px" alt="SlideShare" src="http://static.slideshare.net/swf/logo_embd.png" /></a> | <a title="View this slideshow on SlideShare" href="undefined">View</a> | <a href="http://www.slideshare.net/upload">Upload your own</a></div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.moskalyuk.com/blog/top-scalability-mistakes/1563/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.moskalyuk.com/blog/top-scalability-mistakes/1563</feedburner:origLink></item>
		<item>
		<title>A few things about fair trade coffee</title>
		<link>http://feedproxy.google.com/~r/AlexMoskalyukOnline/~3/WNEf3FWQNxo/1556</link>
		<comments>http://www.moskalyuk.com/blog/a-few-things-about-fair-trade-coffee/1556#comments</comments>
		<pubDate>Thu, 17 Jul 2008 06:23:23 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Health]]></category>
		<category><![CDATA[Money]]></category>

		<guid isPermaLink="false">http://www.moskalyuk.com/blog/a-few-things-about-fair-trade-coffee/1556</guid>
		<description>I am reading Starbucked by Taylor Clark, and the book is quite enjoyable, both as a look inside the coffee industry, and as a business case study of Starbucks. Clark dedicates an entire chapter to fair trade coffee practices, that I wasn&amp;#8217;t too familiar with, but as anybody else, assumed it was a Good Thing. [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.moskalyuk.com/blog/wp-content/uploads/2008/07/image2.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 5px 5px; border-right-width: 0px" height="164" alt="image" src="http://www.moskalyuk.com/blog/wp-content/uploads/2008/07/image-thumb2.png" width="107" align="right" border="0" /></a> I am reading <a href="http://www.amazon.com/gp/product/031601348X?ie=UTF8&amp;tag=moskalyukcom-20&amp;link_code=as3&amp;camp=211189&amp;creative=373489&amp;creativeASIN=031601348X">Starbucked</a> by <strong>Taylor Clark</strong>, and the book is quite enjoyable, both as a look inside the coffee industry, and as a business case study of Starbucks. Clark dedicates an entire chapter to fair trade coffee practices, that I wasn&#8217;t too familiar with, but as anybody else, assumed it was a Good Thing. Fair trade coffee practices, controlled by a non-profit <a href="http://www.transfairusa.org/">TransFair USA</a>, pay farmers participating in the program $1.26 a pound for regular coffee, and $1.31 for certified organic. Under the fair trade label it&#8217;s resold to you at $12-15 a pound, making the retailer quite a winner in this transaction (originally fair trade was supposed to eliminate the middleman, and thereby lower the final cost of coffee).</p>
<p>When the price of coffee beans can occasionally go under 40c, this seems like a good deal, if you&#8217;re a coffee farmer, so what&#8217;s the catch?</p>
<ol>
<li>Fair trade contracts are binding, and requiring the coffee bean farmers to commit to $1.26-$1.31 even if market surges (as it does when there&#8217;s a cold summer in Brazil). Ok, this is a bit hypothetical, but coffee markets <a href="http://www.ico.org/prices/p2.htm">have been known to swing wildly</a> nevertheless. In 2006 Starbucks (the largest seller of fair trade coffee in the US) has actually paid its non-fair-trade growers an average of $1.42 per pound. Oops.</li>
<li>TransFair requires that each coffee farm participating in the program be coop-owned and employ no outside seasonal labor. This rules out private farms, family-owned farms, and corporation-owned farms. A family of coffee bean growers starts out a farm, hires seasonal labor to pick the beans, and wants to sell it as fair trade coffee? TransFair doesn&#8217;t let those capitalist pigs get anywhere near the application form. </li>
<li>Roasters admit that fair trade coffee is of inferior quality. While the rest of the coffee farms have to compete in lower-priced open market, they frequently do it by quality of their product. When a fair trade farm is guaranteed $1.26-$1.31 a pound, the economic rationales start to take over, and growers always try to cut their costs to enjoy higher profit margins. </li>
<li>TransFair requires every participant in the fair trade program &#8211; retailer or coffee grower &#8211; to sign a release form promising never to criticize the program in public. </li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.moskalyuk.com/blog/a-few-things-about-fair-trade-coffee/1556/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.moskalyuk.com/blog/a-few-things-about-fair-trade-coffee/1556</feedburner:origLink></item>
		<item>
		<title>MapReduce usage at Google</title>
		<link>http://feedproxy.google.com/~r/AlexMoskalyukOnline/~3/3Bj3Mwg9Zus/1544</link>
		<comments>http://www.moskalyuk.com/blog/mapreduce-usage-at-google/1544#comments</comments>
		<pubDate>Mon, 28 Apr 2008 01:17:25 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Optimization]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.moskalyuk.com/blog/mapreduce-usage-at-google/1544</guid>
		<description>Via High Scalability blog (a great addition to any RSS reader out there) there&amp;#8217;s a link to Jefrrey Dean&amp;#8216;s presentation on MapReduce usage in Google. Actually, his presentation touches upon a few aspects of Google infrastructure, such as GFS, and BigTable, so there&amp;#8217;s more on this video. What caught my eye is the relative growth [...]</description>
			<content:encoded><![CDATA[<p>Via <a href="http://highscalability.com/behind-scenes-google-scalability">High Scalability blog</a> (a great addition to any RSS reader out there) there&#8217;s a link to <a href="http://research.google.com/people/jeff/index.html">Jefrrey Dean</a>&#8216;s presentation on MapReduce usage in Google. Actually, his presentation touches upon a few aspects of Google infrastructure, such as GFS, and BigTable, so there&#8217;s more <a href="http://research.yahoo.com/node/2135">on this video</a>. What caught my eye is the relative growth of MapReduce inside Google &#8211; 2.2 mln jobs run in September 2007.</p>
<p><a href="http://www.moskalyuk.com/blog/wp-content/uploads/2008/04/image.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" src="http://www.moskalyuk.com/blog/wp-content/uploads/2008/04/image-thumb.png" border="0" alt="image" width="504" height="242" /></a></p>
<p>In the table above, note the drastic growth of input data analyzed and output data generated. The number of actual MapReduce jobs has also grown significantly and reached 10,000 in September 2007.</p>
<p><a href="http://www.moskalyuk.com/blog/wp-content/uploads/2008/04/image1.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" src="http://www.moskalyuk.com/blog/wp-content/uploads/2008/04/image-thumb1.png" border="0" alt="image" width="504" height="302" /></a></p>
<p>Dean also presented an interesting graph about the frequency of commits of new MapReduce jobs into the repository &#8211; as you can see there are months when the number of new projects goes through the roof, followed by a spike.</p>
<p><a href="http://www.moskalyuk.com/blog/wp-content/uploads/2008/04/image2.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" src="http://www.moskalyuk.com/blog/wp-content/uploads/2008/04/image-thumb2.png" border="0" alt="image" width="504" height="271" /></a></p>
<p>The reason? Summer interns.</p>
<p><a href="http://www.moskalyuk.com/blog/wp-content/uploads/2008/04/image3.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" src="http://www.moskalyuk.com/blog/wp-content/uploads/2008/04/image-thumb3.png" border="0" alt="image" width="504" height="275" /></a></p>
<p>Complete set of slides is <a href="http://research.yahoo.com/files/6DeanGoogle.pdf">available from Yahoo! Research</a>, which organized the Data-Intensive Computing Symposium.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moskalyuk.com/blog/mapreduce-usage-at-google/1544/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.moskalyuk.com/blog/mapreduce-usage-at-google/1544</feedburner:origLink></item>
		<item>
		<title>24 Web site performance tips</title>
		<link>http://feedproxy.google.com/~r/AlexMoskalyukOnline/~3/cwhrYpaY9Pk/1535</link>
		<comments>http://www.moskalyuk.com/blog/24-web-site-performance-tips/1535#comments</comments>
		<pubDate>Sun, 30 Mar 2008 07:17:03 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.moskalyuk.com/blog/?p=1535</guid>
		<description>Yahoo! Developer Network blog had an entry by Stoyan Stefanov and presentation from PHP Quebec conference. A few points to take away, in case you don&amp;#8217;t feel like going through 76-slide presentation: A drop of 100ms in page rendering time leads to 10% in sales on Amazon. A drop of 500 ms leads to 20% [...]</description>
			<content:encoded><![CDATA[<p><strong>Yahoo! Developer Network</strong> blog had <a href="http://developer.yahoo.net/blog/archives/2008/03/yahoos_latest_p.html">an entry by Stoyan Stefanov</a> and presentation from PHP Quebec conference. A few points to take away, in case you don&#8217;t feel like going through 76-slide presentation:</p>
<ol>
<li>A drop of 100ms in page rendering time leads to 10% in sales on Amazon. A drop of 500 ms leads to 20% less traffic to Google.</li>
<li>Make fewer HTTP requests &#8211; combine CSS and JS files into single downloads. Minify both JS and CSS.</li>
<li>Combine images into <a href="http://www.csssprites.com/">CSS sprites</a>.</li>
<li>Bring static content closer to the users. That usually means CDNs like Akamai or Limelight, but sometimes a co-location facility or data center in a foreign country is the only option.</li>
<li>Static content should have Expires: headers way into the future, so that they&#8217;re never re-requested.</li>
<li>Dynamic content should have Cache Control: header.</li>
<li>Offer content gzip&#8217;ed.</li>
<li>Stoyan claims nothing will be rendered in the browser till the last piece of CSS has been served, and therefore it&#8217;s critical to send CSS as early in the process as possible. I happen to have <a href="http://www.moskalyuk.com/">a document</a> with CSS declared at the very end, and disagree with this statement &#8211; at least the content <em>seems</em> to render OK without CSS, and then self-corrects when CSS finally loads.</li>
<li>Move the scripts all the way to the bottom to avoid the download block &#8211; Stoyan&#8217;s example shows placing the javascript includes right before &lt;/body&gt; and &lt;/html&gt;, although it&#8217;s possible to place them even further down (well, you&#8217;d break XHTML purity, I suppose, if you declare your documents to be XHTML).</li>
<li>Avoid CSS expressions.</li>
<li>Consider placing the minified CSS and JS files on separate servers to fight browser&#8217;s default pipelining settings &#8211; not everybody has <a href="http://fasterfox.mozdev.org/">FasterFox</a> or tweaked pipeline settings.</li>
<li>For super-popular pages consider inlining JS for fewer HTTP requests.</li>
<li>Even though placing content on external servers with different domains will help you with HTTP pipelining, don&#8217;t go crazy with various domains &#8211; they all require DNS lookups.</li>
<li>Every 301 redirect is a wasted HTTP request.</li>
<li>For busy backend servers consider PHP&#8217;s <a href="http://us2.php.net/flush">flush()</a>.</li>
<li>Use GET over POST any time you have a choice.</li>
<li>Analyze your cookies &#8211; large number of them could substantially increase the number of TCP packets.</li>
<li>For faster JavaScript and DOM parsing, reduce the number of DOM elements.</li>
<li>document.getElementByTagName(&#8216;*&#8217;).length will give you the number of total elements. Look at those abusive &lt;div&gt;s.</li>
<li>Any missing JS file is a significant performance penalty &#8211; the browser will browse the 404 page you generate, trying to see if it has valid &lt;script&gt;s.</li>
<li>Optimize your PNGs &#8211; check out <a href="http://pmt.sourceforge.net/pngcrush/">pngcrush</a>, <a href="http://psydk.org/PngOptimizer.php">pngoptimizer</a></li>
<li>Optimize JPEGs &#8211; <a href="http://www.gsp.com/cgi-bin/man.cgi?section=1&amp;topic=jpegtran">jpegtran</a></li>
<li>Make sure you have favicon.ico &#8211; generating those 404s will be expensive, plus once you have it, it&#8217;s cache-able.</li>
<li>Toolkits for measuring page loads: <a href="http://pagetest.wiki.sourceforge.net/">AOL PageTest</a>, <a href="http://www.fiddlertool.com/fiddler/">FiddlerTool</a> HTTP debugging proxy, <a href="http://www.research.ibm.com/pagedetailer/">IBM Page Detailer</a> instrumentation tool, YSlow, and Firebug are suggested in the presentation. My personal addition to the list is <a href="http://www.xk72.com/charles/">Charles</a> that has been recommended by a colleague.</li>
</ol>
<p>And here&#8217;s the whole presentation, although it&#8217;s not possible to follow links from Slideshare slides.
<div style="width:425px;text-align:left" id="__ss_319798"><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=high-performance-web-pages-20-new-best-practices-1206389190195598-3"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=high-performance-web-pages-20-new-best-practices-1206389190195598-3" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"><a href="http://www.slideshare.net/?src=embed"><img src="http://static.slideshare.net/swf/logo_embd.png" style="border:0px none;margin-bottom:-5px" alt="SlideShare"/></a></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.moskalyuk.com/blog/24-web-site-performance-tips/1535/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.moskalyuk.com/blog/24-web-site-performance-tips/1535</feedburner:origLink></item>
	</channel>
</rss>

