Editorial articles
This is a weird gaming emotion post. If you’re not into video games, or just don’t feel like reading something not about programming, I won’t feel bad if you leave. I just wanted to post this here as it’s my main blogging platform, and it’s about computer stuff so why not.
Spoiler Alert
I’m going to write as if you know Mass Effect already. There will be spoilers (even if you’ve played it all the way t...
Instead of doing the standard 9-5 salary based job, it’s popular in the software development world to work as a contractor, or freelancer.1
Right now, I do the 9-5 thing. I’m learning it’s because of one major fact.
I’d be terrible at it
It comes down to the fact that as a contractor, you have no control over the environment. The company paying you doesn’t use git? Too bad. Git, but no GitHub? So sad. Test-unit wh...
Stop me if you’ve heard this one before.
You get into some new tech over the weekend. With enough excitement to kill a horse, you whip up a ruby gem and put it on Github.
You get a few hits, some people using it over the next little while. A few bugs get reported, and you fix them. A few features get requested, and you implement them. A few pull requests get submitted too, and you merge them. You’re using it yourself, so you’...
You need to start caring about a few things. Now.
Code style
Looking through code, you see all sorts of things. Some of them are good. Some of them are downright amazing pieces of code.
Some of them are horrible.
Some of them are so bad you feel your grip tensing around the keyboard and you have to restrain yourself so you don’t snap the bloody thing in half.
They might be bad decisions. They might be caused by someone who didn’t h...
Service Oriented Design (also known as Service Oriented Architecture) is a design technique used in software projects, both large and small. It follows the idea that you divide up a program into separate isolated pieces, or services. This sort of separation has a number of advantages.
You can test and debug the pieces individually.
You can change out pieces for new designs without affecting the rest of the system (provided the new systems u...
I was using treetop to do some parsing the other day and it got me thinking. Treetop is a parsing DSL for ruby based on the idea of a parsing expression grammar. This could get dangerous.
lex and yacc (flex and bison)
If you open up the ruby source code, you’ll probably find a file named parse.y. This is probably used by bison to generate a parser. The parser is (probably) used in conjuction with flex to deal with parsing things. A thing...
Do you have a TODO list? Sure you do. I bet you have all sorts of cool projects on it, like a better todo list application, a web spider for some RSS feeds, a search engine experimentation, a git backend built on riak, and a slew of other ideas you haven’t got around to.
I bet you also have some new programming languages you want to learn. Maybe expand your scripting language knowledge with some Python, break into functional programming ...
When it comes being great at what you do in life, there’s no real formula. Some people have that natural talent for something, and others just love it enough to dedicate the time to get better at it.
Regardless of how you ended up where you are, there is always room for improvement. I’m going to talk about some of the things that have helped me along the way become better at what I do: write kickass software. Realistically, you can...
A lot of CPU cycles were spent dealing with blog posts surrounding the whole iPhone SDK change. One by Zed Shaw was interesting because it addressed a different part of the problem.
The point he makes is that there are people who claim to be coders out there when all they do is write ruby code. Ruby, python, C#, perl, or whatever are all good and fun. They are useful, powerful languages, each with their strong and weak points.
The problem come...
If you don’t already know what this is going to be about, just skip it. If you haven’t already become aware of what’s happening, be thankful, and move on. If you really want to know, Google around for iphone sdk 3.3.1 and you can read up on the details.
I’m writing this article as:
A software engineer (EIT)
An iPhone user
Someone who originally wanted to develop for the iPhone, but now (even before these changes) lo...
There are lots of tiny little fails out there. Here are some that I’ve found.
The Digg iPhone app
The Digg app came out for the iPhone to much fanfare but I wasn’t originally a fan.
First off, you can only really use the app if you have a regular Digg account. If you have a straight Facebook account like I did, there is no way to login. FAIL. If you’re going to release an app to let your users use your product, don’t a...
I had a conversation with Loren Segal a couple weeks ago about email. He made a comment about Google Buzz mentioning that he has never used Gmail, and our conversation ensued.
My first email address was with Hotmail, as I’m sure a lot of people’s was. Then I moved to Gmail proper and was hooked. I wondered why anybody would use any other email system.
I had a few university emails (ualberta, cs.ualberta, ece.ualberta), but I also s...
I am in the unfortunate position where I have to use Mac OS X Server on a regular basis. Hey, at least it’s not Lotus Notes.
Since it fills me with so much rage, let’s just get right into it.
Everything is shiny except mail
When you first hit the login page, it looks good. The blogs and wikis look good. The calendar looks good. The mail interface is, comparatively, bloody terrible. They wrote their own stuff for everything except ...
There are a lot of hosted source control providers out there. Github, bitbucket, cvsdude, ProjectLocker, Codaset, SourceForge, Codeplex, Google Code, Beanstalk, and I could probably keep going until all 5 of you stopped reading my blog.
Personally, I’m a Github kind of guy. From the looks of things, I would also enjoy Codaset or bitbucket.
We use cvsdude at CodeBaby, and while it gets the job done, it’s not something I’d use ...
A few things in a recent techradar post made my eye twitch a bit.
Keyboard and mice
Obviously they aren’t programmers. I have a hard time imagining that in only 10 years, programmers won’t be using keyboards.
Desktop PC’s
I like how the third sentence is a admittance that it won’t die, and yes it’s on the list. The upgradability and extendability of desktop PC’s is one big advantage they have over laptops. O...
Indeed. What do we do? Well I was curious.
WTF you might say. “You’re a programmer! Shouldn’t you know what you do?” Well yes, I know what I do. What I mean is what do programmers do while programming besides programming. I myself write the codes (duh) and hang out on Twitter and listen to podcasts, watch movies, listen to music, and sometimes I just concentrate so hard I forget to eat. I was curious to see what everybo...
More and more people seem to be ever so concerned about the Service Level Agreement.
Okay. Actually it’s more like companies, and the people responsible for picking services.
If you don’t know, a service level agreement is basically a statement by a company providing a service that their service will be available and usable a certain amount of time. As an example from the CVSDude website:
99.9% Uptime Service Level Agreement (SLA)...
Jeff Atwood, of Coding Horror and stackoverflow fame made a blog post entitled All Programming is Web Programming
Go read it, and come back, I’ll wait.
Okay back? Good
I was originally just going to comment but then I realized the scroll bar couldn’t get any smaller on my browser and the page size was probably close to some sort of limit, so that idea went out the window. So here goes…
First off, Michael Braude seems a bit of...
I signed up for gdgt despite the fact that I whined about it not supporting OpenID. Here I am. Wee.
The first thing I tried to do when I got there was add a gadget to my have list. Makes sense right? That’s what you do. So I find the Dell 6400, and…there’s no ‘Have it!’ button. Hmm…well maybe if I…oh. There’s an ‘add to list’ button.
Okay, that makes sense, since they have 3 lists: h...
On the recently launched superuser I found this little gem.
As in my comment, why are you playing a game like Team Fortress 2 and looking anywhere but your screen? Why do you need to look at your keyboard at all?
I use a Das Keyboard version 1 at work and a version 2 at home (the current version 3 is most similar to version 2). They are both blank. They don’t require any resource hogging drivers. They don’t have any flashing lights...
I go to movies. Lots of movies. Usually I get popcorn or a drink. Not always, but usually. What can be counted on, however, is the movie theatre staff ensuring that instead of everybody waiting in a single line, and popping off the top like a queue, we all wait in 3 or 4 separate lines.
Why is this? It’s stupid.
At the Tim Horton’s in my building, they do it properly. One big line, 3 tills, and they just call the next person. The l...
You’ll hear the phrase “the cloud is the future” a lot floating around the tubes, and a lot of people seem to dismiss it. I came across this from my RSS feeds, and one comment in particular caught my eye.
I can get 1.5 tb hard drives for less than 70 Euros and they are accessible even if my net connection is down.
I didn’t quote the entire comment, since the poor grammar caused my head to hurt…
This person is cl...