<?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:atom="http://www.w3.org/2005/Atom" xmlns:posterous="http://posterous.com/help/rss/1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>The Web and all that Jazz</title>
    <link>http://iamwil.posterous.com</link>
    <description>With the posterous kick</description>
    <generator>posterous.com</generator>
    <link xmlns="http://www.w3.org/2005/Atom" href="http://posterous.com/api/sup_update#963dab5c9" type="application/json" rel="http://api.friendfeed.com/2008/03#sup" />
    
    
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/TheWebAndAllThatJazz" /><feedburner:info uri="thewebandallthatjazz" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://posterous.superfeedr.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-nc-sa/2.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><item>
      <pubDate>Wed, 01 Feb 2012 10:31:00 -0800</pubDate>
      <title>Addendum tips to the Inkscape to OpenSCAD dxf tutorial</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/D-sjO39J_lI/reprap-prescription-inkscape-to-openscad-dxf</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/reprap-prescription-inkscape-to-openscad-dxf</guid>
      <description>&lt;p&gt;
	&lt;div class="posterous_bookmarklet_entry"&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="Media_http4bpblogspot_qdhun" height="287" src="http://getfile7.posterous.com/getfile/files.posterous.com/iamwil/CwugaFuuHiDHinIpxEfdBACemztprJbCfpnDksEBIikflqCpiHndvvyFkiJs/media_http4bpblogspot_qdHun.jpg.scaled500.jpg" width="320" /&gt;
&lt;/div&gt;

&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://repraprip.blogspot.com/2011/05/inkscape-to-openscad-dxf-tutorial.html"&gt;repraprip.blogspot.com&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;OpenSCAD is a programmer's solid geometric modeler. You can make complex objects from a combination of spheres, cylinders, and rectangular volumes. However, sometimes, you have more organic shapes that you need to model, like the knight in a chess set. That's where an interactive modeler comes in handy. You can use Inkscape to draw a 2D shape, and extrude it in 3D in OpenSCAD.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I've found the tutorial I've linked above works, but you have to make sure that you &lt;strong&gt;make the paths segments&lt;/strong&gt;, or else OpenSCAD won't display it. Also, note the dimensions that you're drawing in, since you're drawing on A4 paper by default in Inkscape, the extruded model in OpenSCAD viewer might just be off screen, so make sure you zoom out.&lt;/p&gt;
&lt;p&gt;Also, every time you change the DXF file, you need to flush the cache in the OpenSCAD viewer in order to get the DXF file to reload. It's under "Design -&amp;gt; Flush Caches". And then you can reload and compile (F4).&lt;/p&gt;
&lt;p&gt;In addition, in your .scad file, loading the file with linear_extrude is deprecated. Use this instead:&lt;/p&gt;
&lt;code&gt;linear_extrude(height=50) import("star.dxf");&lt;/code&gt;
&lt;p&gt;where import() is the child of linear_extrude. Hopefully, this will help you avoid some pitfalls of modeling with DXF files. Happy modeling!&lt;/p&gt;
&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/reprap-prescription-inkscape-to-openscad-dxf"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/reprap-prescription-inkscape-to-openscad-dxf#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=D-sjO39J_lI:_r8I7pToSsY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=D-sjO39J_lI:_r8I7pToSsY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=D-sjO39J_lI:_r8I7pToSsY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=D-sjO39J_lI:_r8I7pToSsY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/D-sjO39J_lI" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
      <media:content type="image/jpeg" height="287" width="320" url="http://getfile2.posterous.com/getfile/files.posterous.com/iamwil/CwugaFuuHiDHinIpxEfdBACemztprJbCfpnDksEBIikflqCpiHndvvyFkiJs/media_http4bpblogspot_qdHun.jpg">
        <media:thumbnail height="287" width="320" url="http://getfile7.posterous.com/getfile/files.posterous.com/iamwil/CwugaFuuHiDHinIpxEfdBACemztprJbCfpnDksEBIikflqCpiHndvvyFkiJs/media_http4bpblogspot_qdHun.jpg.scaled500.jpg" />
      </media:content>
    <feedburner:origLink>http://iamwil.posterous.com/reprap-prescription-inkscape-to-openscad-dxf</feedburner:origLink></item>
    <item>
      <pubDate>Tue, 31 Jan 2012 15:27:00 -0800</pubDate>
      <title>King's Gambit in progress</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/DoFuj5Lur28/kings-gambit-in-progress</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/kings-gambit-in-progress</guid>
      <description>&lt;p&gt;
	&lt;div class="posterous_bookmarklet_entry"&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="" src="https://img.skitch.com/20120201-ace2wuhgfiggrnpfduh3us6r6.jpg" /&gt;
&lt;/div&gt;

&lt;div class="posterous_quote_citation"&gt;via &lt;a href="https://skitch.com/iamwilhelm/g7tt8/openscad-main.scad"&gt;skitch.com&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;Lately, I've been working in &lt;a href="http://openscad.org"&gt;OpenSCAD&lt;/a&gt; to try my hand at designing things to print out. I figured an easy way to get started was to design a standard chess set. This is my progress so far.&lt;/p&gt;
&lt;p&gt;Doing OpenSCAD changes your thinking a little bit, where you have to picture and rotate things in your head, and actually not worry about where the seams are, because it'll be taken care of for you, without you having to waste time doing geometric math.&lt;/p&gt;
&lt;p&gt;There are things that I'd add to OpenSCAD, however, like higher level operations like stacking pieces (or beveling edges and rounding corners), adding labels to measurements, and ruby-like blocks, querying measurements of objects, and encapsulation of variables in modules.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/kings-gambit-in-progress"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/kings-gambit-in-progress#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=DoFuj5Lur28:JN3sTzH_550:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=DoFuj5Lur28:JN3sTzH_550:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=DoFuj5Lur28:JN3sTzH_550:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=DoFuj5Lur28:JN3sTzH_550:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/DoFuj5Lur28" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/kings-gambit-in-progress</feedburner:origLink></item>
    <item>
      <pubDate>Sat, 28 Jan 2012 13:59:00 -0800</pubDate>
      <title>What it's like to do estimation for software.</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/Xw6uW2qneqs/what-its-like-to-do-estimation-for-software</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/what-its-like-to-do-estimation-for-software</guid>
      <description>&lt;p&gt;
	&lt;div class="posterous_bookmarklet_entry"&gt;
      &lt;blockquote class="posterous_long_quote"&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;- You are an inventor. You've invented a solar-powered microwave oven, an engine that runs on dead bugs, and a &lt;a href="http://online.wsj.com/article/SB123680870885500701.html"&gt;laser-powered weapon to kill mosquitoes&lt;/a&gt;. Someone comes to you and says:&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;"Hey inventor, I need a drone that will pick up mice (but not other animals), locate my ex-girlfriend and drop them on her head. Give me a budget and a time estimate."&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://diegobasch.com/why-software-development-estimations-are-regu"&gt;diegobasch.com&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;That pretty much sums it up for me&lt;/p&gt;
&lt;p&gt;Often times in software engineering, you're doing something slightly new, so you don't know exactly how long these things will take. Add up a lot of little tasks, and the margin for error in estimate is going to be bigger the further out you try to plan.&lt;/p&gt;
    &lt;p&gt;&lt;/p&gt;&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/what-its-like-to-do-estimation-for-software"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/what-its-like-to-do-estimation-for-software#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=Xw6uW2qneqs:sVxao7WM1Lo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=Xw6uW2qneqs:sVxao7WM1Lo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=Xw6uW2qneqs:sVxao7WM1Lo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=Xw6uW2qneqs:sVxao7WM1Lo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/Xw6uW2qneqs" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/what-its-like-to-do-estimation-for-software</feedburner:origLink></item>
    <item>
      <pubDate>Tue, 17 Jan 2012 21:34:00 -0800</pubDate>
      <title>Missing bodies when doing constructive solid geometry in OpenSCAD for Macs</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/XO_Rkk_fBio/missing-bodies-when-doing-constructive-solid</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/missing-bodies-when-doing-constructive-solid</guid>
      <description>&lt;p&gt;
	&lt;p&gt;For those of you using Macs with an Intel GPU and Lion OS, there's a bug in the current releases of&amp;nbsp;&lt;a href="http://openscad.org"&gt;OpenSCAD&lt;/a&gt; that makes polygons and objects disappear when you try to intersect or difference them. The only one that works is union, which isn't very helpful by itself.&lt;/p&gt;
&lt;p&gt;The maintainer of OpenSCAD has released a workaround for the problem. &lt;a href="http://www.kintel.net/public/OpenSCAD-2012.01.14.dmg"&gt;Download the development version 2012.01.14&lt;/a&gt;, and install that. Then go into preferences -&amp;gt; advanced, and check the box that says "Force Goldfeather"&lt;/p&gt;
&lt;p&gt;This selects the Goldfeather algorithm from the underlying &lt;a href="http://opencsg.org"&gt;OpenCSG library&lt;/a&gt;, and though it has some visual artifacts, it should be enough to keep you going on your projects on the Mac.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/missing-bodies-when-doing-constructive-solid"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/missing-bodies-when-doing-constructive-solid#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=XO_Rkk_fBio:873U8_YN7g0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=XO_Rkk_fBio:873U8_YN7g0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=XO_Rkk_fBio:873U8_YN7g0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=XO_Rkk_fBio:873U8_YN7g0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/XO_Rkk_fBio" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/missing-bodies-when-doing-constructive-solid</feedburner:origLink></item>
    <item>
      <pubDate>Fri, 06 Jan 2012 11:41:00 -0800</pubDate>
      <title>Movie and music companies need learn how to innovate</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/qbchQRN-q2s/movie-and-music-companies-need-learn-how-to-i</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/movie-and-music-companies-need-learn-how-to-i</guid>
      <description>&lt;p&gt;
	&lt;div class="posterous_bookmarklet_entry"&gt;
&lt;blockquote class="posterous_long_quote"&gt;
&lt;p style="text-align: left;"&gt;This year the movie industry made&amp;nbsp;&lt;a href="http://www.onlinemba.com/blog/film-industry-statistics/" target="_blank"&gt;$30 billion&lt;/a&gt;&amp;nbsp;(1/3 &lt;a href="http://boxofficemojo.com/yearly/" target="_blank"&gt;in the U.S.&lt;/a&gt;) from box-office revenue. But the total movie industry revenue was&amp;nbsp;&lt;a href="http://dwmw.wordpress.com/2011/03/16/movies-and-money/" target="_blank"&gt;$87 billion&lt;/a&gt;. Where did the other $57 billion come from? &lt;em&gt;From sources that the studios at one time claimed would put them out of business: &lt;/em&gt;Pay-per view TV, cable and satellite channels, video rentals, DVD sales, online subscriptions and digital downloads.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; &lt;/strong&gt;The music and movie business has been consistently wrong in its  claims that new platforms and channels would be the end of its  businesses. In each case, the new technology produced a new market far  larger than the impact it had on the existing market.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1920's - the record business complained about radio. The argument was &lt;a href="http://www.jthtl.org/content/articles/V9I1/JTHTLv9i1_Lemley.PDF" target="_blank"&gt;because radio is free, you can't compete with free&lt;/a&gt;. No one was ever going to buy music again.&lt;/li&gt;
&lt;li&gt;1940's - movie studios had to divest their distribution channel -  they owned over 50% of the movie theaters in the U.S. "It's all over,"  complained the studios. In fact, the number of screens went from &lt;a href="https://spreadsheets.google.com/pub?key=p9LENaiKJeoyQuM6X9Ld2UQ" target="_blank"&gt;17,000&lt;/a&gt; in 1948 to &lt;a href="http://www.natoonline.org/statisticsscreens.htm" target="_blank"&gt;38,000&lt;/a&gt; today.&lt;/li&gt;
&lt;li&gt;1950's - broadcast television was free; the threat was cable television. Studios argued that their &lt;em&gt;free &lt;/em&gt;TV&amp;nbsp;content couldn't compete with &lt;em&gt;paid&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;1970's - Video Cassette Recorders (VCR's) were going to be the end  of the movie business. The movie businesses and its lobbying arm &lt;a href="http://w2.eff.org/IP/P2P/MGM_v_Grokster/?f=betamax_20th.html" target="_blank"&gt;MPAA fought it&lt;/a&gt; with "end of the world" hyperbole. The reality? After the VCR was  introduced, studio revenues took off like a rocket.&amp;nbsp; With a new channel  of distribution, home movie rentals surpassed movie theater tickets.&lt;/li&gt;
&lt;li&gt;1998 - &lt;a href="https://www.eff.org/wp/unintended-consequences-under-dmca" target="_blank"&gt;the MPAA got congress to pass the Digital Millennium Copyright Act&lt;/a&gt; (DMCA), making it&amp;nbsp;&lt;em&gt;illegal&lt;/em&gt; for you to make a digital copy of a DVD that you actually purchased.&lt;/li&gt;
&lt;li&gt;2000 - Digital Video Recorders (DVR) like TiVo allowing consumer to  skip commercials was going to be the end of the TV business. DVR's  reignite interest in TV.&lt;/li&gt;
&lt;li&gt;2006&amp;nbsp;- &lt;a href="http://arstechnica.com/old/content/2006/05/6913.ars" target="_blank"&gt;broadcasters sued Cablevision&lt;/a&gt;&amp;nbsp;(and lost) to prevent the launch of a cloud-based DVR to its customers.&lt;/li&gt;
&lt;li&gt;Today it's the Internet that's going to put the studios out of business. Sound familiar?&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;Why was the movie industry consistently wrong? And why do they continue to fight new technology?&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.theatlantic.com/business/archive/2012/01/sopa-is-a-symbol-of-the-movie-industrys-failure-to-innovate/250967/"&gt;theatlantic.com&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;I think being in technology, we take innovation-as-a-good-thing for granted. Everyone else in other slower moving industries probably see their business models as granting privilege and right established so long ago, that no one really cares where they come from or how they came to be--and especially whether the world, economy, and landscape is as it was back then.&lt;/p&gt;
&lt;p&gt;Or maybe they do, and the MPAA and RIAA willfully ignore how new technologies have helped them make money in the past. You'd think that with the pace of new platforms to be able to make them money on, they're remember that and find ways to capitalize on it.&lt;/p&gt;
&lt;p&gt;But I remember &lt;a href="http://www.justin.tv/startupschool/b/272178844"&gt;Dalton Calwell&lt;/a&gt; puts it: "I don't envy being [in their position because] they're dealing with economic realities, and there aren't a lot of options."&lt;/p&gt;
&lt;p&gt;I suspect this is partially because they don't innovate on their own, and are usually blindsided by what comes out of Silicon Valley. Movie and Music industries really need to learn how to innovate on their own so they don't get blindsided so often, time after time. And it may be that they need to become technology companies, according to the Marc Andressen's insight that &lt;a href="http://online.wsj.com/article/SB10001424053111903480904576512250915629460.html"&gt;Software is Eating the World&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="font-family: Georgia, times new roman, times, serif; line-height: 19px;"&gt;Ironically, the six major movie studios have a&amp;nbsp;&lt;/span&gt;&lt;a href="http://movielabs.com/" target="_blank" style="color: #00598c; text-decoration: none; font-family: Georgia, times new roman, times, serif; line-height: 19px;"&gt;great technology lab in Silicon Valley&lt;/a&gt;&lt;span style="font-family: Georgia, times new roman, times, serif; line-height: 19px;"&gt;&amp;nbsp;with projects in&amp;nbsp;&lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Internet_television" style="color: #00598c; text-decoration: none; font-family: Georgia, times new roman, times, serif; line-height: 19px;"&gt;streaming rights&lt;/a&gt;&lt;span style="font-family: Georgia, times new roman, times, serif; line-height: 19px;"&gt;, Video On Demand,&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.uvvu.com/" style="color: #00598c; text-decoration: none; font-family: Georgia, times new roman, times, serif; line-height: 19px;"&gt;Ultraviolet&lt;/a&gt;&lt;span style="font-family: Georgia, times new roman, times, serif; line-height: 19px;"&gt;, etc. But lacking the support from the studio CEOs or boards, the lab languishes in the backwaters of the studios' strategy.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That's really a pity.&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/movie-and-music-companies-need-learn-how-to-i"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/movie-and-music-companies-need-learn-how-to-i#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=qbchQRN-q2s:6GeezrnxLqM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=qbchQRN-q2s:6GeezrnxLqM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=qbchQRN-q2s:6GeezrnxLqM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=qbchQRN-q2s:6GeezrnxLqM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/qbchQRN-q2s" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/movie-and-music-companies-need-learn-how-to-i</feedburner:origLink></item>
    <item>
      <pubDate>Mon, 02 Jan 2012 08:49:00 -0800</pubDate>
      <title>Browsing Foreign Websites a Misdemeanor in Belarus</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/OnV59_8u0q8/browsing-foreign-websites-a-misdemeanor-in-be</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/browsing-foreign-websites-a-misdemeanor-in-be</guid>
      <description>&lt;p&gt;
	&lt;div class="posterous_bookmarklet_entry"&gt;
      &lt;blockquote class="posterous_long_quote"&gt;&lt;p&gt;The Law requires that all companies and individuals who are registered as entrepreneurs in Belarus use only domestic Internet domains for providing online services, conducting sales, or exchanging email messages. It appears that business requests from Belarus cannot be served over the Internet if the service provider is using online services located outside of the country. The tax authorities, together with the police and secret police, are authorized to initiate, investigate, and prosecute such violations. (&lt;i&gt;Id&lt;/i&gt;.) &lt;/p&gt;  &lt;p&gt;Additionally, the Law states that the owners and administrators of Internet cafés or other places that offer access to the Internet might be found guilty of violating this Law and fined and their businesses might be closed if users of Internet services provided by these places are found visiting websites located outside of Belarus and if such behavior of the clients was not properly identified, recorded, and reported to the authorities. The Law states that this provision may apply to private individuals if they allow other persons to use their home computers for browsing the Internet. (&lt;i&gt;Id&lt;/i&gt;.)&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.loc.gov/lawweb/servlet/lloc_news?disp3_l205402929_text"&gt;loc.gov&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;When I read this at first, I thought it was a democratic nation that was restricting internet access of its citizens. I had no idea Belarus is one of the last authoritative regimes. That explains a bit more, as anything that can be used to challenge your power will be tried to shut down. However, even democratic societies are restricting internet access for its citizens, like &lt;a href="http://www.smh.com.au/technology/technology-news/internet-censorship-plan-gets-the-green-light-20091215-ktzc.html"&gt;Australia&lt;/a&gt; most notably.&lt;/p&gt;
    &lt;p&gt;&lt;/p&gt;&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/browsing-foreign-websites-a-misdemeanor-in-be"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/browsing-foreign-websites-a-misdemeanor-in-be#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=OnV59_8u0q8:Rv5e_aJ29gY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=OnV59_8u0q8:Rv5e_aJ29gY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=OnV59_8u0q8:Rv5e_aJ29gY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=OnV59_8u0q8:Rv5e_aJ29gY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/OnV59_8u0q8" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/browsing-foreign-websites-a-misdemeanor-in-be</feedburner:origLink></item>
    <item>
      <pubDate>Sun, 01 Jan 2012 21:13:00 -0800</pubDate>
      <title>Algorithm Measures Human Pecking Order</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/eiE6ujnHGLw/algorithm-measures-human-pecking-order</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/algorithm-measures-human-pecking-order</guid>
      <description>&lt;p&gt;
	&lt;div class="posterous_bookmarklet_entry"&gt;
      &lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="Media_httpwwwtechnolo_tedzh" height="276" src="http://getfile2.posterous.com/getfile/files.posterous.com/iamwil/AejwIBgevGJClbInCJxIJApCncasJsqCqxhqeycAGrqdsbgCCytAIBvrwGva/media_httpwwwtechnolo_tEdzh.png.scaled500.png" width="448" /&gt;
&lt;/div&gt;
&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.technologyreview.com/blog/arxiv/27437/#.TwCoUmRdUnU.twitter"&gt;technologyreview.com&lt;/a&gt;&lt;/div&gt;
&lt;blockquote class="posterous_medium_quote"&gt;&lt;p&gt;By looking at the changes in linguistic style that occur when people make the transition from non-admin to admin roles, Kleinberg and co cleverly show that the pattern of linguistic co-ordination changes too. Admins become less likely to co-ordinate with others. At the same time, lower ranking individuals become more likely to co-ordinate with admins.
&lt;/p&gt;&lt;p&gt;
A similar effect also occurs in the Supreme Court (where power differences are more obvious in any case).
&lt;/p&gt;&lt;p&gt;
Curiously, people seem entirely unware that they are doing this. "If you are communicating with someone who uses a lot of articles — or prepositions, orpersonal pronouns — then you will tend to increase your usage of these types of words as well, even if you don't consciously realize it," say Kleinberg and co.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If you can measure actual influence, there will be an entire industry and market that grows up around trying to hack it and influence it. It'll amplify the positive feedback loop, where the influential will become even more influential, since we'll look to the ranking to help us decide who to listen to.&lt;/p&gt;
&lt;p&gt;This would also affect social networks, especially those like Linkedin, where ladder climbers and recruiters try to find influential people. I can imagine it would help Facebook do rankings on its news feed.&lt;/p&gt;
&lt;p&gt;However, those are just retroactively applying a new technique to existing products. The question we should be asking is, what other types of things does this technology allow?&lt;/p&gt;
&lt;p&gt;Off the top of my head, you can provide real-time feedback during a conversation or chat of how you're being perceived. Advertising would find it interesting on the assumption that more influential people can get others to buy. The other thing you can do is see if the measure of power correlates with virality.&lt;/p&gt;
    &lt;p&gt;&lt;/p&gt;&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/algorithm-measures-human-pecking-order"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/algorithm-measures-human-pecking-order#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=eiE6ujnHGLw:0hDoKAunk0w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=eiE6ujnHGLw:0hDoKAunk0w:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=eiE6ujnHGLw:0hDoKAunk0w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=eiE6ujnHGLw:0hDoKAunk0w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/eiE6ujnHGLw" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
      <media:content type="image/png" height="276" width="448" url="http://getfile5.posterous.com/getfile/files.posterous.com/iamwil/AejwIBgevGJClbInCJxIJApCncasJsqCqxhqeycAGrqdsbgCCytAIBvrwGva/media_httpwwwtechnolo_tEdzh.png">
        <media:thumbnail height="276" width="448" url="http://getfile2.posterous.com/getfile/files.posterous.com/iamwil/AejwIBgevGJClbInCJxIJApCncasJsqCqxhqeycAGrqdsbgCCytAIBvrwGva/media_httpwwwtechnolo_tEdzh.png.scaled500.png" />
      </media:content>
    <feedburner:origLink>http://iamwil.posterous.com/algorithm-measures-human-pecking-order</feedburner:origLink></item>
    <item>
      <pubDate>Thu, 29 Dec 2011 13:19:00 -0800</pubDate>
      <title>It Will Be Awesome if They Don't Screw it Up: 3D Printing | Public Knowledge</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/1VUUYdr1iN8/it-will-be-awesome-if-they-dont-screw-it-up-3</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/it-will-be-awesome-if-they-dont-screw-it-up-3</guid>
      <description>&lt;p&gt;
	&lt;div class="posterous_bookmarklet_entry"&gt;
      &lt;blockquote class="posterous_medium_quote"&gt;That is why it is critical for today’s 3D printing community, tucked away in garages, hackerspaces, and labs, to keep a vigilant eye on these policy debates as they grow. There will be a time when impacted legacy industries demand some sort of DMCA for 3D printing. If the 3D printing community waits until that day to organize, it will be too late. Instead, the community must work to educate policy makers and the public about the benefits of widespread access. That way, when legacy industries portray 3D printing as a hobby for pirates and scofflaws, their claims will fall on ears too wise to destroy the new new thing.&lt;/blockquote&gt;&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.publicknowledge.org/it-will-be-awesome-if-they-dont-screw-it-up"&gt;publicknowledge.org&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;I know there's open source hardware, but what does the equivalent of open source objects look like?&lt;/p&gt;
    &lt;p&gt;&lt;/p&gt;&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/it-will-be-awesome-if-they-dont-screw-it-up-3"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/it-will-be-awesome-if-they-dont-screw-it-up-3#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=1VUUYdr1iN8:CgYq-ukU_WY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=1VUUYdr1iN8:CgYq-ukU_WY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=1VUUYdr1iN8:CgYq-ukU_WY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=1VUUYdr1iN8:CgYq-ukU_WY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/1VUUYdr1iN8" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/it-will-be-awesome-if-they-dont-screw-it-up-3</feedburner:origLink></item>
    <item>
      <pubDate>Tue, 27 Dec 2011 06:27:00 -0800</pubDate>
      <title>GoDaddy: A glimpse of the Internet under SOPA - David Rusenko</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/YVvr7YvFH0A/godaddy-a-glimpse-of-the-internet-under-sopa</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/godaddy-a-glimpse-of-the-internet-under-sopa</guid>
      <description>&lt;p&gt;
	&lt;div class="posterous_bookmarklet_entry"&gt;
      &lt;blockquote class="posterous_long_quote"&gt;The person on the other end seemed startled that I had actually answered. It was someone from GoDaddy's abuse department, who informed me that they were "turning off" weebly.com due to a complaint.&lt;p&gt;"WHAT?" I said frantically into the phone. He explained that they had received a complaint about the content of a site, and that they were removing the DNS entries for weebly.com because of it.&amp;nbsp;I asked him if they had contacted us previously -- he responded that they hadn't.&lt;/p&gt;&lt;p&gt;The site in question featured a bad review of a local business, and that business had complained.&amp;nbsp;Why on earth would a domain registrar take it upon themselves to police content?&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://david.weebly.com/1/post/2011/12/godaddy-a-glimpse-of-the-internet-under-sopa.html"&gt;david.weebly.com&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;SOPA is definitely a bad idea if I've ever heard of one.&lt;/p&gt;
    &lt;p&gt;&lt;/p&gt;&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/godaddy-a-glimpse-of-the-internet-under-sopa"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/godaddy-a-glimpse-of-the-internet-under-sopa#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=YVvr7YvFH0A:IcR8eMg0c0w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=YVvr7YvFH0A:IcR8eMg0c0w:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=YVvr7YvFH0A:IcR8eMg0c0w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=YVvr7YvFH0A:IcR8eMg0c0w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/YVvr7YvFH0A" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/godaddy-a-glimpse-of-the-internet-under-sopa</feedburner:origLink></item>
    <item>
      <pubDate>Wed, 16 Nov 2011 10:17:00 -0800</pubDate>
      <title>You know, that's just what innovation looks like</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/vrlhzBwvi2Y/you-know-thats-just-what-innovation-looks-lik</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/you-know-thats-just-what-innovation-looks-lik</guid>
      <description>&lt;p&gt;
	&lt;div class="posterous_bookmarklet_entry"&gt;
      &lt;blockquote class="posterous_long_quote"&gt;&lt;p&gt;The problem in his view is that many of the talented engineers and product designers who are now starting their own companies could have a bigger impact at places like Facebook, and they in turn will have a hard time attracting the best talent because those people can get funded to start their own projects as well.  &lt;/p&gt;
&lt;p&gt;It’s gotten so bad that, says Parker, “Now institutionally-backed venture funds are backing other venture funds in order to stay close to the dealflow.”  (Hmm, sounds &lt;a href="http://www.crunchbase.com/financial-organization/crunchfund"&gt;familiar&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;“And it will end very badly,” pipes in VC Jim Breyer, who is also onstage with Parker.&lt;/p&gt;
&lt;p&gt;Parker suggests that one reason it will end badly is because the Internet industry will ultimately consolidate just like the PC industry did in the 1980s and 1990s.&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://techcrunch.com/2011/11/15/sean-parker-little-startups-are-ridiculously-overfunded/"&gt;techcrunch.com&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;This is what innovation looks like. There are periods of great diversity and flowering, and there are periods of consolidation and maturation. When we're in one period, there's always people deriding it for the other. Everyone says they want innovation as a lover, but no one likes to deal with her moods.&lt;/p&gt;
    &lt;p&gt;&lt;/p&gt;&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/you-know-thats-just-what-innovation-looks-lik"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/you-know-thats-just-what-innovation-looks-lik#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=vrlhzBwvi2Y:NKFc7rUxNP0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=vrlhzBwvi2Y:NKFc7rUxNP0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=vrlhzBwvi2Y:NKFc7rUxNP0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=vrlhzBwvi2Y:NKFc7rUxNP0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/vrlhzBwvi2Y" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/you-know-thats-just-what-innovation-looks-lik</feedburner:origLink></item>
    <item>
      <pubDate>Fri, 11 Nov 2011 18:00:00 -0800</pubDate>
      <title>Maybe we need native support for undo in databases and a verb project for icons</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/CYAZUH9rqhs/maybe-we-need-native-support-for-undo-in-data</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/maybe-we-need-native-support-for-undo-in-data</guid>
      <description>&lt;p&gt;
	&lt;div class="posterous_bookmarklet_entry"&gt;
      &lt;blockquote class="posterous_long_quote"&gt;&lt;p&gt;A major problem that I have with the new interface is that Gmail has gone from text-based buttons to an icon-only design. Lots of desktop applications offer the choice between text, icons or text and icons. Gmail, however, seems to have decided that we're all better off with just icons. But we're not.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://rww.readwriteweb.netdna-cdn.com/cloud/assets_c/2011/11/gmail-toolbars-compared-35854.php"&gt;&lt;img class="mt-image-center" src="http://www.readwriteweb.com/cloud/assets_c/2011/11/gmail-toolbars-compared-thumb-650x215-35854.jpg" height="215" alt="gmail-toolbars-compared.jpg" width="650" style="text-align: center; display: block; margin: 0 auto 20px;" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Not only does this make the interface less usable, but it also &lt;em&gt;takes up more vertical space&lt;/em&gt; than the original design. The icons really don't do the job anyway. Does an octagon with an exclamation point really say "spam" to you? &lt;/p&gt;&lt;/blockquote&gt;&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.readwriteweb.com/cloud/2011/11/5-problems-with-gmails-new-des.php"&gt;readwriteweb.com&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;
Funny, when I looked at the row of buttons, I thought the box with the arrow was the most cryptic. But I knew the one on the right was a trash can, so that must be delete. And oddly enough, when I saw the stop sign with the "!", I knew it was spam, because the keyboard shortcut for spam is "!". So by process of elimination and how the buttons are grouped, the box with the arrow must be archive.&lt;/p&gt;
&lt;p&gt;
The gmail team seems to have taken the advice of the post, as all the icons are now text. &lt;/p&gt;
&lt;p&gt;I'm admittedly bad at knowing when interfaces are confusing to others, because I don't mind clicking on things to see what they do, and doing a bit of thinking to figure something out. The strengths that I have as an engineer makes it a weakness when I consider interface design.&lt;/p&gt;
&lt;p&gt;I have to remember that most people do not want to think, do not want to click unless they're sure what it does.&lt;/p&gt;
&lt;p&gt;Perhaps the latter can be fixed by software. Undo is not readily supported because it's usually not a Minimum viable product to spend the extra effort to do so. It could also be that as programmers, the underlying way we store our data in databases don't allow for easy undo implementation--that's to say, we have to think about it at all.&lt;/p&gt;
&lt;p&gt;Perhaps databases should support undo natively. Or the &lt;a href="http://mattberther.com/2004/09/16/using-the-command-pattern-for-undo-functionality"&gt;command pattern&lt;/a&gt; should be more familiar to web developers.&lt;/p&gt;
&lt;p&gt;Another problem is that while there's &lt;a href="http://thenounproject.com/"&gt;a noun project&lt;/a&gt;, categorizing nouns and their associated icons, what we really need is a VERB PROJECT. Most web applications have actions associated with the buttons. But often times, there's no good universal icon for a particular action. What's the icon for "archive", "repost", "render"? There are none, and we end up having to invent one on the fly with our presuppositions like mine about spam above&lt;/p&gt; 
    &lt;p&gt;&lt;/p&gt;&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/maybe-we-need-native-support-for-undo-in-data"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/maybe-we-need-native-support-for-undo-in-data#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=CYAZUH9rqhs:D78I-03rfYQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=CYAZUH9rqhs:D78I-03rfYQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=CYAZUH9rqhs:D78I-03rfYQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=CYAZUH9rqhs:D78I-03rfYQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/CYAZUH9rqhs" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/maybe-we-need-native-support-for-undo-in-data</feedburner:origLink></item>
    <item>
      <pubDate>Tue, 04 Oct 2011 08:47:00 -0700</pubDate>
      <title>CSS3 Tilt-Shift Text experiment - Where are the trees</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/Mc7a63o_MPU/css3-tilt-shift-text-experiment-where-are-the</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/css3-tilt-shift-text-experiment-where-are-the</guid>
      <description>&lt;p&gt;
	&lt;div class="posterous_bookmarklet_entry"&gt;
      &lt;blockquote&gt;&lt;div&gt;
		&lt;p&gt;&lt;strong&gt;Where are the trees&lt;/strong&gt; is an experiment trying to create a &lt;strong&gt;Tilt-Shift&lt;/strong&gt; effect on &lt;strong&gt;Text&lt;/strong&gt; using &lt;strong&gt;CSS3&lt;/strong&gt; only.&lt;br /&gt;
		Note: You also can click on the text and edit it.&lt;br /&gt;
		Background source photo by &lt;a href="http://flic.kr/p/7kcU2W"&gt;karinga&lt;/a&gt;. Looks best in Safari.&lt;/p&gt;
		
		&lt;p&gt;Read &lt;a href="http://simurai.com/post/861975259/"&gt;more details&lt;/a&gt; or &lt;a href="http://twitter.com/share?via=simurai" target="_blank"&gt;Tweet this!&lt;/a&gt;&lt;/p&gt;
	&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://lab.simurai.com/css/tilt-shift/"&gt;lab.simurai.com&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;
I've decided to stop posting links just to FB. It just gets stuck in there, esp if it's just links. The thing is, usually, I have someone in mind when I'm sharing this sort of thing. I guess I'll just have to make it a two step process, in order to get back into blogging.
&lt;/p&gt;
    &lt;p&gt;&lt;/p&gt;&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/css3-tilt-shift-text-experiment-where-are-the"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/css3-tilt-shift-text-experiment-where-are-the#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=Mc7a63o_MPU:2uQ-P854lNk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=Mc7a63o_MPU:2uQ-P854lNk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=Mc7a63o_MPU:2uQ-P854lNk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=Mc7a63o_MPU:2uQ-P854lNk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/Mc7a63o_MPU" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/css3-tilt-shift-text-experiment-where-are-the</feedburner:origLink></item>
    <item>
      <pubDate>Tue, 27 Sep 2011 00:48:00 -0700</pubDate>
      <title>Couldn't find ThemeForest on Google</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/4QGn1ZcZ_Hc/couldnt-find-themeforest-on-google</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/couldnt-find-themeforest-on-google</guid>
      <description>&lt;p&gt;
	&lt;div class="posterous_bookmarklet_entry"&gt;
      &lt;blockquote class="posterous_long_quote"&gt;&lt;span&gt;4,383&lt;/span&gt;
          Site Templates and Themes from $1&lt;/blockquote&gt;&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://themeforest.net/"&gt;themeforest.net&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;Today, Google failed me. It took a good 15 minutes googling around for a blog template theme community site.&lt;/p&gt;
&lt;p&gt;And to no avail.&lt;/p&gt;
&lt;p&gt;For certain keyword search topics, such as "iphone dev" and "blog templates", it's overrun with websites with no heart. As a human, as you look at site after site, you can tell that it's just a site parked by someone that wants residual income, so they gather up a bunch of [photos/templates/articles] and just park them there with a lot of ads, hoping that the google juice will make them some money.&lt;/p&gt;
&lt;p&gt;I'm not sure how I can tell as a human. I guess the mix of the name of the site (freeblogtemplates.com), bad design, lack of community, and the proliferation of ads is how I can tell.&lt;/p&gt;
&lt;p&gt;In the end, I ended up looking on both &lt;a href="http:/www.quora.com"&gt;quora&lt;/a&gt; and &lt;a href="http://forrst.com"&gt;forrst&lt;/a&gt; for the same search terms, and got the answer much more easily.
&lt;/p&gt;
&lt;p&gt;When these community sites don't open up to crawlers, they hurt the web. At the same time, I can see why. If web spammers figure out that the community sites are the source of google juice, they'll start to create fake account there as well, and that destroys communities for everyone&lt;/p&gt;
&lt;p&gt;I may have to go back to &lt;a href="http://www.duckduckgo.com"&gt;duckduckgo&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;&lt;/p&gt;&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/couldnt-find-themeforest-on-google"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/couldnt-find-themeforest-on-google#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=4QGn1ZcZ_Hc:pZd_0g1y-IM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=4QGn1ZcZ_Hc:pZd_0g1y-IM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=4QGn1ZcZ_Hc:pZd_0g1y-IM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=4QGn1ZcZ_Hc:pZd_0g1y-IM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/4QGn1ZcZ_Hc" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/couldnt-find-themeforest-on-google</feedburner:origLink></item>
    <item>
      <pubDate>Tue, 30 Aug 2011 16:04:00 -0700</pubDate>
      <title>TypeError: Object # has no method 'compile' express node</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/n_yUwx7gR6I/typeerror-object-has-no-method-compile-expres</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/typeerror-object-has-no-method-compile-expres</guid>
      <description>&lt;p&gt;
	&lt;p&gt;&lt;span style="font-family: Times; font-size: medium;"&gt;
&lt;div style="color: #000000; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; margin: 8px;"&gt;
&lt;p&gt;This has bitten me twice now, so I'm just putting out there on the interwebs as a note to people searching for it.&lt;/p&gt;
&lt;p&gt;When using Express with Node with a new project, you might get the error as:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Express server listening on port 3000 in development mode TypeError: Object #&amp;nbsp;
&lt;object&gt;
has no method 'compile' at Function.compile (/Users/iamwil/node_modules/express/lib/view.js:65:33) at ServerResponse._render (/Users/iamwil/node_modules/express/lib/view.js:416:18) at ServerResponse.render (/Users/iamwil/node_modules/express/lib/view.js:317:17) at Router. (/Users/iamwil/Dropbox/projects/scratch/hugalittle/app.js:23:16) at done (/Users/iamwil/node_modules/express/lib/router/index.js:250:22) at middleware (/Users/iamwil/node_modules/express/lib/router/index.js:244:9) at param (/Users/iamwil/node_modules/express/lib/router/index.js:227:11) at pass (/Users/iamwil/node_modules/express/lib/router/index.js:232:6) at Router._dispatch (/Users/iamwil/node_modules/express/lib/router/index.js:255:4) at Object.handle (/Users/iamwil/node_modules/express/lib/router/index.js:45:10)
&lt;/object&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This is because npm 'freezes' the package modules into your project, and you'll need to do that every time you start a new project. All you need to do is install the dependencies:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;npm install -d&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;in the root directory of your project.&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/typeerror-object-has-no-method-compile-expres"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/typeerror-object-has-no-method-compile-expres#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=n_yUwx7gR6I:4cUrfaVxl50:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=n_yUwx7gR6I:4cUrfaVxl50:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=n_yUwx7gR6I:4cUrfaVxl50:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=n_yUwx7gR6I:4cUrfaVxl50:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/n_yUwx7gR6I" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/typeerror-object-has-no-method-compile-expres</feedburner:origLink></item>
    <item>
      <pubDate>Thu, 18 Aug 2011 10:39:00 -0700</pubDate>
      <title>There's too many eBook readers</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/M-pGaDXuvh4/theres-too-many-ebook-readers</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/theres-too-many-ebook-readers</guid>
      <description>&lt;p&gt;
	&lt;p&gt;It's ridiculous there's a couple different formats for eBooks, and none of the eBook readers sync with each other. Free and legal *.mobi books you got from elsewhere don't sync on the Kindle. Having Kindle, Google Books, and iBook on the same device just doesn't make sense at all. It'd be great if there was a reader that read the different formats, and then used Dropbox API to sync.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In addition, there's no precieved value add of one over the other. It's just lock in. And as a user, it sucks.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/theres-too-many-ebook-readers"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/theres-too-many-ebook-readers#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=M-pGaDXuvh4:_W419_KtWhQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=M-pGaDXuvh4:_W419_KtWhQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=M-pGaDXuvh4:_W419_KtWhQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=M-pGaDXuvh4:_W419_KtWhQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/M-pGaDXuvh4" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/theres-too-many-ebook-readers</feedburner:origLink></item>
    <item>
      <pubDate>Mon, 15 Aug 2011 09:58:00 -0700</pubDate>
      <title>Jonathan Blow, Opinionated Creator of Two Video Games, is 'Attempting to be Profound'</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/p2cq_Od0mUI/jonathan-blow-opinionated-creator-of-two-vide</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/jonathan-blow-opinionated-creator-of-two-vide</guid>
      <description>&lt;p&gt;
	&lt;div class="posterous_bookmarklet_entry"&gt;
      &lt;blockquote class="posterous_long_quote"&gt;Jonathan Blow may be known in some circles for knocking other people's work, but I discovered, as we chatted last week, that he almost committed one of the very game design sins he opposed. It recalibrated my take on what he criticizes about games. He's not criticizing people or even games but trends, currents even he can be swept into. It happend about a year ago. He's vociferously against rewards-driven game design, what he sees as a Skinner-box approach to game design that compels a player to keep playing by perpetually offering a trickle of rewards for minor actions. That's what he was knocking when he criticized the fealty designers had to littering gold coins into their game worlds, &lt;em&gt;Super Mario Bros.&lt;/em&gt;-style, to keep players going. That's what he was referring to when he knocked the eternal treadmill of achievement that is almost every massively multiplayer online game. &lt;strong&gt;When you engineer a game to foster those constant reward compulsions, he told me, "there is a lack of faith in what is the core game."&lt;/strong&gt; The game designer doesn't trust that players will find the playing of a game to be rewarding enough, so he or she adds all these baubles and unlocks to keep the player playing.&lt;/blockquote&gt;&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://kotaku.com/5829591/jonathan-blow-opinionated-creator-of-two-video-games-is-attempting-to-be-profound"&gt;kotaku.com&lt;/a&gt;&lt;/div&gt;
Could that be gamification gone awry? It's something for me to think about. Perhaps there should be a balance between pandering to the user and asking something of them.
    &lt;p&gt;&lt;/p&gt;&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/jonathan-blow-opinionated-creator-of-two-vide"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/jonathan-blow-opinionated-creator-of-two-vide#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=p2cq_Od0mUI:dpZW1_v_MSQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=p2cq_Od0mUI:dpZW1_v_MSQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=p2cq_Od0mUI:dpZW1_v_MSQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=p2cq_Od0mUI:dpZW1_v_MSQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/p2cq_Od0mUI" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/jonathan-blow-opinionated-creator-of-two-vide</feedburner:origLink></item>
    <item>
      <pubDate>Sat, 06 Aug 2011 17:56:00 -0700</pubDate>
      <title>Using node.js async library reminds me of continuations and monads</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/TAAAcHI27Ow/64271154</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/64271154</guid>
      <description>&lt;p&gt;
	&lt;p&gt;I started playing around with Node.js in earnest, and have run into the dreaded nested callbacks that everyone complains about.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I started off with something simple. It's a http method that signs people up to a webpage. There are just a few steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Use the submitted password to generate a crypted password&lt;/li&gt;
&lt;li&gt;Check to see if there's a user already in the database with a certain facebook uid&lt;ol&gt;
&lt;li&gt;if there is, set the email and crypted password&lt;/li&gt;
&lt;li&gt;if there isn't create a new user&lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;li&gt;Save the user&lt;/li&gt;
&lt;li&gt;Set the user session&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Not really hard. I'm pretty lazy, so I just put all three in a single gist. The progression is from a&amp;nbsp;synchronous version, to&amp;nbsp;nested callback, and then a&amp;nbsp;&lt;a href="https://github.com/caolan/async#waterfall"&gt;async waterfall&lt;/a&gt;&amp;nbsp;of the same code in coffeescript.&lt;/p&gt;
&lt;p&gt;&lt;div class="data type-coffeescript"&gt;
    
      &lt;table class="lines" cellspacing="0" cellpadding="0"&gt;
        &lt;tr&gt;
          &lt;td&gt;
            &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="L1"&gt;1&lt;/span&gt;
&lt;span rel="#L2" id="L2"&gt;2&lt;/span&gt;
&lt;span rel="#L3" id="L3"&gt;3&lt;/span&gt;
&lt;span rel="#L4" id="L4"&gt;4&lt;/span&gt;
&lt;span rel="#L5" id="L5"&gt;5&lt;/span&gt;
&lt;span rel="#L6" id="L6"&gt;6&lt;/span&gt;
&lt;span rel="#L7" id="L7"&gt;7&lt;/span&gt;
&lt;span rel="#L8" id="L8"&gt;8&lt;/span&gt;
&lt;span rel="#L9" id="L9"&gt;9&lt;/span&gt;
&lt;span rel="#L10" id="L10"&gt;10&lt;/span&gt;
&lt;span rel="#L11" id="L11"&gt;11&lt;/span&gt;
&lt;span rel="#L12" id="L12"&gt;12&lt;/span&gt;
&lt;span rel="#L13" id="L13"&gt;13&lt;/span&gt;
&lt;span rel="#L14" id="L14"&gt;14&lt;/span&gt;
&lt;/pre&gt;
          &lt;/td&gt;
          &lt;td width="100%"&gt;
            
              
                &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;post&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/users/signup&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;(req, res) -&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC2"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nv"&gt;crypted_password = &lt;/span&gt;&lt;span class="nx"&gt;User&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;generate_crypted_password&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;password&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC3"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nv"&gt;user = &lt;/span&gt;&lt;span class="nx"&gt;User&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;findOne&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;facebook.uid&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;uid&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC4"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC5"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nv"&gt;user.email = &lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;email&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC6"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nv"&gt;user.password = &lt;/span&gt;&lt;span class="nx"&gt;crypted_password&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC7"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;else&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC8"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nv"&gt;user = &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;User&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nv"&gt;email: &lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;email&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;password: &lt;/span&gt;&lt;span class="nx"&gt;crypted_password&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC9"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;save&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC10"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;session&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;regenerate&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC11"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC12"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;flash&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;info&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;Welcome into the fold!&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC13"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;redirect&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;hospitality/welcome&amp;#39;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC14"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
              
            
          &lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;
    
  &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;The synchronous version of the code, you'd never write in node. This is because the calls to retrieve the User from the database blocks.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now, in the nested callback version is what you'd write in node.&amp;nbsp;There's a couple things to consider here.&amp;nbsp;You can't really throw errors in node, because by the time the callback is called, the stack that created the callback is already gone. So that means you need to&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;handle the error in the callback itself&lt;/li&gt;
&lt;li&gt;otherwise pass errors from callback to callback.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;All the error checking code, gets in the way of seeing what the good code path is. Also, it's a bit of a pain when refactoring or reordering the business logic. Sure, there are emacs major modes (which is broken for coffeescript) and vim syntax highlighting autoindentations, but imo, if you have to rely on the IDE to help you write the language, that's a weakness of the language that you're making up for with the IDE.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Some people say, suck it up, that's the way things are suppose to be.&amp;nbsp;Being from the Ruby world, but I can't help but feel like nested callbacks are abusive. I found a blog post that recounted what various javascript gurus said.&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Crockford himself, for example, thinks that this is just the way it should be, and people who don't like it are just grumpy (Waa!) &lt;/li&gt;
&lt;li&gt;Ryan Dahl glossed over the problem of losing the stack, and suggested that you just roll your own solution for remembering state across your series of function contexts. &lt;/li&gt;
&lt;li&gt;Jed Schmidt revealed his fantastic hack: program in continuables/streams. The solution is actually very close to Haskell's I/O Monad, and is both clever and beautiful, but it requires you to change your mind-set completely and therefore is unlikely to gain a lot of mindshare. &lt;/li&gt;
&lt;li&gt;Tim Caswell introduced a helper library called Step which allows you to chain your functions rather than nest them. &lt;/li&gt;
&lt;li&gt;Tom Hughes-Croucher recommended using named functions, for the stacktraces will display them names and therefore be more helpful.&lt;/li&gt;
&lt;/ul&gt;
via &lt;a href="http://tobyho.com/Trampolines_in_Javascript_and_the_Quest_for_Fewer_Nested_Callbacks"&gt;http://tobyho.com/Trampolines_in_Javascript_and_the_Quest_for_Fewer_Nested_Callbacks&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;
&lt;p&gt;I started looking at the&amp;nbsp;&lt;a href="https://github.com/joyent/node/wiki/modules#wiki-async-flow"&gt;list of node modules&lt;/a&gt;&amp;nbsp;to see if there was something better. While I haven't looked through all of them yet,&amp;nbsp;&lt;a href="https://github.com/caolan/async"&gt;async&lt;/a&gt;&amp;nbsp;seemed promising, and one that a lot of people are using.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In the aync.waterfall version, I was disappointed, it didn't look any better. In fact, notice it looks very much like the synchronous code, but with all this chrome code around it. The chrome is used to wrangle the dataflow that one usually takes for granted in synchronous code. Notice what is required of you to do manually that's implicit in synchronous code:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Each "line" of code is actually a function that takes arguments that are the results from the previous "line" and a callback that you use to tell node the "next line" to execute.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;The concept of scope across different "lines" goes out the window. You have to explicitly state what variables gets passed from "line" to "line", since the scope of variables is only within a "line".&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The first point is like&amp;nbsp;&lt;a href="http://www.ps.uni-saarland.de/~duchier/python/continuations.html"&gt;continuations&lt;/a&gt;. The second point is like a monad (a poor version of one), as explained by &lt;a href="http://osteele.com/archives/2007/12/overloading-semicolon"&gt;Overloading the semicolon&lt;/a&gt;. In fact, reading it again, I recognize some of the different monads he's describing as different helper functions in the async library.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="font-family: times new roman, times, serif; font-size: 14px; line-height: 18px;"&gt;Or, you could replace the rule with &amp;ldquo;the first statement computes a&amp;nbsp;&lt;strong style="font-size: 0.9em;"&gt;list&lt;/strong&gt;&amp;nbsp;of values, and the second statement runs once&amp;nbsp;&lt;strong style="font-size: 0.9em;"&gt;using each of them&lt;/strong&gt;&amp;ldquo;. This is the&amp;nbsp;&lt;code style=""&gt;List&lt;/code&gt;&amp;nbsp;monad; it&amp;rsquo;s &amp;mdash; yes, you&amp;rsquo;re ahead of me here &amp;mdash; it&amp;rsquo;s useful too.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That's a little like &lt;a href="https://github.com/caolan/async#map"&gt;async.map&lt;/a&gt;&amp;nbsp;if its first argument was a callback that returned an array.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It's easier to understand what continuations and monads are for once you've run into problems it solves, rather than making analogies with spacesuits, burritos, etc.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It's like having to drive stick in flow control, when you've been driving automatic all your life. I think the control over flow control is necessary for an increasingly async/parallel/concurrent (I know they're not all the same) world that we have to code for. However, I wish the syntax was much better. The proliferation of async libraries in node is indicative that a lot of people find the current javascript language constructs for flow control to be wanting, and are essentially inventing new language features.&amp;nbsp;I wonder if it can't be done much better. I'm not pleased with the solutions I've found so far. I'll keep looking. The post on how &lt;a href="http://importantshock.wordpress.com/2009/01/18/jquery-is-a-monad/"&gt;JQuery is a monad&lt;/a&gt;&amp;nbsp;is applicable here.&lt;/p&gt;
&lt;p&gt;It may be that the easiest thing right now is to have named callbacks instead of anonymous callbaks to escape nested callback hell.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/64271154"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/64271154#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=TAAAcHI27Ow:8mlF82dIZeU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=TAAAcHI27Ow:8mlF82dIZeU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=TAAAcHI27Ow:8mlF82dIZeU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=TAAAcHI27Ow:8mlF82dIZeU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/TAAAcHI27Ow" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/64271154</feedburner:origLink></item>
    <item>
      <pubDate>Fri, 15 Jul 2011 10:23:00 -0700</pubDate>
      <title>Is There Anything Good About Men</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/yrDPGpCu9fw/is-there-anything-good-about-men</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/is-there-anything-good-about-men</guid>
      <description>&lt;p&gt;
	&lt;div class="posterous_bookmarklet_entry"&gt;
      &lt;blockquote class="posterous_long_quote"&gt;&lt;p&gt;For now,
the point is that it explains how we can have opposite stereotypes. Men go to
extremes more than women. Stereotypes are sustained by confirmation bias. Want
to think men are better than women? Then look at the top, the heroes, the
inventors, the philanthropists, and so on. Want to think women are better than
men? Then look at the bottom, the criminals, the junkies, the losers. &lt;/p&gt;

&lt;p&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;In an
important sense, &lt;b style=""&gt;men really are better
AND worse than women.&lt;/b&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;A pattern
of more men at both extremes can create all sorts of misleading conclusions and
other statistical mischief. To illustrate, let’s assume that men and women are
on average exactly equal in every relevant respect, but more men at both
extremes. If you then measure things that are bounded at one end, it screws up
the data to make men and women seem significantly different. &lt;/p&gt;

&lt;p style="text-indent: .5in;"&gt;Consider grade point average in
college. Thanks to grade inflation, most students now get A’s and B’s, but a
few range all the way down to F. With that kind of low ceiling, the
high-achieving males cannot pull up the male average, but the loser males will
pull it down. The result will be that women will get higher average grades than
men — again despite no difference in average quality of work. &lt;/p&gt;

&lt;p&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;The
opposite result comes with salaries. There is a minimum wage but no maximum.
Hence the high-achieving men can pull the male average up while the
low-achieving ones can’t pull it down. &lt;span class="GramE"&gt;The result?&lt;/span&gt; Men
will get higher average salaries than women, even if there is no average
difference on any relevant input. &lt;/p&gt;

&lt;p&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Today, sure
enough, women get higher college grades but lower salaries than men. There is
much discussion about what all this means and what should be done about it. But
as you see, both facts could be just a statistical quirk stemming from male
extremity.&lt;/p&gt;&lt;/blockquote&gt;

&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.psy.fsu.edu/~baumeistertice/goodaboutmen.htm"&gt;psy.fsu.edu&lt;/a&gt;&lt;/div&gt;
    &lt;p&gt;That's pretty interesting. Sometimes, I try to think of thoughts I'm not allowed to think, but it's so hard since things that you're whispered to be true over and over again, you've just come to accept it. 
&lt;/p&gt;&lt;p&gt;'Maybe there is a disparity there', rather than, 'maybe it's a statistical aberration'.&lt;/p&gt;&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/is-there-anything-good-about-men"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/is-there-anything-good-about-men#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=yrDPGpCu9fw:bxoD9zZsxGE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=yrDPGpCu9fw:bxoD9zZsxGE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=yrDPGpCu9fw:bxoD9zZsxGE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=yrDPGpCu9fw:bxoD9zZsxGE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/yrDPGpCu9fw" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/is-there-anything-good-about-men</feedburner:origLink></item>
    <item>
      <pubDate>Thu, 14 Jul 2011 09:41:00 -0700</pubDate>
      <title>Automaking Google+ circles is a bad idea</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/oskfRNpY8fA/automaking-google-circles-is-a-bad-idea</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/automaking-google-circles-is-a-bad-idea</guid>
      <description>&lt;p&gt;
	&lt;blockquote&gt;
&lt;p&gt;&lt;span style="font-family: lucida grande, tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 14px;"&gt;Katango's ppl grouping algo is impressive. Why didn't Google+ attempt to automatically suggest or put people in circles to begin with? Most people would rather start with that and trim it as needed than start from scratch.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="font-family: lucida grande, tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 14px;"&gt;Overheard on my facebook wall&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Google+ already auto suggests. The order of friends that they show you when you're adding your friends isn't random. It's ordered by high likelihood to be friends.&lt;/p&gt;
&lt;p&gt;No, that's a bad idea to put people in circles to begin with. You want to make it easier for people to pick, but you don't want to make the final decision for the user of this nature, unless you can guarantee 100% satisfaction.&lt;/p&gt;
&lt;p&gt;There's a lot of subtle social cues that aren't captured by our online interactions. Yes, you can infer alot, but not everything. I remember some users hating on facebook because they kept suggesting ex-bfs as friends to add. Imagine if you just auto added them.&lt;/p&gt;
&lt;p&gt;That one time someone shares their swinger buttsex stories with their mom is one time too many.&lt;/p&gt;
&lt;p&gt;And mainstream users don't check their premade circles. They just use whatever default is, and suffer the consequences later.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/automaking-google-circles-is-a-bad-idea"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/automaking-google-circles-is-a-bad-idea#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=oskfRNpY8fA:V2dUY8KOZT8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=oskfRNpY8fA:V2dUY8KOZT8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=oskfRNpY8fA:V2dUY8KOZT8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=oskfRNpY8fA:V2dUY8KOZT8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/oskfRNpY8fA" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://iamwil.posterous.com/automaking-google-circles-is-a-bad-idea</feedburner:origLink></item>
    <item>
      <pubDate>Thu, 14 Jul 2011 09:25:00 -0700</pubDate>
      <title>Facebook UI changes over time (people hate change)</title>
      <link>http://feedproxy.google.com/~r/TheWebAndAllThatJazz/~3/29hnRbAj3XU/facebook-ui-changes-over-time-people-hate-cha</link>
      <guid isPermaLink="false">http://iamwil.posterous.com/facebook-ui-changes-over-time-people-hate-cha</guid>
      <description>&lt;p&gt;
	&lt;div class="posterous_bookmarklet_entry"&gt;
      &lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="Media_httpd2o7bfz2il9_gypjr" height="503" src="http://posterous.com/getfile/files.posterous.com/iamwil/xIGkljDmmElovmzFqqpyEnCfgBJoArHHDltcladvfrouhlfpwdzgdtGomqtv/media_httpd2o7bfz2il9_GypJr.jpg.scaled500.jpg" width="485" /&gt;
&lt;/div&gt;


&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.quora.com/User-Interface-Design/How-has-Facebooks-UI-changed-over-time"&gt;quora.com&lt;/a&gt;&lt;/div&gt;
    &lt;p&gt;I got in fb on the 3rd iteration of the site. I remembered that every time there was an interface change, inevitably, people complained. Now, no one ever laments the old facebook interfaces. 
&lt;/p&gt;&lt;p&gt;I'm glad facebook has the nerve to upset its users to make things better.&lt;/p&gt;&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamwil.posterous.com/facebook-ui-changes-over-time-people-hate-cha"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://iamwil.posterous.com/facebook-ui-changes-over-time-people-hate-cha#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=29hnRbAj3XU:zsPV6vjw7bw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=29hnRbAj3XU:zsPV6vjw7bw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?a=29hnRbAj3XU:zsPV6vjw7bw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheWebAndAllThatJazz?i=29hnRbAj3XU:zsPV6vjw7bw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheWebAndAllThatJazz/~4/29hnRbAj3XU" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/48385/wilhelm.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hJX3e2HdE</posterous:profileUrl>
        <posterous:firstName>Wil</posterous:firstName>
        <posterous:lastName>Chung</posterous:lastName>
        <posterous:nickName>Wilhelm</posterous:nickName>
        <posterous:displayName>Wil Chung</posterous:displayName>
      </posterous:author>
      <media:content type="image/jpeg" height="503" width="485" url="http://getfile3.posterous.com/getfile/files.posterous.com/iamwil/xIGkljDmmElovmzFqqpyEnCfgBJoArHHDltcladvfrouhlfpwdzgdtGomqtv/media_httpd2o7bfz2il9_GypJr.jpg">
        <media:thumbnail height="503" width="485" url="http://getfile9.posterous.com/getfile/files.posterous.com/iamwil/xIGkljDmmElovmzFqqpyEnCfgBJoArHHDltcladvfrouhlfpwdzgdtGomqtv/media_httpd2o7bfz2il9_GypJr.jpg.scaled500.jpg" />
      </media:content>
    <feedburner:origLink>http://iamwil.posterous.com/facebook-ui-changes-over-time-people-hate-cha</feedburner:origLink></item>
  </channel>
</rss>

