Typing.io – Typing Practice for Programmers

A few months back I changed over to Dvorak for my keyboard layout. Having a number of resources around for typing practice was crucial to getting my typing speed back up to what it had been. None of the typing tutors out there are really meant to help programmers type faster. Programming requires far more punctuation than typing the English language.

Enter typing.io. Typing.io is a typing tutor for programmers. Using code samples you can practice the real world typing of programmers. When you make a living typing it’s certainly helpful to be able to type faster.

True a bunch of being a good programmer is thinking of the appropriate solution first. Improving your typing speed and accuracy is neven a bad thing though.

Don’t Call Yourself a Programmer or a Freelancer Even

Great article on why you should not call yourself a programmer. A few highlights below.

Software solves business problems. Software often solves business problems despite being soul-crushingly boring and of minimal technical complexity.

and:

Engineers are hired to create business value, not to program things.

Same goes for most sites, clients need to establish a business return and many of those sites are not super flashy, but they make the clients lots of money.

Don’t call yourself a programmer: “Programmer” sounds like “anomalously high-cost peon who types some mumbo-jumbo into some other mumbo-jumbo.” If you call yourself a programmer, someone is already working on a way to get you fired.

and:

Instead, describe yourself by what you have accomplished for previously employers vis-a-vis increasing revenues or reducing costs.

When you are talking up your work to clients talk up the value you added to other projects, not the fancy new technology you used.

There is much more in this article so take the time to read the whole thing. It reminds me of the book I’m currently reading called The Career Programmer (aff link). A bunch of the beginning of the book talks about how to talk with management about the merits of your project and survive. It’s not all applicable to me as a freelancer but for every ‘bad boss’ or ‘bad coworker’ in the book there has been a client I could think of.

Maybe we should not even be calling ourselves freelancers?

The Great Windows Code Editor Hunt: InType

InType Logo
InType Logo
InType Logo

We’re now on the third code editor in our epic hunt for a great windows editor. If you’d like to catch up and see where we’ve been:

The Great Windows Code Editor Hunt: Part 1

Dreamweaver

Komodo Edit

Now it’s on to InType.

InType is still in Alpha and is similar to Textmate for OSX. In fact it’s so similar that it even imports Textmate bundles with a bit of conversion. I just started using Textmate on my OSX installation (switching from Coda for HAML, SASS, and LESS highlighting) and the two do bear a number of similarities.

The Good

InType starts up super fast which is a far cry from the other two editors (Dreamweaver, Komodo Edit) that I’ve looked at so far. Even while rendering video in Handbrake, InType started up with little lag and remained responsive during the entire time used.

A second point for InType is the amazing code completion. With all of the bundles available for InType you’re pretty sure to find the language and code completion you’re looking for. Sure it doesn’t have some of the popular web app languages like Ruby but you shouldn’t be doing ROR dev on a Windows box anyway.

image of the InType bundle list
image of the InType bundle list

InType is also very configurable. While it doesn’t have the wealth of options that Dreamweaver has you also don’t spend an hour looking for an option. Really the most important ones are at your finger tips in the main editor window. Need to change your indentation for HAML to two spaces…go ahead it’s at the bottom of the editor window.

Intpye preferences panel
Intpye preferences panel

That also brings me to another great feature of InType, visualization of your tabs and spaces. I haven’t had an editor that has done this before so when I opened my projects in InType I was greeted by a cacophony of tab and space styles. Ultimately it made more work for me as I went through and changed everything to be 4 spaces but it means I’ve got cleaner code instead of the soup of indentation styles I unknowingly had before.

The Bad

I know InType is still in Alpha and it does show sometimes. One issue that kept cropping up for me would appear when starting InType up, for some reason it would forget it’s location and open with a small window in the upper left corner of my monitor. Now I normally use two monitors and have the code editor open in the bottom right of my second monitor…so InType would jump across my entire desktop on occasion.

InType forgot where it should be
InType forgot where it should be

Another point against InType is the fact that it adds a project file to your project. Not a huge issue but yet another file to declare in my .gitignore file. I’d prefer that we didn’t add a project file but I can live with it.

The code completion of InType could also throw off some users. Sure it’s similar to how Textmate works but it’s also very different from the way Komodo Edit or Dreamweaver does it. Both Komodo Edit and Dreamweaver start hinting while you’re typing while InType waits till you hit tab before providing options to complete you’re typing. So when working in CSS you’ll need to type “background” then press tab, which will present you with all of the options for background. It even shows you the properties that background can take. Again it works but depending on where your experience lies you may find it odd.

Intype's code completion
Intype's code completion

Finally, and probably the biggest point against InType is the fact that it doesn’t have access to remote files. If you’re working with InType you’re working locally. I honestly do this anyway so it’s not a huge issue for me to fire up a FTP client or SSH into the server and transfer the needed files when I’m putting up a project for final client sign-off. It would be nice though to be able to connect to multiple servers out of a project like Dreamweaver does.

The Conclusion

While InType is a bit rough around a few edges overall it’s a pretty solid editor. It has all of the little features like easy theme management, code completion and the few draw backs are hardly show stoppers. At the end of the day InType is happy to just melt into the background and let you interact with your code.

The Great Windows Code Editor Hunt: Komodo Edit

Komodo edit logo
Komodo edit logo
Komodo edit logo

Second up on my list of code editors to review is Komodo Edit. No we’re not talking about the paid IDE but the free version.

The Good

Komodo Edit is developed on the Mozilla platform which means it’s a cross-platform code editor just like Firefox is a cross-platform web browser. As I said when I started there is an extra point for any editor that is cross-platform since I do end up spending some time each week on Mac and Linux. Add that to the price tag of FREE and you’ve got a decent editor to try.

Editing code in Komodo Edit
Editing code in Komodo Edit

Komodo has lots of options for configuration. Prefer a different colours scheme? Yeah you’re only a few clicks away from having a multitude of choices. Need to change how indentation works on files? Again a click or two and you’re all changed up. Use Emacs key bindings evidently Komodo Edit supports that as well, though I don’t use them so I have no clue on how well it supports them.

Another point in for Komodo Edit is the amazing extensions. When I needed proper colour coding for HAML in a project I just opened up the extension manager typed in HAML installed, and restarted Komodo Edit and I was ready to go. Need jQuery support, no problem search your extensions.

pick your poison with addons
pick your poison with addons

When I started this whole quest I also made a project browser a requirement for a code editor to be considered. Komodo Edit has a great project browser. It’s easy to navigate and clear.

The Bad

Edit: Checkout the response from ActiveState in the comments to some of my ‘Bad’ points.

While building on the Mozilla platform gave Komodo edit a leg up by making it easy for developers to extend it, there are also some downsides. Who hasn’t given up on Firefox after you’ve been using it for a year or so and it just takes forever to get up and running? I mean my 95-year-old grandmother has done three laps around the walking track before Firefox has loaded. Komodo suffers from this as well. It seems to me that Komodo Edit is just as slow to start as Firefox is on a given system. I have Komodo Edit installed on two systems. One is a bit new and Firefox is still snappy and so is Komodo Edit. The other systems is pretty powerful but has been around on the same install of Windows for a bit and both Firefox and Komodo Edit give you enough time to go get groceries while they start. Never seems to matter if it’s warm or cold, they’re just slow.

komodo is slower than dreamweaver
komodo is slower than dreamweaver

While I said this is a code editor hunt I know some people might take issue with including Komodo Edit here. Really Komodo Edit is an IDE. Start a new Ruby on Rails project from within Komodo and you get a bunch of extra ‘helper’ files and stuff it thinks you need. While this might help a new developer it also hinders them long-term. So the extra crap is a point against Komodo Edit.

Again in the beginning I said that I gave points to an editor that was cross-platform and while Komod Edit is the Linux install is less than desireable. I was never able to get the launch icon to show up properly in my Ubutnu Netbook Remix properly. Sure there is probably some place I need to put the .desktop file but as I said last week it should just work. I should have to go hunt around for how to make it work. Komodo Edit needs to work on their install process in Linux.

While the project browser is great on Komodo Edit it also sucks. At different times I’ve had issues creating new files in the project window. This has happened while working on both WordPress and Ruby on Rails projects. I was also never able to find a way to open and close the project browser from the keyboard. While this isn’t really an issue on my dual 22′ screen desktop it is annoying on my 10′ netbook. You can close it from a button at the top of the tool bar but that is less than desireable.

Komodo Edit also adds a project file to each project. If this was it’s only fault then it would hardly be a big one but combine that with some of the others above and it’s just a pain in the ass to add yet another thing to my .gitignore file.

Conclusion

The biggest point here is how long it takes to open. Cold or warm even Dreamweaver would win a start-up race and be on its second beer by the time Komodo Edit gets to the finish line. The slowness is something I’m just not willing to suffer.

The few other big things are the fact that working on projects in Komodo can separate you from your code as it throws all it’s IDE features at a project. The the lack of a great keyboard navigation so you always have to go back to your mouse, and the less than desirable install on other platforms just put the whole package over the top. It’s something to try if you’re looking for a code editor but it’s on my list of products I wish were a bit better, then I could use them regularly.