An Interesting Way to Publish a Blog

Peepcode has a blog and it is managed in a very efficient and unique way. Everything is checked into git and pushed, no database involved–it’s kindof incredible. Check out the stack here: About this Blog | Free PeepCode Blog.

February 27, 2010 · 1 min · Mark Simoneau

Simplicity

I’ve read quite a bit lately about simplifying our lives–mostly from a personal perspective, i.e. having less stuff, doing fewer things, focusing on the right things. It made me wonder how that translates to the professional level. Apple, 37 Signals and many other companies make a living making software simple AND effective to use. That’s one way that it translates–on the macro level, but how about on the micro level? What is your absolute minimum work setup where you are free from distractions and free to do everything you need to do? Are there things that initially seem like “extras” that are actually a big deal? Are there things that you have in your workspace that you could easily do without now? ...

February 23, 2010 · 2 min · Mark Simoneau

Python vs. Ruby - A Fight To The Death

When you’re discussing efficiency, a lot of what comes up is the details. There is something to be said for the “beauty” of limitation and the “efficiency” of beautiful things–especially the efficiency of our brains processing it. A talk about the Zen of Python, monkey patching (several times), the Ruby community's reckless hastiness, the syntax of RSpec and cucumber, beauty and ugliness in languages and testing tools, the complexity of the languages' grammars, syntactic vs. semantic complexity, the relative taste of grasshoppers and tree bark, etc., etc. Python vs. Ruby: A Battle to The Death from Gary Bernhardt on Vimeo. ...

February 21, 2010 · 1 min · Mark Simoneau

"I need to talk to you about computers."

Nothing is simply black or white. Old Worlders are particularly sensitive to certain things that are simply non-issues to New Worlders. We learned about computers from the inside out. Many of us became interested in computers because they were hackable, open, and without restrictions. We worry that these New World devices are stifling the next generation of programmers. But can anyone point to evidence that that’s really happening? I don’t know about you, but I see more people carrying handheld computers than at any point in history. If even a small percentage of them are interested in “what makes this thing tick?” then we’ve got quite a few new programmers in the pipeline. ...

February 12, 2010 · 1 min · Mark Simoneau

PDF Generation in Rails... The Right Way

As long as we’re talking about efficiency here, one of the ways to be more efficient is to use the right tool for the job. I’ve done PDF generation on 3 different projects but the PDF generation I did yesterday was by far the easiest. What I thought would take me 2 days ended up taking about 3 hours (with research, etc). If you’re not using Ruby to automate some part of your job or life, I feel sad for you (at least a little). The next time you need to generate PDFs, why not try out the excellent Prawn library? Not familiar, you say? Well, let’s dive right in, shall we? ...

February 12, 2010 · 3 min · Mark Simoneau

The Path to Rails 3: Greenfielding new apps with the Rails 3 beta

Upgrading applications is good sport and all, but everyone knows that greenfielding is where the real fun is. At least, I love greenfielding stuff a lot more than dealing with old ghetto cruft that has 1,900 test failures and 300 errors, 20,000 line controllers, and code that I’m pretty sure is actually a demon-brand of PHP. Building a totally new app in Rails 3 is relatively simple especially if you’ve done it in previous Rails versions, but there a few changes that can trip you up. In the interest of not missing a step someone may need, this post is a simple walkthrough of building a new app with Rails 3. ...

February 9, 2010 · 1 min · Mark Simoneau

The Building Blocks of Ruby

While the Python version may not be quite as pretty, nothing about them screams “Ruby has much stronger capabilities here”. Instead, by using examples like Sinatra, Rubyists trade in an argument about great semantic power for one about superficial beauty. Rubyists, Pythonistas and others working on web development share a common language in JavaScript. When describing blocks to “outsiders” who share a common knowledge of JavaScript, we tend to point at JavaScript functions as a close analogue. Unfortunately, this only furthers the confusion. ...

February 8, 2010 · 1 min · Mark Simoneau

iPad - The Future of Casual Computing

I read a great article last week about the complexity and power of computers vs. what most non-Gen-X-ers want and it really got me thinking about the iPad. The audience for the iPad is larger than the audience for the iPhone, even larger than the audience for a Mac. It’s a nearly complete computer replacement for a whole segement of the population. Some college students have the potential to get by without a computer at all. Imagine if everything fit into your $800, top-of-the-line device that you carried around under your arm. You could read your textbook, take notes, listen to music, watch movies, check e-mail… scratch that, check Facebook, browse YouTube, compose your paper, balance your budget and map out where to eat after study hall. It’s a fully functional device that is a tiny dent in their pocketbooks compared to a laptop. ...

February 2, 2010 · 3 min · Mark Simoneau

Getting Git

I recently converted all of my professional projects over to github and switched my dev workflow to use git. Oh, what a difference a tool makes. First off, git just works. It’s awesome to be able to switch branches super easily… and even create a branch after you’ve begun work on it. Realizing that you’ve started a new feature and need it to be in it’s own “silo” is great. What you want is for it not to be a pain to merge it back together. Honestly, I wish we had this at my old job where having multiple levels and several branches would have been highly beneficial. ...

January 25, 2010 · 2 min · Mark Simoneau

Why programmers should play Go

Shapes in Go aren’t unlike software design patterns. While there is nothing preventing you from placing logic in your views, this shape is recognized to be a weak one. Think of Gang-of-Four design patterns: the MVC, Adapter, and Factory patterns are recognized to be helpful in some circumstances (and not appropriate in others). On a lower level, iteration and recursion have commonly recognized shapes, as do database normalization vs. denormalization. Even if you can’t hold an entire program or algorithm in your head at once, recognizing common shapes helps you to understand what is going on. ...

January 7, 2010 · 1 min · Mark Simoneau