<?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>
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

try {
var pageTracker = _gat._getTracker("UA-109818-9");
pageTracker._trackPageview();
} catch(err) {}</description><title>Magicology</title><generator>Tumblr (3.0; @magicology)</generator><link>http://magicology.tumblr.com/</link><item><title>Applying The Clean Architecture to Go applications</title><description>&lt;a href="http://manuel.kiessling.net/2012/09/28/applying-the-clean-architecture-to-go-applications/"&gt;Applying The Clean Architecture to Go applications&lt;/a&gt;</description><link>http://magicology.tumblr.com/post/33141707800</link><guid>http://magicology.tumblr.com/post/33141707800</guid><pubDate>Mon, 08 Oct 2012 10:29:36 +0600</pubDate><category>Go</category><category>Golang</category></item><item><title>Introduction to Go Debugging with GDB</title><description>&lt;a href="http://lincolnloop.com/blog/2012/oct/3/introduction-go-debugging-gdb/"&gt;Introduction to Go Debugging with GDB&lt;/a&gt;</description><link>http://magicology.tumblr.com/post/33141400851</link><guid>http://magicology.tumblr.com/post/33141400851</guid><pubDate>Mon, 08 Oct 2012 10:24:21 +0600</pubDate><category>Go</category><category>Golang</category><category>GDB</category></item><item><title>How to use interfaces in Go</title><description>&lt;a href="http://jordanorelli.tumblr.com/post/32665860244/how-to-use-interfaces-in-go"&gt;How to use interfaces in Go&lt;/a&gt;: &lt;p&gt;&lt;a href="http://jordanorelli.tumblr.com/post/32665860244/how-to-use-interfaces-in-go" class="tumblr_blog"&gt;jordanorelli&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Before I started programming Go, I was doing most of my work with Python. As a Python programmer, I found that learning to use interfaces in Go was extremely difficult. That is, the basics were easy, and I knew how to use the interfaces in the standard library, but it took some practice before I…&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://magicology.tumblr.com/post/33141201758</link><guid>http://magicology.tumblr.com/post/33141201758</guid><pubDate>Mon, 08 Oct 2012 10:20:57 +0600</pubDate><category>Golang</category></item><item><title>Fixie - Dynamically generated filler content</title><description>&lt;a href="https://github.com/rthprog/fixie"&gt;Fixie - Dynamically generated filler content&lt;/a&gt;: &lt;p&gt;&lt;a href="http://thechangelog.com/post/25022208388/fixie-dynamically-generated-filler-content" class="tumblr_blog"&gt;thechangelog&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;a href="http://twitter.com/#!/ryhanhassan"&gt;Ryhan Hassan&lt;/a&gt; has created a neat little JavaScript library that adds filler content to your HTML mockups. Using it is very simple, just add the fixie.js library to your HTML before the closing &lt;code&gt;&lt;/body&gt;&lt;/code&gt; tag, and Fixie looks for anything with a class of &lt;code&gt;fixie&lt;/code&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&lt;h1 class="fixie"&gt;&lt;/h1&gt;
&lt;p class="fixie"&gt;&lt;/p&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It’s smart enough to fill an &lt;code&gt;&lt;h1&gt;&lt;/code&gt; tag with a phrase, a &lt;code&gt;&lt;p&gt;&lt;/code&gt; tag with a paragraph, an &lt;code&gt;&lt;img&gt;&lt;/code&gt; tag with an image, and so on. If you want to add &lt;code&gt;fixie&lt;/code&gt; it to a container, it can handle that too!&lt;/p&gt;

&lt;p&gt;By default, all images will be pulled from &lt;a href="http://placehold.it/"&gt;placehold.it&lt;/a&gt;, but changing that is very simple:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;fixie.setImagePlaceholder('http://flickholdr.com/${w}/${h}/canon').init();
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://ryhan.me/fixie/sample.html"&gt;View the sample&lt;/a&gt; (refresh the page a few times to see the content generated dynamically) or &lt;a href="https://github.com/rthprog/fixie"&gt;browse the source&lt;/a&gt; at GitHub.&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://magicology.tumblr.com/post/25083128764</link><guid>http://magicology.tumblr.com/post/25083128764</guid><pubDate>Thu, 14 Jun 2012 15:31:53 +0600</pubDate></item><item><title>3 Key Software Principles You Must Understand</title><description>&lt;a href="http://net.tutsplus.com/tutorials/tools-and-tips/3-key-software-principles-you-must-understand/"&gt;3 Key Software Principles You Must Understand&lt;/a&gt;: &lt;p&gt;&lt;img src="http://d2o0t5hpnwv4c1.cloudfront.net/2047_softwarePrinciples/threeprinciples.png" alt="3 Key Software Principles You Must Understand"/&gt;&lt;/p&gt;

&lt;p&gt;If you’re in software development, new techniques, languages and concepts pop up all of the time. We all feel those nagging doubts every now and then: “can I keep up with the changes and stay competitive?” Take a moment, and sum a line from my favorite movie, Casablanca: “The fundamental things apply, as time goes by.”&lt;/p&gt;</description><link>http://magicology.tumblr.com/post/23662336161</link><guid>http://magicology.tumblr.com/post/23662336161</guid><pubDate>Thu, 24 May 2012 13:40:44 +0600</pubDate></item><item><title>Photo</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_lspsueaH911qzleu4o1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;</description><link>http://magicology.tumblr.com/post/23526164084</link><guid>http://magicology.tumblr.com/post/23526164084</guid><pubDate>Tue, 22 May 2012 09:42:31 +0600</pubDate></item><item><title>How we use Backbone.js to build Codiqa – Part 1: API</title><description>&lt;a href="http://blog.codiqa.com/2012/05/how-we-use-backbone-js-to-build-codiqa-part-1-api/"&gt;How we use Backbone.js to build Codiqa – Part 1: API&lt;/a&gt;</description><link>http://magicology.tumblr.com/post/23220663070</link><guid>http://magicology.tumblr.com/post/23220663070</guid><pubDate>Thu, 17 May 2012 14:50:16 +0600</pubDate><category>backbone.js</category></item><item><title>Multiple Django and Flask Sites with Nginx and uWSGI Emperor</title><description>&lt;a href="http://tghw.com/blog/multiple-django-and-flask-sites-with-nginx-and-uwsgi-emperor"&gt;Multiple Django and Flask Sites with Nginx and uWSGI Emperor&lt;/a&gt;: &lt;p&gt;&lt;img src="http://projects.unbit.it/images/logo_uWSGI.png" alt="uWSGI"/&gt;&lt;/p&gt;

&lt;p&gt;When you start uWSGI in Emperor mode, you give it a directory to watch that contains all of your uWSGI config files. If a new file is added, the emperor process reads it and spins up loyal worker processes to handle requests. If a config file is touched or modified, the emperor will gracefully restart the associated worker processes. And if a config file is removed, the emperor will kill the relevant workers.&lt;/p&gt;</description><link>http://magicology.tumblr.com/post/23220630936</link><guid>http://magicology.tumblr.com/post/23220630936</guid><pubDate>Thu, 17 May 2012 14:48:35 +0600</pubDate><category>uwsgi</category><category>gjango</category><category>flask</category><category>nginx</category></item><item><title>Bootstrap-powered viewer makes RFCs easier on the eyes</title><description>&lt;a href="https://github.com/mislav/rfc"&gt;Bootstrap-powered viewer makes RFCs easier on the eyes&lt;/a&gt;: &lt;p&gt;&lt;a href="http://thechangelog.com/post/23171557621/bootstrap-powered-viewer-makes-rfcs-easier-on-the-eyes" class="tumblr_blog"&gt;thechangelog&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;In what may be the most useful application of the &lt;a href="http://thechangelog.com/post/16966889481/twitter-bootstrap-html-css-and-js-toolkit-from"&gt;Twitter UI framework&lt;/a&gt;, &lt;a href="http://mislav.uniqpath.com/"&gt;Mislav Marohnić&lt;/a&gt; offers &lt;a href="https://github.com/mislav/rfc"&gt;RFC&lt;/a&gt;, a website that reformats The Internet Engineering Task Force (IETF) documents into something a bit more reader friendly:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://pretty-rfc.herokuapp.com/"&gt;&lt;img src="http://cl.ly/2v0h3t0z0R2L2G1Q1T3q/Screen%20Shot%202012-05-15%20at%204.37.04%20PM.png" alt="Comparison"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I know which I’d rather read. The &lt;a href="https://github.com/mislav/rfc"&gt;source is on GitHub&lt;/a&gt; and the live site is &lt;a href="http://pretty-rfc.herokuapp.com/"&gt;running on Heroku&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://magicology.tumblr.com/post/23212614460</link><guid>http://magicology.tumblr.com/post/23212614460</guid><pubDate>Thu, 17 May 2012 10:11:53 +0600</pubDate><category>bootstrap</category><category>RFC</category></item><item><title>OCaml for the Masses</title><description>&lt;a href="http://queue.acm.org/detail.cfm?id=2038036"&gt;OCaml for the Masses&lt;/a&gt;: &lt;p&gt;&lt;a href="http://inercia.tumblr.com/post/23029463454/ocaml-for-the-masses" class="tumblr_blog"&gt;inercia&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;A gentle introduction to OCaml.&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://magicology.tumblr.com/post/23089941700</link><guid>http://magicology.tumblr.com/post/23089941700</guid><pubDate>Tue, 15 May 2012 11:07:33 +0600</pubDate><category>ocaml</category></item><item><title>"To design is much more than simply to assemble, to order, or even to edit; it is to add value and..."</title><description>“To design is much more than simply to assemble, to order, or even to edit; it is to add value and meaning, to illuminate, to simplify, to clarify, to modify, to dignify, to dramatize, to persuade, and perhaps even to amuse.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Paul Rand&lt;/em&gt;</description><link>http://magicology.tumblr.com/post/22833248803</link><guid>http://magicology.tumblr.com/post/22833248803</guid><pubDate>Fri, 11 May 2012 14:46:51 +0600</pubDate><category>design</category></item><item><title>gevent For the Working Python Developer</title><description>&lt;a href="http://sdiehl.github.com/gevent-tutorial/"&gt;gevent For the Working Python Developer&lt;/a&gt;: &lt;p&gt;&lt;a href="http://inercia.tumblr.com/post/22770865743/gevent-for-the-working-python-developer" class="tumblr_blog"&gt;inercia&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;A &lt;a href="http://www.gevent.org/"&gt;gevent&lt;/a&gt; tutorial.&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://magicology.tumblr.com/post/22771087573</link><guid>http://magicology.tumblr.com/post/22771087573</guid><pubDate>Thu, 10 May 2012 14:14:40 +0600</pubDate><category>python</category></item><item><title>"The most effective debugging tool is still careful thought, coupled with judiciously placed print..."</title><description>“The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Brian W. Kernighan, in the paper Unix for Beginners (1979)&lt;/em&gt;</description><link>http://magicology.tumblr.com/post/22044179124</link><guid>http://magicology.tumblr.com/post/22044179124</guid><pubDate>Sun, 29 Apr 2012 18:39:35 +0600</pubDate></item><item><title>Scope and this in JavaScript</title><description>&lt;a href="http://javascriptplayground.com/blog/2012/04/javascript-variable-scope-this"&gt;Scope and this in JavaScript&lt;/a&gt;: &lt;p&gt;Today I want to talk a little about scope in JavaScript and the &lt;code&gt;this&lt;/code&gt; variable. The idea of “scope” is that it’s where certain functions or variables are accessible from in our code, &amp; the context in which they exist &amp; are executed in.&lt;/p&gt;</description><link>http://magicology.tumblr.com/post/21835068561</link><guid>http://magicology.tumblr.com/post/21835068561</guid><pubDate>Thu, 26 Apr 2012 11:08:37 +0600</pubDate><category>javascript</category></item><item><title>Using HTML5 localStorage on a form</title><description>&lt;a href="http://www.thomashardy.me.uk/using-html5-localstorage-on-a-form"&gt;Using HTML5 localStorage on a form&lt;/a&gt;: &lt;p&gt;&lt;img src="http://www.thomashardy.me.uk/wp-content/uploads/2012/03/localstorage.jpg" alt="html5"/&gt;&lt;/p&gt;

&lt;p&gt;HTML5 localStorage provides us with the ability to store named key/value pairs locally within a users browser, this means that the data stored in localStorage is still there even after a user has closed the browser, deleted their cookies or turned off their machine/device.&lt;/p&gt;

&lt;p&gt;The HTML5 localStorage attribute is supported by most modern browsers including Firefox 3.5+, Chrome 4+, Safari 4+, Mobile Safari, Android 2+ and Internet Explorer 8+.&lt;/p&gt;

&lt;p&gt;Now lets dive into some code and create a basic working example. In this example we are going to create a simple form which stores the data entered into the form so that if the form isn’t submitted but the browser is closed the data is still store and then retrieved when the user returns to the form.&lt;/p&gt;</description><link>http://magicology.tumblr.com/post/21832790891</link><guid>http://magicology.tumblr.com/post/21832790891</guid><pubDate>Thu, 26 Apr 2012 10:14:57 +0600</pubDate><category>html5</category><category>localStorage</category></item><item><title>Spawning in Unix</title><description>&lt;a href="http://lubutu.com/code/spawning-in-unix"&gt;Spawning in Unix&lt;/a&gt;: &lt;p&gt;I write a lot of low-level C code dealing with Unix processes and the like. I have seen a few folks roll their own spawn function, and do it wrong, so this page is meant to serve as an overview of your options when writing programs using only core Unix functions.&lt;/p&gt;</description><link>http://magicology.tumblr.com/post/21744838286</link><guid>http://magicology.tumblr.com/post/21744838286</guid><pubDate>Wed, 25 Apr 2012 05:29:15 +0600</pubDate><category>c</category><category>unix</category></item><item><title>Rx: My prescription for your Go dependency headaches</title><description>&lt;a href="http://kylelemons.net/2012/04/rx-for-go-headaches/"&gt;Rx: My prescription for your Go dependency headaches&lt;/a&gt;: &lt;p&gt;&lt;img src="http://imgs.xkcd.com/comics/online_package_tracking.png" alt="XKCD"/&gt;&lt;/p&gt;

&lt;p&gt;There has been a lot of discussion on the &lt;a href="https://groups.google.com/forum/#!forum/golang-nuts"&gt;Go Nuts&lt;/a&gt; mailing list about how to manage versioning in the nascent &lt;a href="http://golang.org/"&gt;Go&lt;/a&gt; package ecosystem. We muttered about it at first, and then muttered about it some more when &lt;code&gt;goinstall&lt;/code&gt; came about, and there has been a pretty significant uptick in discussion since the &lt;code&gt;go&lt;/code&gt; tool began to take shape and the &lt;a href="http://golang.org/doc/go1.html"&gt;Go 1&lt;/a&gt; release date approached. In talking with other Gophers at the GoSF meet-up recently, there doesn’t seem to be anyone who really has a good solution.&lt;/p&gt;</description><link>http://magicology.tumblr.com/post/21640707677</link><guid>http://magicology.tumblr.com/post/21640707677</guid><pubDate>Mon, 23 Apr 2012 16:31:00 +0600</pubDate><category>golang</category></item><item><title>How to Improve Your Productivity Using Agile Techniques</title><description>&lt;a href="http://freelancefolder.com/improve-productivity-using-agile-techniques/"&gt;How to Improve Your Productivity Using Agile Techniques&lt;/a&gt;: &lt;p&gt;&lt;img src="http://freelancefolder.com/wp-content/uploads/improve-productivity2.jpg" alt="Time"/&gt;&lt;/p&gt;

&lt;p&gt;Improved productivity is the goal of every freelancer.&lt;/p&gt;

&lt;p&gt;Ever since I started my one-man business, I have looked for ways to improve my productivity and get things done faster. There were a couple of methods that seemed to lead to small improvements, but overall none of them proved efficient.&lt;/p&gt;

&lt;p&gt;That is, until I discovered agile techniques. In this post, I’ll discuss some of the ways that agile techniques can help improve a freelancer’s productivity. Specifically, I’ll look at agile methods in general and at Scrum methodology.&lt;/p&gt;</description><link>http://magicology.tumblr.com/post/21318653784</link><guid>http://magicology.tumblr.com/post/21318653784</guid><pubDate>Wed, 18 Apr 2012 16:01:23 +0600</pubDate><category>agile</category><category>scrum</category><category>pomodoro</category></item><item><title>The Newbie’s Guide to Test-Driven Development</title><description>&lt;a href="http://net.tutsplus.com/tutorials/php/the-newbies-guide-to-test-driven-development/"&gt;The Newbie’s Guide to Test-Driven Development&lt;/a&gt;: &lt;p&gt;&lt;img src="http://d2o0t5hpnwv4c1.cloudfront.net/767_testDrivenDev/tdd.png" alt="TDD"/&gt;&lt;/p&gt;

&lt;p&gt;Testing your code is annoying, but the impact of not doing so can be orders of magnitude more annoying! In this article, we’ll use test-driven development to write and test our code more effectively.&lt;/p&gt;</description><link>http://magicology.tumblr.com/post/21307047047</link><guid>http://magicology.tumblr.com/post/21307047047</guid><pubDate>Wed, 18 Apr 2012 09:03:50 +0600</pubDate><category>tdd</category><category>qa</category></item><item><title>/dev/notes: Mysqldump tables matching a pattern</title><description>&lt;a href="http://aaronbonner.tumblr.com/post/6380590863/mysqldump-tables-matching-a-pattern"&gt;/dev/notes: Mysqldump tables matching a pattern&lt;/a&gt;: &lt;p&gt;&lt;a href="http://aaronbonner.tumblr.com/post/6380590863/mysqldump-tables-matching-a-pattern" class="tumblr_blog"&gt;aaronbonner&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Yesterday on Twitter someone asked if there was a way to export data from mysql, but only from tables matching a like pattern. E.g. something like&lt;/p&gt; &lt;pre&gt;&lt;code&gt;mysqldump -uuser -p mydb mytables_*
&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;There isn’t an inbuilt mechanism to do this, my reply was to use a shell script with an array containing a list…&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://magicology.tumblr.com/post/21289042869</link><guid>http://magicology.tumblr.com/post/21289042869</guid><pubDate>Wed, 18 Apr 2012 04:31:16 +0600</pubDate><category>mysql</category></item></channel></rss>
