<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss version="2.0">
  <channel>
    <title>Planet Ruby on Rails Feed</title>
    <description>Combines top rails blogs feeds into one.</description>
    <link>http://feeds.feedburner.com/PlanetRails</link>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/PlanetRails" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="planetrails" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
      <title>Free Help</title>
      <description>&lt;p&gt;Sigh. Here I&amp;#8217;m going to sound like one of &lt;em&gt;those&lt;/em&gt; celebrities. But I thought I should lay down some ground rules, so here goes.&lt;/p&gt;

&lt;p&gt;Yesterday, I received a 1,063 word email from a non-profit organisataion asking me for advice on whether or not they should use Rails or Django for their new project. They begin with:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We found your answers and profile on Stack Overflow. We&amp;#8217;re reaching out to you because we&amp;#8217;d like your advice on a new nonprofit project, &lt;span&gt;name&lt;/span&gt;, and the language/app framework we should use to develop it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;We have a fairly small budget to build the framework and to do betas of the first seven sites, so itÃ¢Â?Â?s crucial we pick the right framework. We are trying to choose between Django and Rails, and we want to make the right choice.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Quite obviously, my answer is going to be heavily biased in one direction. I&amp;#8217;m sure you can guess which one.&lt;/p&gt;

&lt;p&gt;Before yesterday, I&amp;#8217;d never even heard of this charity, nor spoken to the person who sent me the email. Basically, up until this point, we&amp;#8217;ve done &lt;em&gt;nothing&lt;/em&gt; for each other. Their questions obtusely relate to Rails, and definitely doesn&amp;#8217;t relate to what I get paid to work on.&lt;/p&gt;

&lt;p&gt;So I read the email anyway. It explains what the charity does and what they&amp;#8217;d like their new platform to do. Then at the bottom, they ask if I could &amp;#8220;take a look at the high-level requirements&amp;#8221; and link me to a Google Docs Spreadsheet. Inside this spreadsheet, there&amp;#8217;s 32 very wordy questions, like this one:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We need the front ends and backends to run fast. Many of the backend pages will have fairly intensive reports drawing on lots of data from user pages, such as nonprofits being able to run reports of total donations over periods of time, recent donations, etc. We think speed is a top priority.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Each question, by my estimates, would take one hundred to five hundred words to answer adequately. So at a minimum, around 3,200 words of mine to answer their questions. This is from a &lt;em&gt;complete stranger&lt;/em&gt; in a private conversation between myself and them. Do you know what other situation this happens in usually?&lt;/p&gt;

&lt;p&gt;Oh yeah, &lt;strong&gt;paid consulting&lt;/strong&gt;. But there&amp;#8217;s nothing in the email that indicates that I will get anything more than a warm and fuzzy feeling from answering it.&lt;/p&gt;

&lt;p&gt;Like I said before, this is not related to anything that I do. This is &lt;em&gt;extra&lt;/em&gt; work. It&amp;#8217;s in a private conversation, so my answers won&amp;#8217;t benefit anybody else. If this question pops up again, chances are that I will have to answer it again, and that&amp;#8217;s not cool.&lt;/p&gt;

&lt;p&gt;These kinds of emails are basically a three-times-a-week deal, and I&amp;#8217;m over it. While I enjoy helping people &lt;em&gt;for free&lt;/em&gt;, I will only do so in &lt;a href='http://stackoverflow.com'&gt;a public forum where other people can benefit from the answers&lt;/a&gt;. If you want to contact me privately, then I will ask for some sort of reward for it, because &lt;em&gt;very&lt;/em&gt; few people are going to benefit from it.&lt;/p&gt;

&lt;p&gt;These kinds of questions have no regard for my time, and all I get from them is a feeling of being used for my talents. Kind of like a whore, just without the money changing hands thing.&lt;/p&gt;

&lt;p&gt;No more.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Ilcyd6wTHCLic-C7-WB-Yaz5Zg8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ilcyd6wTHCLic-C7-WB-Yaz5Zg8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Ilcyd6wTHCLic-C7-WB-Yaz5Zg8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ilcyd6wTHCLic-C7-WB-Yaz5Zg8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 30 Jan 2012 13:00:00 +0000</pubDate>
      <link>http://ryanbigg.com/2012/01/free-help</link>
      <guid>d41d8cd98f00b204e9800998ecf8427e</guid>
    </item>
    <item>
      <title>Rails 3.2.1 has been released</title>
      <description>&lt;p&gt;Rails 3.2.1 is out, with some fixes and doc improvements. Please check the &lt;a href="https://gist.github.com/1685812"&gt;CHANGELOGs gist&lt;/a&gt; for details. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xvtWuA2GcE0kYcJl1N69GJ6kreY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xvtWuA2GcE0kYcJl1N69GJ6kreY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xvtWuA2GcE0kYcJl1N69GJ6kreY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xvtWuA2GcE0kYcJl1N69GJ6kreY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 26 Jan 2012 23:32:00 +0000</pubDate>
      <link>http://weblog.rubyonrails.org/2012/1/26/rails-3-2-1-has-been-released</link>
      <guid>d41d8cd98f00b204e9800998ecf8427e</guid>
    </item>
    <item>
      <title>Rails 3.2.0: Faster dev mode &amp; routing, explain queries, tagged logger, store</title>
      <description>&lt;p&gt;So we didn’t quite make the December release date as we intended, but hey, why break a good tradition and start hitting release targets now! In any case, your patience has been worldly rewarded young grasshopper: Rails 3.2 is done, baked, tested, and ready to roll!&lt;/p&gt;


	&lt;p&gt;I’ve been running on 3-2-stable for a few months working on &lt;a href="http://37signals.com/basecampnext/"&gt;Basecamp Next&lt;/a&gt; and it’s been a real treat. The new faster dev mode in particular is a major step up over 3.1.&lt;/p&gt;


	&lt;p&gt;Do remember that this is the last intended release series that’s going to support Ruby 1.8.7. The master git branch for Rails is now targeting Rails 4.0, which will require Ruby 1.9.3 and above. So now is a great time to start the work on getting your app ready for the current version of Ruby. Let’s not hang around old versions forever and a Sunday like those Python guys :).&lt;/p&gt;


	&lt;p&gt;There’s a &lt;a href="https://github.com/rails/rails/tree/v3.2.0"&gt;v3.2.0 tag on Github&lt;/a&gt; and we of course we still have the &lt;a href="https://github.com/rails/rails/tree/3-2-stable"&gt;3-2-stable branch&lt;/a&gt; as well. You can see all the glorious details of everything that was changed in our &lt;a href="https://gist.github.com/1648523"&gt;&lt;span class="caps"&gt;CHANGELOG&lt;/span&gt; compilation&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;For documentation, we have the &lt;a href="http://guides.rubyonrails.org/3_2_release_notes.html"&gt;3.2 release notes with upgrade instructions&lt;/a&gt;, both &lt;a href="http://api.rubyonrails.org/"&gt;the &lt;span class="caps"&gt;API&lt;/span&gt; docs&lt;/a&gt; and &lt;a href="http://guides.rubyonrails.org/"&gt;the guides&lt;/a&gt; have been generated for 3.2 as well, and there’s a brand new &lt;a href="http://pragprog.com/book/rails4/agile-web-development-with-rails"&gt;3.2-compatible version of Agile Web Development with Rails&lt;/a&gt;. A smörgåsbord indeed!&lt;/p&gt;


	&lt;p&gt;If you can’t be bothered with the full release notes, here’s a reprint of a few feature highlights from when we did the first release candidate:&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Faster dev mode &amp; routing&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;The most noticeable new feature is that development mode got a ton and a half faster. Inspired by &lt;a href="https://github.com/paneq/active_reload"&gt;Active Reload&lt;/a&gt;, we now only reload classes from files you’ve actually changed. The difference is dramatic on a larger application.&lt;/p&gt;


	&lt;p&gt;Route recognition also got a bunch faster thanks to the &lt;a href="https://github.com/rails/journey"&gt;new Journey engine&lt;/a&gt; and we made linking much faster as well (especially apparent when you’re having 100+ links on a single page).&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Explain queries&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;We’ve added a &lt;a href="http://weblog.rubyonrails.org/2011/12/6/what-s-new-in-edge-rails-explain"&gt;quick and easy way to explain quieries generated by ARel&lt;/a&gt;. In the console, you can run something like &lt;code&gt;puts Person.active.limit(5).explain&lt;/code&gt; and you’ll get the query ARel produces explained (so you can easily see whether its using the right indexes). There’s even a default threshold in development mode where if a query takes more than half a second to run, it’s automatically explained inline—how about that!&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Tagged logger&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;When you’re running a multi-user, multi-account application, it’s a great help to be able to filter the log by who did what. Enter the TaggedLogging wrapper. It works like this:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;Logger = ActiveSupport::TaggedLogging.new(Logger.new(STDOUT))
Logger.tagged("BCX") { Logger.info "Stuff" } # Logs "[BCX] Stuff" 
Logger.tagged("BCX") do
  Logger.tagged("Jason") do
    Logger.info "Stuff" # Logs "\[BCX\] \[Jason\] Stuff" 
  end
end&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;&lt;strong&gt;Active Record Store&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Key/value stores are great, but it’s not always you want to go the whole honking way just for a little variable-key action. Enter the Active Record Store:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;class User &amp;lt; ActiveRecord::Base
  store :settings, accessors: [ :color, :homepage ]
end&lt;/code&gt;&lt;/pre&gt;


	&lt;pre&gt;&lt;code&gt;u = User.new(color: 'black', homepage: '37signals.com')
u.color                          # Accessor stored attribute
u.settings[:country] = 'Denmark' # Any attribute, even if not specified with an accessor&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eD8iy94chprmMhY3bVhMUo3-6hE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eD8iy94chprmMhY3bVhMUo3-6hE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eD8iy94chprmMhY3bVhMUo3-6hE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eD8iy94chprmMhY3bVhMUo3-6hE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Fri, 20 Jan 2012 17:22:00 +0000</pubDate>
      <link>http://weblog.rubyonrails.org/2012/1/20/rails-3-2-0-faster-dev-mode-routing-explain-queries-tagged-logger-store</link>
      <guid>d41d8cd98f00b204e9800998ecf8427e</guid>
    </item>
    <item>
      <title>Kicking ass together: How to improve coding skills as a group</title>
      <description>&lt;p&gt;Over the last year and a half, I have worked with a small group of students and staff to create an excellent online learning community at Mendicant University. Unfortunately, because Mendicant is something that we&amp;#8217;re intentionally scaling at a very slow pace, we won&amp;#8217;t directly reach as many people as we&amp;#8217;d like to any time soon.&lt;/p&gt;
&lt;p&gt;In this post, I&amp;#8217;ve collected some of the things that I think contribute to making Mendicant University a great place to learn. I&amp;#8217;d love to see these ideas integrated into more local and online groups, so that we can create a lot more great places for programmers to learn and grow.&lt;/p&gt;
&lt;h3&gt;Emphasize the personal goals and interests of your group&lt;/h3&gt;
&lt;p&gt;Getting a small group together to discuss the currently trending topics in the tech community while ignoring what is going on within your community is a tremendously waste of effort. It is much more effective to focus on the things that relate to the projects your community members are actively working on, as well as the challenges they face in their daily work.&lt;/p&gt;
&lt;p&gt;Rather that having talks or study sessions on topics of general interest, it is more effective to figure out some concrete problems that members of your group need to solve, and then use your combined resources to help identify the right learning materials or people to talk to in order to get past the obstacles in your way.&lt;/p&gt;
&lt;p&gt;While there are probably a lot of ways to do this, one interesting approach might be to have folks announce what they&amp;#8217;re working on and what topics they&amp;#8217;re interested in at the beginning of each meeting and then group together those with common interests. For an online group, you can use something like a wiki or periodic mailing list roundups to achieve similar results.&lt;/p&gt;
&lt;h3&gt;Practice formal code reviews&lt;/h3&gt;
&lt;p&gt;Rather than just talking in the abstract about ideas or strategies, it is best to actually sit down with editors open and code in front of you ready to review. A lot can be learned just through the process of explaining your code to someone else, and it is impossible to overstate the value of trying to teach others, even about tiny things like idioms or conventions.&lt;/p&gt;
&lt;p&gt;If a particular bit of code would be too gnarly to review effectively, it can still be productive to hammer out a simplified example that illustrates the core concept you&amp;#8217;re trying to study. The more concrete you can make your discussion, the more likely it is that you&amp;#8217;ll get more directly valuable information while interacting with others.&lt;/p&gt;
&lt;h3&gt;Prefer evidence based arguments&lt;/h3&gt;
&lt;p&gt;Arguments based on authority (&amp;#8220;So and so said&amp;#8230;&amp;#8221;) and arguments based on popularity (&amp;#8220;Everyone does this&amp;#8230;&amp;#8221;) are very common in programming communities, but ultimately distract and divide more than they enlighten. Fortunately, there is a more productive way to have a discussion about code.&lt;/p&gt;
&lt;p&gt;The most important thing for any discussion about different approachs to solving a given problem is to establish a clear context. Without context, it&amp;#8217;s unclear whether a hammer or a bulldozer is the right tool for the job. With a context established, all discussion can refer back to it as a basis for determining whether a given approach is suitable or not.&lt;/p&gt;
&lt;p&gt;From there, it&amp;#8217;s mostly a matter of weighing tradeoffs between different approaches. For example, you might say something like &amp;#8220;Sqlite is convenient to use because it doesn&amp;#8217;t require you to run a database server, but because you&amp;#8217;re going to be working with &lt;span class="caps"&gt;GIS&lt;/span&gt; data, you will probably want to work with PostgreSQL because PostGIS provides a ton of useful functionality there&amp;#8221;. This statement is not bulletproof, but it will lead to a much better conversation than &amp;#8220;Sqlite sucks, use PostgreSQL&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Sometimes, you will want to express things that are purely personal preferences, and that&amp;#8217;s okay. But when you do so, it helps to point out that you&amp;#8217;re not trying to have a reasoned argument but instead just sharing your gut feeling. This will help avoid religious arguments in most cases.&lt;/p&gt;
&lt;h3&gt;Seek purposeful ways of practicing and studying&lt;/h3&gt;
&lt;p&gt;Every day you will find some new recommendation for what the next revolutionary way to learn how to code is. You&amp;#8217;ll also discover that some new topic of interest is the one that every just needs to learn and talk about &lt;span class="caps"&gt;RIGHT&lt;/span&gt; &lt;span class="caps"&gt;NOW&lt;/span&gt;. Of course, this false sense of importance and urgency is nothing more than smoke and mirrors, and if you get caught up in it you&amp;#8217;ll spend more time chasing your tail than you do building useful stuff.&lt;/p&gt;
&lt;p&gt;Whenever possible, use a goal based, hands-on approach to learning new things. Try out new ideas and technology on low-risk projects that might end up being useful to you later if possible. If you do spend some time on deliberate practice as opposed to practicing-while-working, make sure that it&amp;#8217;s to address a specific need or problem you&amp;#8217;ve encountered. For example: a code kata might be just the right tool for learning the syntax of a new language or trying out learning new tricks in your text editor, but it&amp;#8217;s a bad idea to practice code katas just waiting for serindipitous learning. Happy accidents do happen, but you shouldn&amp;#8217;t rely on luck as a way to move you forward.&lt;/p&gt;
&lt;p&gt;While this particular point is more focused on individual practice than it is on practicing in a group, the same set of goals should be present in any group activities you engage in. Whenever possible, break into focus groups as needed to avoid forcing several members to practice/study something only remotely interesting or relevant to them. Our available time and attention is a precious resource, and should be spent wisely.&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s worth noting that this advice is &lt;span class="caps"&gt;NOT&lt;/span&gt; meant to be taken as a push to focus only on narrow and practical goals. Deep studying of theory or classical topics can be very useful and is particularly suitable for group activities. It&amp;#8217;s just essential to tie this back in some way to a deep and personal goal rather than just a vague intellectual interest.&lt;/p&gt;
&lt;h3&gt;Create a good balance between socializing and getting stuff done&lt;/h3&gt;
&lt;p&gt;Without room for socializing, it will be hard for any group to develop a common culture and a shared set of interests. However, I&amp;#8217;ve seen far too many users group &amp;#8220;hackfests&amp;#8221; turn into water cooler discussions, and if the social norms are established to encourage this sort of behavior, there will be no chance for the values of deep practice to set in.&lt;/p&gt;
&lt;p&gt;For in-person gatherings, it might make sense to have either a working session followed by some social event, or separate nights for social and working sessions. Online, similar separations can be made by having some activities designed for work and others for casual socialization. You don&amp;#8217;t need to be a fascist about enforcing this dividing line, but setting some clear expectations go a long way.&lt;/p&gt;
&lt;h3&gt;Establish a culture of participation and sharing&lt;/h3&gt;
&lt;p&gt;Your group should be defined by what its members do, not just what they talk about. Do what you can to highlight the contributions of your members, and favor activities that involve active collaboration rather than ones that require one person to do the bulk of the work while everyone else passively consumes information.&lt;/p&gt;
&lt;p&gt;For in-person gatherings, I like things like lightning talks and hackfests, as long as they are mostly focused on what group members are working on, as opposed to just repeating something that someone else said or did. I also think that group discussions can be very effective as long as some structure and decent moderation is provided.&lt;/p&gt;
&lt;p&gt;Online, similar results can be achieved by focusing on code reviews and discussions of specific articles or questions about how to solve a given problem.&lt;/p&gt;
&lt;p&gt;Both online and in personal, work on and discussion of open source software goes a long way. Doing everything you can to encourage your members to share their work publicly will make a huge difference and create a positive form of social pressure to actively share. Of course, not everyone will have time to run their own projects or contribute large patches to other projects. But as soon as you hear someone complain about a bug or problem that they haven&amp;#8217;t reported yet, that&amp;#8217;s the time to sit down and show them how to write a minimal reproducing example and file a ticket. Sometimes a few minutes of guidance is all it takes to transform someone who does little more than complain on twitter to an active contributor to open source projects.&lt;/p&gt;
&lt;h3&gt;Practice social awareness and take care not to exclude marginalized groups&lt;/h3&gt;
&lt;p&gt;Many technical groups (both online and local) fail at breaking away from some pretty embarrassing social norms. While we may not feel this way as individuals, as a group we are consistently guilty of tolerating exclusionary behavior that would not be tolerated in most other social settings. Remember that while the bulk of programmers who attend technical events are heterosexual upper-middle class white males in their 20s and 30s, there is a whole world of folks who are just as passionate and capable of achieving great things technically but do not fit that stereotype.&lt;/p&gt;
&lt;p&gt;This does not mean being excessively politically correct or losing your sense of humor. It does mean that if you would not make a certain joke or statement in front of a more diverse group of people, you might want to avoid saying it to your programmer buddies. It also means that you should check your cultural assumptions about others at the door, and focus instead on what people can do rather than what makes them different from you.&lt;/p&gt;
&lt;p&gt;Most of the advice I&amp;#8217;ve given in this article will naturally create an environment that is more inviting to a broader-based community than the one we&amp;#8217;re currently serving, but I wanted to call out this issue in particular as being one that is too important to ignore. Organizers of communities need to specifically keep these issues in mind, as they are the ones that have the best chance at setting expectations for what is expected of group members.&lt;/p&gt;
&lt;p&gt;People work and learn best in an environment in which they feel safe, welcome, and appreciated. If each member in your group values that sort of environment, you&amp;#8217;ll end up achieving more as a group than you would in a group where some folks feel marginalized or unappreciated.&lt;/p&gt;
&lt;h3&gt;Questions?&lt;/h3&gt;
&lt;p&gt;I care a lot about these ideas, and would love to help spread them beyond the digital walls of Mendicant University and out into the world. If you want to start up your own group based on these ideas or want some help incorporating them into a group you&amp;#8217;re currently organizing, I&amp;#8217;d be happy to help. You can leave a comment here, or you can even catch up with me over Skype. Send an email to gregory.t.brown@gmail.com with your availability in &lt;span class="caps"&gt;UTC&lt;/span&gt; time and I will be happy to meet with you.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/p-O-FyMskltBff9dDmlWiM4xKtw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/p-O-FyMskltBff9dDmlWiM4xKtw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/p-O-FyMskltBff9dDmlWiM4xKtw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/p-O-FyMskltBff9dDmlWiM4xKtw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 16 Jan 2012 18:00:00 +0000</pubDate>
      <link>http://rbp-blog.webbyapp.com/posts/gregory/062-practicing-programming-group.html</link>
      <guid>d41d8cd98f00b204e9800998ecf8427e</guid>
    </item>
    <item>
      <title>Can has payday?</title>
      <description>&lt;p&gt;You may know, if you&amp;#8217;re a frequent reader of this blog, that I am &lt;a href='http://ryanbigg.com/2012/01/moving-out-down-to-melbourne/'&gt;moving to
Melbourne&lt;/a&gt; soon. How soon? This weekend soon.&lt;/p&gt;

&lt;p&gt;In order to move, I&amp;#8217;m going to pack as many of My Things as I can into My Car and then Drive to Melbourne. Simple.&lt;/p&gt;

&lt;p&gt;When I get to Melbourne, I am going to unpack My Things from My Car and put them in My Apartment. But I don&amp;#8217;t own enough Things. When I get to my Apartment I will need to buy more Things.&lt;/p&gt;

&lt;p&gt;For instance, I will need to buy a saucepan that will become My Saucepan. I may even buy multiple saucepans. I will need to buy a fridge that will be My Fridge. Oh there are so many things that will be Mine.&lt;/p&gt;

&lt;p&gt;But to buy all these things, I am going to be relying on a certain batch of money. See, moving out wasn&amp;#8217;t something I planned on doing this soon and so I didn&amp;#8217;t save up enough of My Money to buy more things to be My Things. That was My Mistake, and I know better now.&lt;/p&gt;

&lt;p&gt;This little batch of money happens to be payment for &lt;a href='http://manning.com/katz'&gt;My Book&lt;/a&gt;, which is owed to me by &lt;a href='http://manning.com/katz'&gt;My Publisher&lt;/a&gt;. I have an email here from the 5th of January that asks to confirm the royalty split between myself and My Co-Author, to which I replied almost 30 minutes later.&lt;/p&gt;

&lt;p&gt;There&amp;#8217;s another email from Yehuda saying that he should get the money from the copies that were sold before I joined the project, and another shortly after with me agreeing to this. These emails are on the 6th of January.&lt;/p&gt;

&lt;p&gt;There is an email on the 6th of January again, from My Publisher&amp;#8217;s Acquisitions Guy that simply states &amp;#8221;I&amp;#8217;ll confirm the count before Ryan joined. Should be pretty easy&amp;#8221;.&lt;/p&gt;

&lt;p&gt;Clearly this was not the case, as by the 11th I still had not received My Money that I would dearly like for My Things. I send another email on the 11th asking &amp;#8220;Hey all, how goes the movement on this? I&amp;#8217;m moving into a new place on the 23rd and would love to spend the money on some furniture :)&amp;#8221;.&lt;/p&gt;

&lt;p&gt;Yes, I put a smiley face there. It&amp;#8217;s something I do.&lt;/p&gt;

&lt;p&gt;Again on the 11th, Yehuda replies with &amp;#8220;Sorry, what works for me. Whatever Michael says the count is fine with me.&amp;#8221;. Okay, so that&amp;#8217;s now an agreement from all parties and an explicit statement that I would like My Money in the not too distant future.&lt;/p&gt;

&lt;p&gt;Thanks to the Internet and modern banking systems, it shouldn&amp;#8217;t be that difficult.&lt;/p&gt;

&lt;p&gt;It is now the 17th January, 12 days since the initial email. 6 days since the confirmation. I am sure, by now, everyone is back from the New Years holidays. And yet&amp;#8230; there&amp;#8217;s still no money. There&amp;#8217;s not even an update saying that My Money is on its way.&lt;/p&gt;

&lt;p&gt;While you may think that waiting simply 6 days for a chunk of money is simply being impatient (and you&amp;#8217;d be right), the way I see it is that I&amp;#8217;ve been waiting since the middle of September when My Book was published.&lt;/p&gt;

&lt;p&gt;The lack of an update makes me sad. I would really like My Money so I can spend it on more Things to make them become My Things, even going as far as to furnish My Apartment.&lt;/p&gt;

&lt;p&gt;But don&amp;#8217;t worry, I have money. It&amp;#8217;s just not My Money. It belongs to Mr Taxman. And if that money isn&amp;#8217;t there when Mr Taxman comes around, then Mr Taxman would not be happy and it&amp;#8217;ll all be a self-perpetuating cycle of unhappiness. This money that belongs to Mr Taxman is kept away from My Money so that I don&amp;#8217;t touch it. It&amp;#8217;s The Golden Rule. I don&amp;#8217;t like to break The Golden Rules.&lt;/p&gt;

&lt;p&gt;I just really hope that it doesn&amp;#8217;t turn into &lt;a href='http://www.mikeash.com/pyblog/avoid-apress.html'&gt;something like this&lt;/a&gt;. Then we&amp;#8217;re all fucked.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dXwS1cIt6HUti3i-gh_RC_-_pxs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dXwS1cIt6HUti3i-gh_RC_-_pxs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dXwS1cIt6HUti3i-gh_RC_-_pxs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dXwS1cIt6HUti3i-gh_RC_-_pxs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 16 Jan 2012 13:00:00 +0000</pubDate>
      <link>http://ryanbigg.com/2012/01/can-has-payday</link>
      <guid>d41d8cd98f00b204e9800998ecf8427e</guid>
    </item>
  </channel>
</rss>

