<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>I’m a developer and I know it.
I don’t work.
I love creating, improving and making happy.</description><title>julian gruber</title><generator>Tumblr (3.0; @juliangruber)</generator><link>http://juliangruber.tumblr.com/</link><item><title>Nginx and Lua ←</title><description>&lt;a href="http://devblog.mixlr.com/2012/09/01/nginx-lua/"&gt;Nginx and Lua ←&lt;/a&gt;: &lt;p&gt;For several months, we’ve been gradually integrating Lua into Mixlr’s front-end Nginx configuration.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.lua.org/"&gt;Lua&lt;/a&gt; is a dynamic scripting language which can be &lt;a href="http://wiki.nginx.org/HttpLuaModule"&gt;embedded inside&lt;/a&gt; Nginx config files. This means that arbitrary Lua code can be executed inline during any phase of the Nginx request-handling process.&lt;/p&gt;
&lt;p&gt;We started off just using Lua to &lt;a href="http://devblog.mixlr.com/2012/06/26/how-we-use-nginx-lua-and-redis-to-beta-ify-mixlr"&gt;route requests around backend servers&lt;/a&gt;, but it has ended up having a much more profound impact on our infrastructure.&lt;/p&gt;
&lt;p&gt;Here are some things we make it do.&lt;/p&gt;</description><link>http://juliangruber.tumblr.com/post/30858283773</link><guid>http://juliangruber.tumblr.com/post/30858283773</guid><pubDate>Tue, 04 Sep 2012 09:06:08 +0200</pubDate></item><item><title>Vanilla JS</title><description>&lt;a href="http://vanilla-js.com/"&gt;Vanilla JS&lt;/a&gt;: &lt;p&gt;&lt;span class="vanillajs"&gt;Vanilla JS&lt;/span&gt;&lt;span&gt; is a fast, lightweight, cross-platform framework&lt;/span&gt;&lt;br/&gt;&lt;span&gt;for building incredible, powerful JavaScript applications.&lt;/span&gt;&lt;/p&gt;</description><link>http://juliangruber.tumblr.com/post/30312867208</link><guid>http://juliangruber.tumblr.com/post/30312867208</guid><pubDate>Mon, 27 Aug 2012 14:54:27 +0200</pubDate></item><item><title>The 7 Habits of Highly Effective Mediocre Entrepreneurs | TechCrunch</title><description>&lt;a href="http://techcrunch.com/2012/08/19/the-7-habits-of-highly-effective-mediocre-entrepreneurs/"&gt;The 7 Habits of Highly Effective Mediocre Entrepreneurs | TechCrunch&lt;/a&gt;: &lt;p&gt;big fan.&lt;/p&gt;</description><link>http://juliangruber.tumblr.com/post/29769724443</link><guid>http://juliangruber.tumblr.com/post/29769724443</guid><pubDate>Sun, 19 Aug 2012 20:25:48 +0200</pubDate></item><item><title>Infinity.js</title><description>&lt;a href="http://airbnb.github.com/infinity/"&gt;Infinity.js&lt;/a&gt;: &lt;p&gt;&lt;a class="infinity-logo" href="http://airbnb.github.com/infinity"&gt;∞&lt;/a&gt;&lt;span&gt; is a UITableView for the web: it speeds up scrolling through long lists and keeps your infinite feeds smooth and stable for your users&lt;/span&gt;&lt;/p&gt;</description><link>http://juliangruber.tumblr.com/post/29768482292</link><guid>http://juliangruber.tumblr.com/post/29768482292</guid><pubDate>Sun, 19 Aug 2012 20:05:03 +0200</pubDate></item><item><title>OpenMasse by juliangruber</title><description>&lt;a href="http://juliangruber.github.com/openmasse/"&gt;OpenMasse by juliangruber&lt;/a&gt;: &lt;p&gt;About to finish work on OpenMasse.&lt;/p&gt;
&lt;p&gt;The ui still needs some heavy polishing.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Want to open multiple links at once but too tired to click on each?&lt;/p&gt;
&lt;p&gt;OpenMasse to the rescue! When activated, this bookmarklet lets you draw a rectangle over the links you wish to open. Drop, and all the links are opened! (in tabs!).&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://juliangruber.tumblr.com/post/28713155836</link><guid>http://juliangruber.tumblr.com/post/28713155836</guid><pubDate>Sat, 04 Aug 2012 21:24:17 +0200</pubDate></item><item><title>TJ Holowaychuk: Components</title><description>&lt;a href="http://tjholowaychuk.com/post/27984551477/components"&gt;TJ Holowaychuk: Components&lt;/a&gt;: &lt;p&gt;&lt;a class="tumblr_blog" href="http://tjholowaychuk.com/post/27984551477/components"&gt;tjholowaychuk&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;With the advent of numerous client-side JavaScript package managers, I wanted to write up some of my thoughts about the fragmentation that we have today, and some ways that I think we could really improve delivering packages a community. Keep in mind that these are only &lt;em&gt;my&lt;/em&gt; opinions, everyone has…&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://juliangruber.tumblr.com/post/28049921203</link><guid>http://juliangruber.tumblr.com/post/28049921203</guid><pubDate>Thu, 26 Jul 2012 14:13:04 +0200</pubDate></item><item><title>Optimizing for Happiness // Speaker Deck</title><description>&lt;a href="https://speakerdeck.com/u/mojombo/p/optimizing-for-happiness"&gt;Optimizing for Happiness // Speaker Deck&lt;/a&gt;: &lt;p&gt;&lt;3&lt;/p&gt;</description><link>http://juliangruber.tumblr.com/post/26773532542</link><guid>http://juliangruber.tumblr.com/post/26773532542</guid><pubDate>Sun, 08 Jul 2012 20:14:48 +0200</pubDate></item><item><title>Deathocat (via OCTOCATS!)</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_m6ut4vTwWl1qmz3lyo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Deathocat (via &lt;a href="http://octodex.github.com/grim-repo/"&gt;OCTOCATS!&lt;/a&gt;)&lt;/p&gt;</description><link>http://juliangruber.tumblr.com/post/26773267194</link><guid>http://juliangruber.tumblr.com/post/26773267194</guid><pubDate>Sun, 08 Jul 2012 20:10:06 +0200</pubDate></item><item><title>(via The Next Microsoft - journal - minimally minimal)
awesome...</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_m6mm16nK9C1qmz3lyo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;(via &lt;a href="http://www.minimallyminimal.com/journal/2012/7/3/the-next-microsoft.html"&gt;The Next Microsoft - journal - minimally minimal&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;awesome try at rebranding microsoft with fresh metaphors and clean, futuristic design&lt;/p&gt;</description><link>http://juliangruber.tumblr.com/post/26481135387</link><guid>http://juliangruber.tumblr.com/post/26481135387</guid><pubDate>Wed, 04 Jul 2012 09:55:54 +0200</pubDate></item><item><title>namebench - Open-source DNS Benchmark Utility</title><description>&lt;a href="http://code.google.com/p/namebench/"&gt;namebench - Open-source DNS Benchmark Utility&lt;/a&gt;: &lt;p&gt;Cross-platform utility that tests your DNS and other global DNS providers for speed. Only consider the first run of the bench suite since others following will only show proximity. The fastest one for me is Google’s.&lt;/p&gt;</description><link>http://juliangruber.tumblr.com/post/25713459516</link><guid>http://juliangruber.tumblr.com/post/25713459516</guid><pubDate>Sat, 23 Jun 2012 15:20:37 +0200</pubDate></item><item><title>http://felixge.s3.amazonaws.com/11/nodejs - best practices.pdf</title><description>&lt;a href="http://felixge.s3.amazonaws.com/11/nodejs - best practices.pdf"&gt;http://felixge.s3.amazonaws.com/11/nodejs - best practices.pdf&lt;/a&gt;: &lt;p&gt;when using callbacks:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;pass errors as the first parameter&lt;/li&gt;
&lt;li&gt;throw errors if they happen&lt;/li&gt;
&lt;li&gt;try/catch for anything that could anyhow go wrong&lt;/li&gt;
&lt;li&gt;log uncaught exceptions globally and exit the process&lt;/li&gt;
&lt;/ul&gt;</description><link>http://juliangruber.tumblr.com/post/25519286625</link><guid>http://juliangruber.tumblr.com/post/25519286625</guid><pubDate>Wed, 20 Jun 2012 21:04:48 +0200</pubDate></item><item><title>Why I switched back from CoffeeScript to Vanilla JS</title><description>&lt;p&gt;And there are several reasons:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Documentation generators work better with the C comment syntax&lt;/li&gt;
&lt;li&gt;Future Compability: EcmaScript 5, 6 etc. fix a lot of the problems CoffeeScript fixes in a native way. Who knows whether CoffeeScript will be as fast as V8 in implementing new features&lt;/li&gt;
&lt;li&gt;Consistent syntax for calling functions: foo 1337 for foo(1337) is cool but foo(1337).bar &amp;#8216;leet&amp;#8217; ain&amp;#8217;t&lt;/li&gt;
&lt;li&gt;Semicolons aren&amp;#8217;t necessary in vanilla js, just add them in front of lines that start with a ( open bracket, like ;(&lt;/li&gt;
&lt;li&gt;With Coffee constructs like Class etc. available it is tempting using them when a custom prototype system would be more appropriate&lt;/li&gt;
&lt;li&gt;Not all tools and editors work with CoffeeScript as good as with Vanilla JS&lt;/li&gt;
&lt;li&gt;If commented thoroughly the C syntax is just as readable and light as coffee&amp;#8217;s syntax&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;What I will miss:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Anonymous function syntax&lt;/li&gt;
&lt;li&gt;String Interpolation&lt;/li&gt;
&lt;li&gt;Object declaration without commas&lt;/li&gt;
&lt;/ul&gt;</description><link>http://juliangruber.tumblr.com/post/24615624402</link><guid>http://juliangruber.tumblr.com/post/24615624402</guid><pubDate>Thu, 07 Jun 2012 18:42:08 +0200</pubDate><category>coffeescript</category><category>javascript</category></item><item><title>Improving HTML5 Canvas Performance - HTML5 Rocks</title><description>&lt;a href="http://www.html5rocks.com/en/tutorials/canvas/performance/"&gt;Improving HTML5 Canvas Performance - HTML5 Rocks&lt;/a&gt;</description><link>http://juliangruber.tumblr.com/post/23941408561</link><guid>http://juliangruber.tumblr.com/post/23941408561</guid><pubDate>Mon, 28 May 2012 20:26:10 +0200</pubDate></item><item><title>Why Our Code Smells - opensoul.org</title><description>&lt;a href="http://opensoul.org/blog/archives/2012/05/23/why-our-code-smells/"&gt;Why Our Code Smells - opensoul.org&lt;/a&gt;: &lt;p&gt;read this…and &lt;a href="http://www.amazon.com/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627"&gt;&lt;a href="http://www.amazon.com/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627"&gt;http://www.amazon.com/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627&lt;/a&gt;&lt;/a&gt; and &lt;a href="http://www.amazon.com/Test-Driven-JavaScript-Development-Developers-Library/dp/0321683919"&gt;&lt;a href="http://www.amazon.com/Test-Driven-JavaScript-Development-Developers-Library/dp/0321683919"&gt;http://www.amazon.com/Test-Driven-JavaScript-Development-Developers-Library/dp/0321683919&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://juliangruber.tumblr.com/post/23669835862</link><guid>http://juliangruber.tumblr.com/post/23669835862</guid><pubDate>Thu, 24 May 2012 15:22:59 +0200</pubDate></item><item><title>Js2coffee: convert JavaScript code to CoffeeScript</title><description>&lt;a href="http://js2coffee.org/"&gt;Js2coffee: convert JavaScript code to CoffeeScript&lt;/a&gt;: &lt;p&gt;&lt;span&gt;Come on, convert your old code bases to coffeescipt :)&lt;/span&gt;&lt;/p&gt;</description><link>http://juliangruber.tumblr.com/post/23604535045</link><guid>http://juliangruber.tumblr.com/post/23604535045</guid><pubDate>Wed, 23 May 2012 13:45:08 +0200</pubDate></item><item><title>Js2coffee: convert JavaScript code to CoffeeScript</title><description>&lt;a href="http://js2coffee.org/"&gt;Js2coffee: convert JavaScript code to CoffeeScript&lt;/a&gt;: &lt;p&gt;Come on, convert your old code bases to coffeescipt :)&lt;/p&gt;</description><link>http://juliangruber.tumblr.com/post/23604494339</link><guid>http://juliangruber.tumblr.com/post/23604494339</guid><pubDate>Wed, 23 May 2012 13:43:29 +0200</pubDate></item><item><title>Algorithm for automatic cache invalidation - Google Groups</title><description>&lt;a href="https://groups.google.com/forum/#!topic/memcached/OiScvRbGaU8/discussion"&gt;Algorithm for automatic cache invalidation - Google Groups&lt;/a&gt;: &lt;p&gt;Beautiful algorithm explainable using graph theory&lt;/p&gt;</description><link>http://juliangruber.tumblr.com/post/23471717212</link><guid>http://juliangruber.tumblr.com/post/23471717212</guid><pubDate>Mon, 21 May 2012 10:20:44 +0200</pubDate></item><item><title>What makes a good engineering culture? - Edmond Lau's answer on Quora</title><description>&lt;a href="http://www.quora.com/What-makes-a-good-engineering-culture/answer/Edmond-Lau?srid=hiM"&gt;What makes a good engineering culture? - Edmond Lau's answer on Quora&lt;/a&gt;</description><link>http://juliangruber.tumblr.com/post/23471115119</link><guid>http://juliangruber.tumblr.com/post/23471115119</guid><pubDate>Mon, 21 May 2012 09:51:11 +0200</pubDate></item><item><title>jQuery Knob demo</title><description>&lt;a href="http://anthonyterrien.com/knob/"&gt;jQuery Knob demo&lt;/a&gt;</description><link>http://juliangruber.tumblr.com/post/23284717047</link><guid>http://juliangruber.tumblr.com/post/23284717047</guid><pubDate>Fri, 18 May 2012 12:42:54 +0200</pubDate></item><item><title>vdemedes/restie</title><description>&lt;a href="https://github.com/vdemedes/restie"&gt;vdemedes/restie&lt;/a&gt;: &lt;p&gt;JavaScript ORM that talks to RESTful interface, rather than database. For Node.js and browsers&lt;/p&gt;</description><link>http://juliangruber.tumblr.com/post/22778786740</link><guid>http://juliangruber.tumblr.com/post/22778786740</guid><pubDate>Thu, 10 May 2012 16:00:31 +0200</pubDate></item></channel></rss>
