<?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>Hello. My name is Derek Perez. I write software, particularly for the internets.</description><title>Perezium</title><generator>Tumblr (3.0; @perezium)</generator><link>http://blog.derekperez.com/</link><item><title>Lock-free Algorithms</title><description>&lt;a href="http://www.infoq.com/presentations/Lock-free-Algorithms"&gt;Lock-free Algorithms&lt;/a&gt;: &lt;p&gt;These guys are doing amazing work in the field of computer science. LMAX team is raising the bar.&lt;/p&gt;</description><link>http://blog.derekperez.com/post/23825671224</link><guid>http://blog.derekperez.com/post/23825671224</guid><pubDate>Sat, 26 May 2012 16:18:58 -0700</pubDate><category>computer-science</category></item><item><title>Learning about Google Go language, its pretty amazing.</title><description>&lt;iframe width="400" height="225" src="http://www.youtube.com/embed/4iAiS-qv26Q?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Learning about Google Go language, its pretty amazing.&lt;/p&gt;</description><link>http://blog.derekperez.com/post/22721699305</link><guid>http://blog.derekperez.com/post/22721699305</guid><pubDate>Wed, 09 May 2012 10:09:01 -0700</pubDate><category>golang</category></item><item><title>This is how the internet was supposed to be.</title><description>&lt;iframe width="400" height="299" src="http://www.youtube.com/embed/xrYRH3PYYT0?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;This is how the internet was supposed to be.&lt;/p&gt;</description><link>http://blog.derekperez.com/post/20558701372</link><guid>http://blog.derekperez.com/post/20558701372</guid><pubDate>Thu, 05 Apr 2012 17:50:56 -0700</pubDate><category>funny</category></item><item><title>The Game of Distributed Systems</title><description>&lt;a href="http://blog.incubaid.com/2012/03/28/the-game-of-distributed-systems-programming-which-level-are-you/"&gt;The Game of Distributed Systems&lt;/a&gt;: &lt;p&gt;a fantastic run down of the various levels of thinking that distributed systems engineers traverse on their path to enlightenment.&lt;/p&gt;</description><link>http://blog.derekperez.com/post/20068491443</link><guid>http://blog.derekperez.com/post/20068491443</guid><pubDate>Wed, 28 Mar 2012 10:40:46 -0700</pubDate><category>engineering</category></item><item><title>Good artists copy. Great artists remix.</title><description>&lt;iframe src="http://player.vimeo.com/video/14912890" width="400" height="225" frameborder="0"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Good artists copy. Great artists remix.&lt;/p&gt;</description><link>http://blog.derekperez.com/post/19011504779</link><guid>http://blog.derekperez.com/post/19011504779</guid><pubDate>Fri, 09 Mar 2012 11:20:05 -0800</pubDate><category>inspiration</category></item><item><title>Icons, symbols.</title><description>&lt;iframe src="http://player.vimeo.com/video/25149893" width="400" height="225" frameborder="0"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Icons, symbols.&lt;/p&gt;</description><link>http://blog.derekperez.com/post/18905036126</link><guid>http://blog.derekperez.com/post/18905036126</guid><pubDate>Wed, 07 Mar 2012 08:53:27 -0800</pubDate><category>inspiration</category></item><item><title>Lets use social media to actually do something life changing....</title><description>&lt;iframe width="400" height="225" src="http://www.youtube.com/embed/Y4MnpzG5Sqc?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Lets use social media to actually do something life changing. Spread this.
&lt;br/&gt;&lt;strong&gt;&lt;a href="http://s3.amazonaws.com/kony2012/kony-4.html" target="_blank"&gt;KONY 2012.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description><link>http://blog.derekperez.com/post/18894121061</link><guid>http://blog.derekperez.com/post/18894121061</guid><pubDate>Tue, 06 Mar 2012 23:43:00 -0800</pubDate></item><item><title>feel it all around</title><description>&lt;iframe width="400" height="225" src="http://www.youtube.com/embed/eEfy3KkEkTE?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;feel it all around&lt;/p&gt;</description><link>http://blog.derekperez.com/post/18176658904</link><guid>http://blog.derekperez.com/post/18176658904</guid><pubDate>Thu, 23 Feb 2012 21:54:00 -0800</pubDate><category>music</category></item><item><title>Made by hand.</title><description>&lt;iframe src="http://player.vimeo.com/video/35912908" width="400" height="225" frameborder="0"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Made by hand.&lt;/p&gt;</description><link>http://blog.derekperez.com/post/17246142659</link><guid>http://blog.derekperez.com/post/17246142659</guid><pubDate>Tue, 07 Feb 2012 19:12:41 -0800</pubDate><category>inspiration</category><category>art</category></item><item><title>Photo</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lywod7XVim1qzmp2so1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;</description><link>http://blog.derekperez.com/post/17104840245</link><guid>http://blog.derekperez.com/post/17104840245</guid><pubDate>Sun, 05 Feb 2012 11:00:06 -0800</pubDate></item><item><title>Photo</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lywoacRq201qzmp2so1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;</description><link>http://blog.derekperez.com/post/17077667364</link><guid>http://blog.derekperez.com/post/17077667364</guid><pubDate>Sat, 04 Feb 2012 21:51:48 -0800</pubDate></item><item><title>1997 - The first keynote Steve Jobs gave, upon returning to the...</title><description>&lt;iframe width="400" height="300" src="http://www.youtube.com/embed/PEHNrqPkefI?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;strong&gt;1997&lt;/strong&gt; - The first keynote Steve Jobs gave, upon returning to the Board of Directors, at Apple.&lt;/p&gt;</description><link>http://blog.derekperez.com/post/17002528938</link><guid>http://blog.derekperez.com/post/17002528938</guid><pubDate>Fri, 03 Feb 2012 17:00:05 -0800</pubDate><category>apple</category><category>inspiration</category></item><item><title>First-Class Citizens</title><description>&lt;p&gt;The term &amp;#8220;First-Class Citizens&amp;#8221;, within the context of Computer Science, was coined by &lt;a href="http://en.wikipedia.org/wiki/Christopher_Strachey" target="_blank"&gt;Christopher Strachey&lt;/a&gt;. This term represents the following principals:&lt;/p&gt;

&lt;h3&gt;The rights and privileges of first-class citizens&lt;/h3&gt;

&lt;ol&gt;&lt;li&gt;To be named by variables.&lt;/li&gt;
&lt;li&gt;To be passed as arguments to procedures.&lt;/li&gt;
&lt;li&gt;To be returned as values of procedures.&lt;/li&gt;
&lt;li&gt;To be incorporated into data structures.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;A common case, when a programming language refers to functions as &amp;#8220;first-class citizens&amp;#8221;, this equates the following principles to be true for them.&lt;/p&gt;

&lt;p&gt;Noted, for historical reasons.&lt;/p&gt;</description><link>http://blog.derekperez.com/post/16985683922</link><guid>http://blog.derekperez.com/post/16985683922</guid><pubDate>Fri, 03 Feb 2012 11:41:00 -0800</pubDate><category>computer-science</category></item><item><title>MIT 6.001 Structure and Interpretation of Computer Programs...</title><description>&lt;iframe width="400" height="300" src="http://www.youtube.com/embed/2Op3QLzMgSY?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;strong&gt;MIT 6.001 Structure and Interpretation of Computer Programs Course, 1986.&lt;/strong&gt;&lt;/p&gt;</description><link>http://blog.derekperez.com/post/16979566368</link><guid>http://blog.derekperez.com/post/16979566368</guid><pubDate>Fri, 03 Feb 2012 09:00:05 -0800</pubDate><category>lisp</category><category>computer-science</category></item><item><title>An metaphor. (credit)</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_lyl4m7EaU91qzmp2so1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;An metaphor. (&lt;a href="http://www.flickr.com/photos/phrenologist/6784578285/" target="_blank"&gt;credit&lt;/a&gt;)&lt;/p&gt;</description><link>http://blog.derekperez.com/post/16764918124</link><guid>http://blog.derekperez.com/post/16764918124</guid><pubDate>Mon, 30 Jan 2012 09:00:06 -0800</pubDate></item><item><title>"Being exceptional means knowing when to not do what you’re told to do."</title><description>“Being exceptional means knowing when to not do what you’re told to do.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="https://twitter.com/rands/status/163661355436617728" target="_blank"&gt;Michael Lopp&lt;/a&gt;&lt;/em&gt;</description><link>http://blog.derekperez.com/post/16719902776</link><guid>http://blog.derekperez.com/post/16719902776</guid><pubDate>Sun, 29 Jan 2012 13:57:03 -0800</pubDate><category>inspiration</category></item><item><title>Hello, Clojure.</title><description>&lt;p&gt;I&amp;#8217;ve recently finished reading &lt;a href="http://joyofclojure.com/the-book/" target="_blank"&gt;my first book on Clojure&lt;/a&gt;, and I am pretty fascinated by this pure functional JVM programming language. I&amp;#8217;ve been doing some FP in JavaScript over the past year, but &lt;a href="http://www.clojure.org" target="_blank"&gt;Clojure&lt;/a&gt; is still quite eye opening.&lt;/p&gt;

&lt;p&gt;So, what do I do with this new language? &lt;a href="http://en.wikipedia.org/wiki/Fibonacci_number" target="_blank"&gt;Fibonacci numbers&lt;/a&gt; of course.&lt;/p&gt;

&lt;p&gt;My first (naive) approach to Fibonacci on Clojure was recursion (surprise, still sucks), then I tried my hand at a poorly implemented memoization version, and after speaking with some people in IRC, I landed on this approach:&lt;/p&gt;

&lt;script src="https://gist.github.com/1700690.js?file=gistfile1.clj"&gt;&lt;/script&gt;&lt;p&gt;Whats fascinating about this approach is that it utilizes one of the most interesting apsects of Clojure: &lt;strong&gt;lazy evaluation&lt;/strong&gt;. This approach feels as close to linear as possible, even in large scale numbers (2000, 10000, 100000), &lt;em&gt;and utilizes about 67&amp;#160;MB of constant memory, while distributing the computations across all available cores.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Yeah. Excited to be continuing my journey of FP, onward!&lt;/p&gt;

&lt;p&gt;Also, excited to be attending the &lt;a href="http://clojurewest.org/" target="_blank"&gt;Clojure/West conference&lt;/a&gt; in March, I&amp;#8217;ll see you there!&lt;/p&gt;</description><link>http://blog.derekperez.com/post/16717265879</link><guid>http://blog.derekperez.com/post/16717265879</guid><pubDate>Sun, 29 Jan 2012 13:15:00 -0800</pubDate><category>clojure</category><category>engineering</category></item><item><title>"If you’re going to devote the best years of your life to your work, have enough love for yourself..."</title><description>““If you’re going to devote the best years of your life to your work, have enough love for yourself and the world around you to work on something that matters to you deeply. Something that’s beating out of your chest and compels you to throw yourself at it completely. No one knows whether you and your teammates will realize your audacious visions, but in order to do great things, we must attempt great things.””&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="http://techcrunch.com/2012/01/20/do-great-things" target="_blank"&gt;Justin Rosenstein&lt;/a&gt;&lt;/em&gt;</description><link>http://blog.derekperez.com/post/16274350555</link><guid>http://blog.derekperez.com/post/16274350555</guid><pubDate>Sat, 21 Jan 2012 21:45:38 -0800</pubDate><category>inspiration</category></item><item><title>Amon Tobin has a crazy stage presence.</title><description>&lt;iframe width="400" height="225" src="http://www.youtube.com/embed/WLrt7-kIgIM?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Amon Tobin has a crazy stage presence.&lt;/p&gt;</description><link>http://blog.derekperez.com/post/15594440991</link><guid>http://blog.derekperez.com/post/15594440991</guid><pubDate>Mon, 09 Jan 2012 17:16:59 -0800</pubDate><category>art</category></item><item><title>Code Rush</title><description>&lt;p&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="293" id="viddler_90571b61"&gt;&lt;param name="movie" value="http://www.viddler.com/player/90571b61/"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.viddler.com/player/90571b61/" width="437" height="293" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" name="viddler_90571b61"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;60 min interview, recorded in 1998/99. Follows the engineers of Mozilla/Netscape fighting against Microsoft in the latest 90s.&lt;/p&gt;</description><link>http://blog.derekperez.com/post/15550541134</link><guid>http://blog.derekperez.com/post/15550541134</guid><pubDate>Sun, 08 Jan 2012 20:01:49 -0800</pubDate><category>inspiration</category><category>engineering</category></item></channel></rss>

