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

Build a system, not a product

Unlike the turtle, the master is not afraid to talk about her idea because that is how you learn. Unlike the grasshopper, the master is not afraid to release an early beta product because that is how you learn. via Build a system, not a product « Opportunity Cloud.

December 11, 2009 · 1 min · Mark Simoneau

Fixing "Freemium" issues in the App Store

Recently, Apple allowed Apps that are free to add in-app charges in order to allow users to “try before they buy.” Interestingly, BrainJuice, a developer of the game Arcade Hockey recently decided to move to this freemium model, but made a major mistep in my opinion. The original app was $0.99, but the newly updated version is free, but contains ads. In order to turn off the ads, you must pay $0.99, which will mean that you basically paid twice for the same app. There might be a bug fix or two here and there, but nothing deserving of doubling the price of an app. ...

December 11, 2009 · 2 min · Mark Simoneau

Installing memcached 1.4.4 on Mac OS X 10.6 Snow Leopard

Wincent.com has a great article on how to install memcached 1.4.1 on Mac OS X 10.6 Snow Leopard. Now that memcached 1.4.4 is out, I thought it would be nice to update it: curl -O http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz tar xzvf libevent-1.4.13-stable.tar.gz cd libevent-1.4.13-stable ./configure make make verify sudo make install curl -O http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz tar xzvf memcached-1.4.4.tar.gz cd memcached-1.4.4 ./configure make make test sudo make install #!/usr/bin/env ruby require 'pathname' # memcached requires an absolute path for the -P switch root = (Pathname.new(__FILE__).dirname + '..').realpath pidfile = root + 'tmp' + 'memcached.pid' if not pidfile.exist? puts "memcached not running: starting" system 'memcached', '-d', '-P', pidfile, '-l', '127.0.0.1' else puts "memcached running: stopping" pid = pidfile.read.chomp system 'kill', pid # it appears that memcached doesn't clean up its pid file # unless you send it a QUIT signal (TERM, KILL, HUP don't) # unfortuantely, QUIT on Mac OS X causes memcached to crash pidfile.delete end

December 2, 2009 · 1 min · Mark Simoneau

25 Tips for Intermediate Git Users

Version Control Systems are critical when it comes to keeping your code in a place you can actually use it. Git is one of those systems that will change how you think about VCS because it suddenly makes it easy and fast to branch and merge. Become more efficient at git and quit wasting time with Subversion merges and remote repositories: 25 Tips for Intermediate Git Users

November 23, 2009 · 1 min · Mark Simoneau

Buy Bad Code Offsets Today!

Coding Horror: Buy Bad Code Offsets Today!. It’s making fun of all the carbon offset stuff, but it actually goes to help those people making our lives better with Open Source Software. Won’t you help a starving jQuery programmer today?

November 19, 2009 · 1 min · Mark Simoneau

Autoficiency

Over the course of human history, we’ve generally done things as best as we can, working the same tasks over and over again. Our brains have gotten good at repetitive tasks, though our hearts long for something unique and challenging. Only in the past 200 years have we begun to truly automate much of our lives. With the dawn of the industrial age, we’ve seen automation begin to change our lives. ...

October 29, 2009 · 1 min · Mark Simoneau

Syncing with iCal

June 23, 2009 · 0 min · Mark Simoneau