Sublime Text – The Editor of My Choice

Sublime Text

Sublime Text is simply the best editor in the world. No doubt about that. It took me some time to realise this fact but eventually it happened.

Being a .NET developer means you are working almost exclusively in Visual Studio. This is a decent IDE with tons of features. Features that I hardly ever used while doing frontend work as most of my time is spent with writing code or markup. It’s been a while since I extensively did Windows Forms or Web Forms development where the built in designers and other tools are basically essential. Recently, however, I get to do a great deal of frontend work, which means a lot of JavaScript. There is just no need for a heavy IDE or anything else. All I need is a decent text editor. So what are the options out there?

Other than Visual Studio I used to use Notepad++ every now and then to quickly edit config files or do live-edits on a QA box to change some markup or fix a simple bug (don’t tell me you never did that). Fast and easy, this is still a great tool for these sort of tasks.

About a year ago I noticed a big buzz around Sublime Text when version 2 came out. It was small, looked slick and offered a free evaluation. I installed it, played with it a bit and started using it instead of Notepad++. It wasn’t until about half a year ago when I finally decided to give it a go as my main editor and use it for all my frontend work. I have never looked back since and I enjoy every minute working with it.

It has all the essential text editing functionality you would expect from a decent editor and so much more. I particularly like about it that

  • It’s blazingly fast
  • View layouts with easy navigation between them
  • Projects. Quickly switch between projects with the files open as I left them
  • Ctrl+p, Ctrl+r – quickly jump to file / function
  • F12 – go to definition in JavaScript – new in version 3
  • The lovely minimap
  • Quick Add Next (Ctrl+D) and multiple cursors
  • Massive amount of great plugins written in Python, there is even one for TFS
  • Extensible build system – I use it with JSHint and to compile SASS
  • Lively community around it – just take a look at the Forum
  • Multi platform – I use it on Windows and on Linux
  • It IS blazingly fast

As a paying customer I can use the latest Sublime Text 3 beta which has a bunch of extra functionality like the F12 jump and even faster. It is totally stable and all of the plugins I use work with it (with some tweaking).

All in all, I am very pleased with this editor and would highly recommend it to anyone who needs to write not just code but basically anything.

Online Training Sources for Developers

ConfusedI was recently asked about what online training sources do I use or would I recommend. Online training is getting very popular recently. It is convenient, affordable and usually high quality, up-to-date content is provided in a wide range of topics. As I have been doing .NET for the last decade or so, and web development for the last good couple of years, the list mostly focuses on these areas.

I’m sure there is a lot more out there, let me know if you know a good one.

I think watching video screencasts is a great way of learning new (or not so new) stuff. I’ve tried Pluralsight and would highly recommend it. Tekpub is on the top of my list as well. I’m sure I’ll subscribe to both when I find some free time to watch a couple of interesting courses. Till then, I use what I can: listening to podcasts on my commute and reading blogs during lunch-break. These too would deserve a separate post…

Code Kata – The way to TDD

I’ve been playing with the thought of making code kata exercises a daily routine for a while. It never really happened until I read Peter Provost’s inspiring post. If there were only one post you could read about TDD and Code Katas, that post would be it.

After reading the post I took the plunge and jumped right into the first recommended kata – The Bowling Game Kata. It was great timing since every now and then we go out with friends to roll some balls and it was about time for our next great battle. Although once I knew how the scoring worked, couldn’t really figure it out on our last bowling session. That gave some extra boost to go ahead and read the Wikipedia article about the game and relearn the scoring.

Once the rules are clear, you’ll probably want to read Uncle Bob’s post too and download his presentation with step-by-step instructions. Fire up Visual Studio, open up the ppt and try to finish it in half an hour. Although the code on the slides are written in Java, it’s rather straightforward to port it to C# or to the language you prefer. You can do katas in JavaScript using a testing framework like Jasmine or QUnit as well.

Don’t worry if it takes a bit longer the first couple of times, your speed will improve with every iteration. Using tools like NCrunch also speeds up the exercise, not to mention the indispensable ReSharper. Improved Shortcut-Fu is another side-effect you will experience during the sessions.

I also played with the String Calculator Kata, which is Roy Osherove’s favourite kata. He is the author of the popular book: The Art of Unit Testing. If you haven’t done much unit testing before, that is a great book to get into it. Buy it, read it.

If you got hooked on code katas like me, don’t forget to check out Coding Kata .NET and CodeKata for more.

Finding time for blogging is not as easy as you might think

Wow. It’s been a while since I started this blog and contrary to the statement in my earlier post, it didn’t go that well. Not at all. I managed to produce exactly zero posts over the months. Not because I had nothing to write about, it just happened to drop to the bottom of my priority list. I have changed this and as a result, will write a new post every week from now on.

How come? – you might ask. Firstly, I realised that having a blog is great, except if it has only one post from months ago, titled “Hello World!”. It is probably better to have nothing than a  neglected blog.

I also started to pay more attention to my LinkedIn profile, and recently realised that it’s not used by only recruiters, but possible future clients could just as easily find me there and click on my Blog link. A maintained blog might worth more than a dozen recommendation.

Always intended to write that first real post. You know, the one with great content, going deeply into the subject and explaining exactly why, what and how. And as with everything else, I wanted to be well prepared for the task. So I went out to learn from the best and subscribed to each and every blog I found even slightly interesting. Reading a lot definitely helps to become a better writer. However I come to realise that the best way to master it is to actually sit down and start doing it. That’s exactly what I’m going to do, even if that means shorter posts.

I don’t fear that my first few posts won’t be perfect. I know they won’t. Maybe they’ll never be as good as I would want them to be, but Hey! Without trying, I’ll never know.

Hello world!

At last! Finally I created a blog. My blog. How exciting!

The master plan is this:

  • Write up useful posts about things and such. Mostly related to software development as such
  • Keep a sort of repository of my greatest adventures, brilliant solutions for tricky problems with code snippets and everything so anyone can use it as a reference for later reuse
  • Let the world know what I’m working on. The sometimes shocking but always edifying truth you must know

So far all is going well.

I hope you will find many useful posts here. If not, that’s not my fault. In any case, please let me know your thoughts in the comments section below.