<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>quantblog</title>
	<atom:link href="http://quantblog.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://quantblog.wordpress.com</link>
	<description>gords thoughts on quant, math &#38; software creation</description>
	<lastBuildDate>Sun, 22 Jan 2012 23:49:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='quantblog.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>quantblog</title>
		<link>http://quantblog.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://quantblog.wordpress.com/osd.xml" title="quantblog" />
	<atom:link rel='hub' href='http://quantblog.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Twitter is dead, long live Twitter!</title>
		<link>http://quantblog.wordpress.com/2012/01/22/twitter-is-dead-long-live-twitter/</link>
		<comments>http://quantblog.wordpress.com/2012/01/22/twitter-is-dead-long-live-twitter/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 23:38:45 +0000</pubDate>
		<dc:creator>quantblog</dc:creator>
				<category><![CDATA[Math]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[decentralise]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[freedom]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[politics]]></category>
		<category><![CDATA[social]]></category>
		<category><![CDATA[society]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://quantblog.wordpress.com/?p=742</guid>
		<description><![CDATA[This would have been a tweet but has snowballed beyond its 140 char limits into a definite POST. Twitter has been offline for the last 40minutes, and I really wanted to blip / tweet / ping the world that I had been enjoying some things&#8230; Enjoyments Have been enjoying the following without any guilt whatsoever [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=742&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This would have been a tweet but has snowballed beyond its 140 char limits into a definite POST.</p>
<p>Twitter has been offline for the last 40minutes, and I really wanted to blip / tweet / ping the world that I had been enjoying some things&#8230;</p>
<h3>Enjoyments</h3>
<p>Have been enjoying the following without any guilt whatsoever :</p>
<p>- &#8216;<a href="http://en.wikipedia.org/wiki/Religulous">religulous</a>&#8216; doco last nite, very irreverend, very entertaining</p>
<p>- &#8216;<a href="http://bit.ly/tqx6vK">Rereading Darwin</a>&#8216; &#8211; still radical &amp; relevant if we can grok eon sized time-spans</p>
<p>- web based interactive graphing calculator : <a href="http://www.abettercalculator.com">www.abettercalculator.com</a></p>
<p>These are all awesome things, relying as they do on the advances that can be made when young people have freedom to think, to learn, have access to books and mentors and dont need to spend all their time either at war or gathering food or preparing shelter.</p>
<h3>Decentralise!</h3>
<p>So that was going to be the basis of my tweet, but that has been subverted into a rant on why Twitter, and Facebook, and Foursquare and LinkedIn and&#8230; are fundamentally wrong, whereas the Internet is fundamentally right.</p>
<p>Twitter and Facebook etc. [or the social networking needs they serve] should really be implemented as a distributed system. Each person or a cluster of people would have a local server &#8216;node&#8217;, and it would route messages to other nodes and so on.</p>
<p>For popular tweets or status updates, or checkins or wall postings there would be thousands of copies of that tweet sitting on servers all over the globe. This redundancy is a good thing, there would be less chance that a single Denial of Service attack or plain old human error or of a hardware failure or a mass event taking down the whole system. It could also mean we have more control of our own data &#8211; we should &#8216;own&#8217; the posts we make, and the company we pay [ in advertising or in cash ] would provide the plumbing for the routing of messages and content.</p>
<p>This kind of distributed agent approach requires us to grow psychologically beyond the need for a &#8216;Central Authority&#8217;.. in fact I think that the technology will eventually take us forward to better forms of government, security and privacy, in that they are less centralised, more efficiently optimised to the local and the global environment &#8211; fundamentally they will offer more freedom and may require more responsibility.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quantblog.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quantblog.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quantblog.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quantblog.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quantblog.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quantblog.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quantblog.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quantblog.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quantblog.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quantblog.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quantblog.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quantblog.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quantblog.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quantblog.wordpress.com/742/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=742&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quantblog.wordpress.com/2012/01/22/twitter-is-dead-long-live-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07821ad4e422141d50dff4696a5ac214?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">quantblog</media:title>
		</media:content>
	</item>
		<item>
		<title>First impressions on using Parse.com json store</title>
		<link>http://quantblog.wordpress.com/2012/01/14/first-impressions-on-using-parse-com-json-store/</link>
		<comments>http://quantblog.wordpress.com/2012/01/14/first-impressions-on-using-parse-com-json-store/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 12:38:21 +0000</pubDate>
		<dc:creator>quantblog</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[parse parse.com json store database data nosql mongodb]]></category>

		<guid isPermaLink="false">http://quantblog.wordpress.com/?p=729</guid>
		<description><![CDATA[Parse.com is a Y-combinator startup offering a fest-setup and easy -to-use backend store for iOS and web apps &#8230; Here are some impressions after using on a commercial iPhone app project : My feedback after using Parse for real work for a few days on iOS is that there are a few things that Id [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=729&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://parse.com" target="_blank">Parse.com</a> is a Y-combinator startup offering a fest-setup and easy -to-use backend store for iOS and web apps &#8230;</p>
<p>Here are some impressions after using on a commercial iPhone app project :</p>
<p>My feedback after using Parse for real work for a few days on iOS is that there are a few things that Id like to see added :</p>
<ul>
<li>allow Pointer type cols [aka relations / object refs ] to be added via the web / DataBrowser</li>
<li>allow double click on objectIDs in DataBrowser, for ctrl-C/V</li>
<li>add csv export, json export [ imnso, these make me more likely to pay for Parse, not less ]</li>
<li>search/filter, sort cols, in DataBrowser</li>
</ul>
<p>As a workaround I had to do &#8220;inspect element&#8221; of the Data Browser web page to get the object id, then write some test code to create the object Pointer references.</p>
<p>&nbsp;</p>
<p>Also Ive been pining for a detail button for each row &#8211; that would pull up a <strong>detail grid</strong> with [ colname | value ] so I can see all a rows attributes vertically at a glance [ if it can be left open while I select rows, all the better ]</p>
<p>Generally, the iOS Parse api is nice, and it just works&#8230; in fact a lot of this I had already implemented myself in js + Node.js + mongo, but a client wanted a Parse backend so that gave me an excuse to evaluate.</p>
<p>So my first impression is good, but as people use this for real work, youll need those little details to save time.</p>
<p>( btw, prefetch link/reference with includeKey is handy )</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quantblog.wordpress.com/729/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quantblog.wordpress.com/729/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quantblog.wordpress.com/729/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quantblog.wordpress.com/729/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quantblog.wordpress.com/729/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quantblog.wordpress.com/729/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quantblog.wordpress.com/729/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quantblog.wordpress.com/729/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quantblog.wordpress.com/729/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quantblog.wordpress.com/729/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quantblog.wordpress.com/729/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quantblog.wordpress.com/729/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quantblog.wordpress.com/729/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quantblog.wordpress.com/729/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=729&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quantblog.wordpress.com/2012/01/14/first-impressions-on-using-parse-com-json-store/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07821ad4e422141d50dff4696a5ac214?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">quantblog</media:title>
		</media:content>
	</item>
		<item>
		<title>Lokenote.com + realtime web apps</title>
		<link>http://quantblog.wordpress.com/2011/10/05/lokenote-com-iphone-app-what-next/</link>
		<comments>http://quantblog.wordpress.com/2011/10/05/lokenote-com-iphone-app-what-next/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 10:37:12 +0000</pubDate>
		<dc:creator>quantblog</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[lokenote]]></category>
		<category><![CDATA[realtime]]></category>
		<category><![CDATA[web3.0]]></category>
		<category><![CDATA[webapp]]></category>
		<category><![CDATA[websockets]]></category>

		<guid isPermaLink="false">http://quantblog.wordpress.com/?p=697</guid>
		<description><![CDATA[Lokenote Lokenote is a very simple way to share notes based at a particular location&#8230; a kind of geo PostIt note taker. Heres an example of a Lokenote. Go here for the Lokenote app in iTunes. There are great apps out there such as Gowalla, FourSquare, Yelp but I felt the need for something ultra simple [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=697&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Lokenote</h3>
<p>Lokenote is a very simple way to share notes based at a particular location&#8230; a kind of <strong>geo PostIt note</strong> taker.</p>
<ul>
<li>Heres an example of a <a href="http://lokenote.com/lokenote/P5fTForl" target="_blank">Lokenote</a>.</li>
<li>Go here for the <a href="http://itunes.apple.com/us/app/lokenote/id468041110" target="_blank">Lokenote app in iTunes</a>.</li>
</ul>
<p>There are great apps out there such as Gowalla, FourSquare, Yelp but I felt the need for something ultra simple with low overhead where you dont need to register or signup &#8211; just drop a note where you are, and leave it for other people to find.</p>
<p>I still see notices pasted up on supermarkets and on lampposts for <strong>Missing Cat,  Part-time Work,  Flatmate Needed </strong>or<strong> Garage Sale</strong>.. so I think there is a need for this kind of utility belt app.  I specifically wanted a tool to jot down nice graffiti snippets from around St Kilda where I live, and mention handy places a non-local might not know about such as the well hidden laundry shop.  Id like to give a virtual nod to some of the superb out of the way food places that exist in my version of Melbourne.</p>
<h3>Next</h3>
<p>In developing Lokenote I took the &#8216;<strong>Fire!&#8230; Ready? Aim</strong>&#8216; approach &#8211; I had a rough idea, started as simply as I could, implemented feverishly and only added things I thought were absolutely essential.</p>
<p>Not being able to entertain any extra features had the perverse effect of generating many more ideas.. but these had a more organic character growing out of reality.  Beware ideas that have clean academic edges, they tend to not fit the world.</p>
<p>The process of building Lokenote gives me a a furtive and voyeuristic sense of the kind of realtime app which I think is just around the next bend.</p>
<p>We can safely assume Next apps are :</p>
<ul>
<li>mobile/web hybrids with touch UI</li>
<li>reactive in realtime, via flowing data feed</li>
<li>location aware, fulltext searchable</li>
<li>online/offline robust</li>
<li>built on graph style data models</li>
</ul>
<p>But what might they actually do ?</p>
<ul>
<li>live auction or product sales [ the last 15mins of an eBay auction without the 6 day lead-up ]</li>
<li>convergence of blog, web page and chatroom with live comment feeds</li>
<li>realtime automated sentiment, trend summary</li>
<li>flexible links between any kinds of data</li>
<li>scrolling realtime chat, tethered to a location, keyword/topic, group or event</li>
</ul>
<h3>Feedback</h3>
<p>Feedback is the best word I have to describe the qualitative difference of realtime apps.</p>
<p>An example &#8211; rather than go to a conference and wait for surveys to come in from attendees and adapt in time for the next event, the feedback loop is immediate enough to customise as it progresses.  This already happens, with some presenters saying &#8216;tweet me if you want more or less on this topic&#8217; &#8211; a tweet is more anonymous and less impolite than interrupting the speaker, and feedback is current.</p>
<p>We might see more prices that are changing moment to moment, or other micro-optimisations &#8211;  the cost of a flight might be offered within a range, and be fixed only once the aircraft leaves the gate.</p>
<h3>Realtime Dating?</h3>
<p>Another example of a realtime next app is for dating.  I envision this as a kind of randomised, localised topic-chat :</p>
<ul>
<li>nominate a topic and post a comment, or join an active topic that looks interesting</li>
<li>chat away anonymously for a while</li>
<li>notice someone interesting, share your profile</li>
<li>get a nudge back or an invite for a one-on-one chat</li>
<li>if things progress, decide to meetup at a cafe on neutral ground</li>
</ul>
<p>Most dating apps use the profile photo as the initial filter.. but Im not so sure that is the initial filter in Life.. sometimes people with unremarkable looks win you over and in fact become more attractive over time as conversation unveils their personality.  So conversation as the initial filter might actually work.</p>
<p>The very same app could be a great way to generate ideas in business or science or political activism&#8230; it just seems the old chat room needs to be upgraded for the realtime web, so that it resides next to all the other things I do on the web.  I might want to attach a web page or doc or graphic or photo or video to my realtime comment.  Parties might agree to go private with some comments.  You might want to limit the audience to a group or post anonymously then go back on-record.</p>
<h3>Lets Build</h3>
<p>We have all the plumbing to do this feasibly &#8211; technologies such as nginx, node.js, Mongo, Couch, Riak, Redis, Web Sockets, JSON, HTML5 are really at the point of becoming the normal way to write dynamic data-driven responsive web/mobile apps.</p>
<p>Its about taking some risk to walk over the local maxima and build these things that will make life simpler, leaving more time for people to enjoy the roses.</p>
<p>Well, those are my thoughts for now&#8230; enjoy, gord.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quantblog.wordpress.com/697/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quantblog.wordpress.com/697/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quantblog.wordpress.com/697/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quantblog.wordpress.com/697/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quantblog.wordpress.com/697/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quantblog.wordpress.com/697/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quantblog.wordpress.com/697/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quantblog.wordpress.com/697/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quantblog.wordpress.com/697/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quantblog.wordpress.com/697/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quantblog.wordpress.com/697/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quantblog.wordpress.com/697/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quantblog.wordpress.com/697/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quantblog.wordpress.com/697/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=697&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quantblog.wordpress.com/2011/10/05/lokenote-com-iphone-app-what-next/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07821ad4e422141d50dff4696a5ac214?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">quantblog</media:title>
		</media:content>
	</item>
		<item>
		<title>Adding Circles &#8211; Javascript animation of Fourier Series</title>
		<link>http://quantblog.wordpress.com/2011/10/05/adding-circles-javascript-animation-of-fourier-series/</link>
		<comments>http://quantblog.wordpress.com/2011/10/05/adding-circles-javascript-animation-of-fourier-series/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 04:31:30 +0000</pubDate>
		<dc:creator>quantblog</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Math]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[fourier]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[series]]></category>
		<category><![CDATA[sine]]></category>

		<guid isPermaLink="false">http://quantblog.wordpress.com/?p=726</guid>
		<description><![CDATA[I get a few hits for the Animated Sine demo in Javascript &#8211; maybe this is a good way to introduce young people to math? Here is a minor update I did a while ago that shows what happens when a second circle spins around the point on the outside of the first circle&#8230; [click [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=726&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I get a few hits for the Animated Sine demo in Javascript &#8211; maybe this is a good way to introduce young people to math?</p>
<p>Here is a minor update I did a while ago that shows what happens when a second circle spins around the point on the outside of the first circle&#8230;</p>
<p><a href="http://treeblurb.com/dev_math/sin_canv02.html"><img class="aligncenter size-full wp-image-733" title="Two Circles - First 2 Fourier Terms" src="http://quantblog.files.wordpress.com/2011/10/screen-shot-2011-10-05-at-3-27-34-pm.png?w=490&#038;h=254" alt="" width="490" height="254" /></a></p>
<p><a href="http://treeblurb.com/dev_math/sin_canv02.html">[click the pic or here to view the animation ]</a></p>
<p>This might be a nice lead into Fourier Series&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quantblog.wordpress.com/726/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quantblog.wordpress.com/726/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quantblog.wordpress.com/726/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quantblog.wordpress.com/726/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quantblog.wordpress.com/726/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quantblog.wordpress.com/726/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quantblog.wordpress.com/726/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quantblog.wordpress.com/726/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quantblog.wordpress.com/726/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quantblog.wordpress.com/726/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quantblog.wordpress.com/726/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quantblog.wordpress.com/726/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quantblog.wordpress.com/726/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quantblog.wordpress.com/726/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=726&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quantblog.wordpress.com/2011/10/05/adding-circles-javascript-animation-of-fourier-series/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07821ad4e422141d50dff4696a5ac214?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">quantblog</media:title>
		</media:content>

		<media:content url="http://quantblog.files.wordpress.com/2011/10/screen-shot-2011-10-05-at-3-27-34-pm.png" medium="image">
			<media:title type="html">Two Circles - First 2 Fourier Terms</media:title>
		</media:content>
	</item>
		<item>
		<title>git goodness</title>
		<link>http://quantblog.wordpress.com/2011/03/23/git-goodness/</link>
		<comments>http://quantblog.wordpress.com/2011/03/23/git-goodness/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 23:44:07 +0000</pubDate>
		<dc:creator>quantblog</dc:creator>
				<category><![CDATA[node.js]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[gist]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[github.com]]></category>
		<category><![CDATA[source control]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://quantblog.wordpress.com/?p=686</guid>
		<description><![CDATA[Been using git more and more for public hacking and private consulting work. Some impressions / notes - github.com is superb!  Radically better/simpler/easier/nicer than sourceforge or google code I lurrve code snippets, aka GISTs hosted on github. Sane blogs support inline gists [ not wordpress.com, yet ] Found a clear readable tutorial on setting up [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=686&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Been using git more and more for public hacking and private consulting work.</p>
<p>Some impressions / notes -</p>
<ul>
<li><a href="http://github.com" target="_blank">github.com</a> is <em>superb</em>!  Radically better/simpler/easier/nicer than sourceforge or google code</li>
<li>I lurrve <a href="https://gist.github.com/gists" target="_blank">code snippets, aka GISTs</a> hosted on github. Sane blogs support inline gists [ not wordpress.com, yet ]</li>
<li>Found a clear readable tutorial on <a href="http://blog.agdunn.net/?p=277" target="_blank">setting up a remote git repo</a> (with git and gitosis) for private or public use</li>
<li>Github is so nice, its really tempting to just pay them money for some private repos rather than step thru the above</li>
<li>A handy <a href="http://help.github.com/git-cheat-sheets/" target="_blank">git meta- cheat sheet</a> here</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quantblog.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quantblog.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quantblog.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quantblog.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quantblog.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quantblog.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quantblog.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quantblog.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quantblog.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quantblog.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quantblog.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quantblog.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quantblog.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quantblog.wordpress.com/686/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=686&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quantblog.wordpress.com/2011/03/23/git-goodness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07821ad4e422141d50dff4696a5ac214?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">quantblog</media:title>
		</media:content>
	</item>
		<item>
		<title>serialq npm module &#8211; sequential processing tidyup</title>
		<link>http://quantblog.wordpress.com/2011/03/23/serialq-npm-module-sequential-processing-tidyup/</link>
		<comments>http://quantblog.wordpress.com/2011/03/23/serialq-npm-module-sequential-processing-tidyup/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 04:40:22 +0000</pubDate>
		<dc:creator>quantblog</dc:creator>
				<category><![CDATA[node.js]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[async]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[node]]></category>
		<category><![CDATA[sequential]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[serialq]]></category>
		<category><![CDATA[synchronous]]></category>

		<guid isPermaLink="false">http://quantblog.wordpress.com/?p=650</guid>
		<description><![CDATA[NPM Module So that we can reuse the simple serialq code from the previous blog post, I have tidied things up and packaged into an NPM module.Apparently its now installable using &#8220;npm install serialq&#8221;. Creating the module was a breeze - within your directory run &#8216;npm install&#8217; and fill in the questions npm adduser, npm [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=650&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>NPM Module</h3>
<p>So that we can reuse the simple serialq code from the previous blog post, I have tidied things up and packaged into an <a href="https://github.com/isaacs/npm#readme" target="_blank">NPM</a> module.Apparently its now installable using &#8220;npm install serialq&#8221;.</p>
<p>Creating the module was a breeze -</p>
<ul>
<li>within your directory run &#8216;npm install&#8217; and fill in the questions</li>
<li>npm adduser, npm publish</li>
<li>test with npm install</li>
</ul>
<p>After publishing, the module magically shows up on the extremely handy <a href="http://npm.mape.me/" target="_blank">npm.mape.me </a>module search site, under keyword &#8216;serial&#8217;.  See isaacs article &#8216;<a href="http://howtonode.org/how-to-module" target="_blank">How to Module</a>&#8216; for overview.</p>
<h3>Code</h3>
<p>The code is a bit simpler to read, as you can see its a very short implementation :</p>
<p><pre class="brush: jscript;">
exports.SerialQueue = function()
{
    var sq = 
    {
        funcs : [],
        next : function()
        {
            var Q = this;
            var f = Q.funcs.shift();
            if (f)
                f(function() {Q.next();});    
        },
        add : function(f)
        {
            this.funcs.push(f);
        },
        run : function()
        {
            this.next();
        }
    };
    return sq;
}
</pre></p>
<p>Usage :</p>
<p><pre class="brush: jscript;">
    var Q = SerialQueue();
    Q.add(fn_first);
    Q.add(fn_second);
    Q.run();&lt;/code&gt;
</pre></p>
<p>[ For a more readable version of the code snippets above, see <a href="https://gist.github.com/882771" target="_blank">this github Gist</a>.  Would be nice if wordpress.com supported Gists, Posterous do..ahh maybe time to move my blog. ]</p>
<h3>Thoughts</h3>
<p>I found this module handy for serializing access to a mysql database. Breaking out this boilerplate made the rest of the code clearer.  Code is up on <a href="https://github.com/justgord/serialq" target="_blank">github</a></p>
<p>Surprisingly Javascript + Node.js is a real workhorse.  I actually prefer it to Perl/PHP and even Ruby/Python for data plumbing tasks.  You have hashmaps and regex handling built in, garbage collection, and a superb general purpose data format in JSON.  Perhaps Javascript is the hundred-year-language?</p>
<p>Be aware this is &#8216;cooperative&#8217; sequencing.. each function gets passed a done or next argument, and will have to invoke that to signal completion [ causing the next function to be run ].</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quantblog.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quantblog.wordpress.com/650/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quantblog.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quantblog.wordpress.com/650/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quantblog.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quantblog.wordpress.com/650/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quantblog.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quantblog.wordpress.com/650/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quantblog.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quantblog.wordpress.com/650/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quantblog.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quantblog.wordpress.com/650/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quantblog.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quantblog.wordpress.com/650/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=650&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quantblog.wordpress.com/2011/03/23/serialq-npm-module-sequential-processing-tidyup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07821ad4e422141d50dff4696a5ac214?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">quantblog</media:title>
		</media:content>
	</item>
		<item>
		<title>Node.js : async vs serial foo for newbies</title>
		<link>http://quantblog.wordpress.com/2011/03/21/node-js-async-vs-serial-foo-for-newbies/</link>
		<comments>http://quantblog.wordpress.com/2011/03/21/node-js-async-vs-serial-foo-for-newbies/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 22:46:35 +0000</pubDate>
		<dc:creator>quantblog</dc:creator>
				<category><![CDATA[node.js]]></category>
		<category><![CDATA[async]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[node]]></category>
		<category><![CDATA[parallel]]></category>
		<category><![CDATA[sequential]]></category>
		<category><![CDATA[serial]]></category>

		<guid isPermaLink="false">http://quantblog.wordpress.com/?p=635</guid>
		<description><![CDATA[Node is Async by Default The whole crux of Node.js is that everything is done async by default &#8211; you fire off something now and get a callback at some later time.  Its a beautiful paradigm and means that you can get great performance, because it fits so closely with the underlying operating system calls [ [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=635&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Node is Async by Default</h3>
<p>The whole crux of <a href="http://nodejs.org" target="_blank">Node.js</a> is that everything is done async by default &#8211; you fire off something now and get a callback at some later time.  Its a beautiful paradigm and means that you can get great performance, because it fits so closely with the underlying operating system calls [ libevent, completion ports, sockets etc. ]</p>
<p>However, there are times you do need to enforce serial processing&#8230; for example checking for valid user/password must return a result before getting sensitive data and displaying it on the web page.</p>
<p>There are now sophisticated serial modules for Node, which Id recommend you look at for real work.  For example <a href="http://howtonode.org/step-of-conductor">Conductor</a> can mark sequential dependencies and will allow the most async processing to happen, while honoring those sequential constraints &#8211; the best of both worlds.  Another nice approach is this <a href="http://stackoverflow.com/questions/4631774/coordinating-parallel-execution-in-node-js">fork()</a> primitive via stackoverflow.com.</p>
<p>Lets have a look at the simplest case, to see whats under the hood&#8230;</p>
<h3>Demo Code</h3>
<p>I made a test program to compare sync versus async,  This illustrates a very direct approach for serial processing using a queue of work functions. Code on github, here : <a href="https://github.com/justgord/async_vs_serial" target="_blank">async_vs_serial.js</a></p>
<p><span id="more-635"></span></p>
<p>For those of us new to Node, its useful to look at the simplest serial implementation.</p>
<p>There are three slow functions : do_aaa(), do_bbb(), do_ccc().  These can be run serially or in parallel.</p>
<p>In the serial implementation I pop them off the front of the work queue and run each in turn.  For this to work, each work function calls next when its callback completes.</p>
<h3>Sample Output</h3>
<pre><strong>    Default run [ Async ]

        &gt; time ./async_vs_serial.js async

        RUNNING ASYNC
        &gt;aaa
        &gt;bbb
        &gt;ccc
        &lt;bbb took 50ms
        &lt;ccc took 120ms
        &lt;aaa took 220ms

        real    0m0.325s
        user    0m0.090s
        sys 0m0.012s

    Serial run

        &gt; time ./async_vs_serial.js serial

        RUNNING SERIAL
        &gt;aaa
        &lt;aaa took 220ms
        &gt;bbb
        &lt;bbb took 51ms
        &gt;ccc
        &lt;ccc took 120ms

        real    0m0.479s
        user    0m0.075s
        sys 0m0.011s</strong></pre>
<p>The async functions are nicely interleaved, saving wall time.</p>
<h3>Reality is Async by default</h3>
<p>I think its best to think async by default&#8230; after all the CPU can do a huge amount of work while its waiting for IO to complete.  Its no surprise were seeing a whole raft of realtime web apps being powered by Node.js.</p>
<p>For background, see Ryan Dahls talk notes on &#8216;<a href="http://s3.amazonaws.com/four.livejournal/20091117/jsconf.pdf" target="_blank">doing IO differently</a>&#8216;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quantblog.wordpress.com/635/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quantblog.wordpress.com/635/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quantblog.wordpress.com/635/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quantblog.wordpress.com/635/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quantblog.wordpress.com/635/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quantblog.wordpress.com/635/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quantblog.wordpress.com/635/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quantblog.wordpress.com/635/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quantblog.wordpress.com/635/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quantblog.wordpress.com/635/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quantblog.wordpress.com/635/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quantblog.wordpress.com/635/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quantblog.wordpress.com/635/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quantblog.wordpress.com/635/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=635&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quantblog.wordpress.com/2011/03/21/node-js-async-vs-serial-foo-for-newbies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07821ad4e422141d50dff4696a5ac214?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">quantblog</media:title>
		</media:content>
	</item>
		<item>
		<title>Node.js reading / links</title>
		<link>http://quantblog.wordpress.com/2011/03/12/node-js-reading-links/</link>
		<comments>http://quantblog.wordpress.com/2011/03/12/node-js-reading-links/#comments</comments>
		<pubDate>Sat, 12 Mar 2011 00:10:32 +0000</pubDate>
		<dc:creator>quantblog</dc:creator>
				<category><![CDATA[node.js]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[node]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[web reading]]></category>

		<guid isPermaLink="false">http://quantblog.wordpress.com/?p=623</guid>
		<description><![CDATA[Been hacking in Node.js and am really enjoying the saneness of this dev environment. Some handy links before I forget  : howto.no.de articles &#8211; especially Part I, II and III of &#8216;Learning Javascript with Object Graphs&#8217; Joyeur blogs &#8211; people working for Joyent on Node / DTrace / Solaris no.de Joyent Node hosting [ built [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=623&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Been hacking in <a href="http://nodejs.org">Node.js</a> and am really enjoying the saneness of this dev environment.</p>
<p>Some handy links before I forget  :</p>
<ul>
<li><a title="How To No.de" href="http://howto.no.de/">howto.no.de</a> articles &#8211; especially <a href="http://howto.no.de/object-graphs">Part I</a>, <a href="http://howto.no.de/object-graphs-2">II</a> and <a href="http://howto.no.de/object-graphs-3">III</a> of &#8216;Learning Javascript with Object Graphs&#8217;</li>
<li><a title="Joyent Blogs" href="http://joyeur.com">Joyeur</a> blogs &#8211; people working for Joyent on Node / DTrace / Solaris</li>
<li><a title="Joyent no.de Node.js cloud hosting" href="http://no.de">no.de</a> Joyent Node hosting [ built atop - 'open' solaris, ZFS, DTrace ]</li>
<li><a href="http://blog.nodejitsu.com/">NodeJitsu</a> blog</li>
<li><a href="http://npm.mape.me/">npm.mape.me</a> &#8211; searchable Node.js Modules list</li>
<li><a href="http://howtonode.org/connect-it">connect-it guide</a> &#8211; web framework with chained middleware layers</li>
<li><a href="http://expressjs.com/guide.html">express guide</a> &#8211; article on express web framework for Node</li>
<li><a href="https://github.com/shinetech/eventserver">eventserver</a> &#8211; Tom Lee&#8217;s internet tee piping for notifications</li>
</ul>
<p>In other news.. Im hacking over ssh via a long thin pipe to my linode server &#8211; using a very erratic mobile broadband connection, arrgh!</p>
<p>Cant wait for ADSL to _finally_ be connected here, so I can watch Bryan Cantrill talk about <a href="http://joyeur.com/2011/01/24/executive-speaker-series-bryan-cantrill-and-brendan-gregg-on-cloud-analytics/">Cloud Analytics</a> :]</p>
<p>As an aside.. why Javascript?  Consider</p>
<ul>
<li>Javascript is a totally distinct language from Java</li>
<li>Javascript deserves its bum rap.. to mis-quote Dame Judi Dench, its bad parts are &#8220;arse-clench-ingly&#8221; bad :]</li>
<li>The good parts of Javascript feel very nice, like a modern lisp inspired language, fairly concise, many valid idioms</li>
<li>V8 js engine is fast</li>
<li>Javascript callback mechanism fits async event IO really well</li>
<li>Node.js embodies the above bullet point into a fine server development environment</li>
<li>JSON, the Javascript native data format, is all the good things of XML with none of the bad</li>
<li>feels like a unix-like web-plumbing philosophy</li>
<li>can keep the same language syntax hat on when writing front end web apps and back end servers</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quantblog.wordpress.com/623/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quantblog.wordpress.com/623/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quantblog.wordpress.com/623/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quantblog.wordpress.com/623/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quantblog.wordpress.com/623/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quantblog.wordpress.com/623/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quantblog.wordpress.com/623/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quantblog.wordpress.com/623/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quantblog.wordpress.com/623/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quantblog.wordpress.com/623/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quantblog.wordpress.com/623/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quantblog.wordpress.com/623/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quantblog.wordpress.com/623/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quantblog.wordpress.com/623/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=623&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quantblog.wordpress.com/2011/03/12/node-js-reading-links/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07821ad4e422141d50dff4696a5ac214?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">quantblog</media:title>
		</media:content>
	</item>
		<item>
		<title>HFT and Concurrency Links &#8211; Reading List</title>
		<link>http://quantblog.wordpress.com/2011/02/08/hft-and-concurrency-links-reading-list/</link>
		<comments>http://quantblog.wordpress.com/2011/02/08/hft-and-concurrency-links-reading-list/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 00:17:17 +0000</pubDate>
		<dc:creator>quantblog</dc:creator>
				<category><![CDATA[languages]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[lang]]></category>
		<category><![CDATA[lock-free]]></category>
		<category><![CDATA[lockless]]></category>
		<category><![CDATA[locks]]></category>
		<category><![CDATA[mq]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[threading]]></category>

		<guid isPermaLink="false">http://quantblog.wordpress.com/?p=614</guid>
		<description><![CDATA[Some reading links - HN style forum of quant posts &#8211; quant.ly High Frequency Trading articles are here Herb Sutters Effective Concurrency articles from Dr Dobbs Journal are here Herb Sutters Blog &#8211; Sutters Mill Fun talk on C++ &#8211; vid here [If the goal of C++ is 'high-performance-abstraction' has it succeeded? ] Rhetorical question &#8211; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=614&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Some reading links -</p>
<ul>
<li>HN style forum of quant posts &#8211; <a title="quant.ly" href="http://quant.ly" target="_blank">quant.ly</a></li>
<li>High Frequency Trading articles are <a title="HFT articles" href="http://howtohft.blogspot.com" target="_blank">here</a></li>
<li>Herb Sutters Effective Concurrency articles from Dr Dobbs Journal are <a title="Effective Concurrency Articles" href="http://www.gotw.ca/publications/" target="_blank">here</a></li>
<li>Herb Sutters Blog &#8211; <a href="http://herbsutter.com/">Sutters Mill</a></li>
<li>Fun talk on C++ &#8211; <a href="http://channel9.msdn.com/Shows/Going+Deep/E2E-Herb-Sutter-and-Erik-Meijer-Perspectives-on-C">vid here</a> [If the goal of C++ is 'high-performance-abstraction' has it succeeded? ]</li>
</ul>
<p>Rhetorical question &#8211; given that only three people on the planet truly understand the subtleties of C++ &#8230; is this a language anyone should be using to build reliable software?    C++Ox is nearing completion, so the language continues to grow in size.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quantblog.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quantblog.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quantblog.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quantblog.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quantblog.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quantblog.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quantblog.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quantblog.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quantblog.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quantblog.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quantblog.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quantblog.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quantblog.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quantblog.wordpress.com/614/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=614&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quantblog.wordpress.com/2011/02/08/hft-and-concurrency-links-reading-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07821ad4e422141d50dff4696a5ac214?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">quantblog</media:title>
		</media:content>
	</item>
		<item>
		<title>Xeno : simple tile game demo in HTML5+js</title>
		<link>http://quantblog.wordpress.com/2010/11/15/xeno-simple-block-game-demo-in-html5-javascript/</link>
		<comments>http://quantblog.wordpress.com/2010/11/15/xeno-simple-block-game-demo-in-html5-javascript/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 04:57:40 +0000</pubDate>
		<dc:creator>quantblog</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[webkit]]></category>
		<category><![CDATA[xeno]]></category>

		<guid isPermaLink="false">http://quantblog.wordpress.com/?p=578</guid>
		<description><![CDATA[Xeno is a small demo project done over the weekend.  Click matching alien heiroglyphs to dissappear them.  Basic gameplay in HTML5 was pretty quick to prototype. You can view it using Safari or Chrome browsers.  For iPhone, open in Safari and save to Home Screen, then you click the icon to load [for some reason [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=578&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://treeblurb.com/xeno">Xeno</a> is a small demo project done over the weekend.  Click matching alien heiroglyphs to dissappear them.  Basic gameplay in HTML5 was pretty quick to prototype.</p>
<p>You can view it using Safari or Chrome browsers.  For iPhone, open in Safari and save to Home Screen, then you click the icon to load [for some reason fails to load directly, but works fine launched from Home Screen ]</p>
<p>For the path checking.. at first I did an exhaustive depth first search of all empty squares, but this exploded combinatorially.. so I used memoizing to reduce the repeat subpaths.. and then added a heuristic to find straight paths if they exist.  I probably should have looked up a decent path finding algorithm.  Sometimes its good to do things the blunt way yourself, so that you understand the problem and can then enjoy the beauty of a more elegant approach.</p>
<p><a href="http://treeblurb.com/xeno"><img class="aligncenter size-full wp-image-579" title="splash" src="http://quantblog.files.wordpress.com/2010/11/splash1.jpg?w=490" alt=""   /></a></p>
<p>Hope you like the pictographs.. did them myself :]</p>
<h3>Backstory</h3>
<p>Lost in the dense Cambodian jungle you see what looks like an outcropping of ancient ruins.  Could that plynth be the entrance of an alien spacecraft which has lain dormant for thousands of years?  You wipe away the dust showing an irregular pattern of grooves.. you accidentally spill some water on the  console.</p>
<p>You hear a hiss followed by a gentle deep hum, and the panel under your palm begins to glow.   You must quickly match the glyphs to enter the Xeno&#8217; ship&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quantblog.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quantblog.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quantblog.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quantblog.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quantblog.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quantblog.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quantblog.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quantblog.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quantblog.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quantblog.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quantblog.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quantblog.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quantblog.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quantblog.wordpress.com/578/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quantblog.wordpress.com&amp;blog=4492013&amp;post=578&amp;subd=quantblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quantblog.wordpress.com/2010/11/15/xeno-simple-block-game-demo-in-html5-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07821ad4e422141d50dff4696a5ac214?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">quantblog</media:title>
		</media:content>

		<media:content url="http://quantblog.files.wordpress.com/2010/11/splash1.jpg" medium="image">
			<media:title type="html">splash</media:title>
		</media:content>
	</item>
	</channel>
</rss>
