Work since 2007

Posted by Andrew Premdas Mon, 10 Nov 2008 19:17:00 GMT

Keywords: Category:

What Have I Been Doing Since February 2007

The short answer is lots and lots. For the longer answer

After finishing at InView I had

  • alot of money
  • a strong desire to work in a better environment, both with code and with working environment

Every programmer should have good control of their fundamental tools, an editor, an environment to compile and run things and a revision control system. In addition we should be able to test every thing we write but I'll get to that in a bit.

In February 2007 my editor was eclipse, my environment was eclipse and windows cmd.exe, and my revision control system was subversion. I wasn't really happy with any of these.

Now my editor is textmate, my environment is OSX - in particular Terminal and my revision control system is GIT. In moving to these I also investigated VIM, Mercurial, SVK, Cygwin, Ratpoison (as a Cygwin window manager), and a number of other items. Generally I feel much more productive with my current environment

I do need to do a bit more work with Textmate (I can see potential which I'm not fully utilising). GIT is totally amazing and github is a wonderful resource. Finally I never want to see cmd.exe again (would be quite happy to never work in windows again!)

At Inview I had been working with Java, with an incredibly primitive JVM on a platform with very limited computational power. Even basic functionality such as collections was not available, and there was no ability to run a testing platform like junit. This presented challenges that could only be overcome by highly organised source code, a great deal of discipline and the rigourous application of good OO. Having a 15 minute turnaround time between code change and feedback is very challenging.

Having worked with Rails and been test infected since the early days of junit, I wanted my future work to be significantly more productive.

Since Febraury 2007 I have

Since 2007 I have re-evaluated my career and worked towards the following objectives

  1. to be test infected
  2. to work with Rails even though at the time end even now there are very few rails roles in the north west
  3. to improve my fundamental toolset and my usage of them - editor, cli, rcs
  4. to try and be more independent and be able to deliver complete product as a web developer
  5. to give myself greater opportunities to work locally or without excessive travel

In the technical arena I have

  1. Updated my Rails knowledge from 1.2 to 2.1
  2. Learnt rspec
  3. Learnt and used rspec plain text stories using Cucumber (my main way of testing)
  4. Moved to doing behaviour driven development
  5. Changed my OS from Windows to OSX and Linux
  6. Learnt to deploy rails applications on Linux using Mongrel and Phusion
  7. Used ssh to setup secure access between servers
  8. Used capistrano to deploy to my server
  9. Learnt git and used it extensively
  10. Used github as my main source of code
  11. Used restful_authenticion and rewritten its stories as declarative features
  12. Used AASM, Attachment_Fu on a commercial application
  13. Researched and used REST
  14. Used Haml and Sass extensively
  15. Ported Blueprint to SASS and developed semantic CSS framework. (made obsolete by compass)
  16. Written an ecommerce application using Rails (nearing completion)

In this time highlights from my reading list include

  1. Restful Web Services by Leonard Richardson and Sam Ruby
  2. The Rails Way by Obie Fernandez
  3. Ajax on Rails by Scott Raymond
  4. Peepcode Screencasts for Rspec, Git and Textmate

During this period I have learnt a considerable amount about myself

  1. That I sorely miss working with other developers
  2. That I can be a productive at home
  3. Equally that I can be very unproductive working at home
  4. That working alone requires participation in online communities, isolation is bad for the soul and your code
  5. That I am not good at business administration, filling in tax forms and touting for work.
  6. That with patience I can overcome most obstacles and that without patience even simple obstacles can become insurmountable.
  7. Finally that when you have taken a 18 months of work in the middle of a career, that it can be very difficult to communicate what you have done and why you have done it.

Of course this is just a brief summary of what I've been doing. Further details of progamming stuff can be found on my blog (blog.andrew.premdas.org). After that the best thing to do is talk to me.

Run

Posted by Andrew Premdas Thu, 19 Jun 2008 18:00:01 GMT

Did 21 minutes at an average heart rate of 158 on Tuesday. This is a personal milestone breaking 20 mins - its a long time since I've been able to do that

Quite pleased with this run. Decided to try and judge runs on heart rate and time, rather than speed or distance covered. Want to increase time I can run at 160. Milestones will be 25, 30, 35 and 40 mins. Ideally I'd like also to get my heart rate down to 155 for these runs. Currently I can walk faster than my 155 running pace! I am amazed just how bad my cardio was/is. Am struggling as usual with my legs, especially calves, but seem to be just about managing that side of things.

Good thing is that there is so much room for improvement :)

Mac Air Keyboard Layout

Posted by Andrew Premdas Fri, 02 May 2008 16:43:21 GMT

The keyboard layout on the MacAir is a bit of a pain in the arse, mainly because of the absence of a convenient hash key. So I need to put together a custom keyboard layout to sort this out.

This is actually really easy to do ... once you know how to do it!

  • download Ukelele
  • mount/open the disk image (double click the .dmg file)
  • open the british keyboard layout in the folder "System Keyboards/Roman" in the disk image
  • system preferences|international
  • choose Input Menu and select character palette (the first entry)
  • in your menu bar click on the country flag and select show character palette.
  • select punctuation and drag the # key over the § key on the keyboard
  • save the layout as 'british-with-hash.layout' in "/Library/Keyboard\ Layouts"
  • go back to "system preferences|international|input menu" and select your new "british-with-hash" layout
  • use the menu bar to select your new layout

n.b. after saving the layout you may have to logout and in for the new layout to be recognised

Mac Air

Posted by Andrew Premdas Wed, 27 Feb 2008 08:54:00 GMT

After much tribulation my Mac Air is only a couple of weeks away. Checked out the machine in Trafford Centre yesterday. I was going to buy a budget Mac Book, but the Air is just so much nicer, and a much better fit for me.

  1. Much better keyboard. It has the best laptop keyboard I've ever used. Its much more precise than the Mac Book keyboard

  2. Much better screen. The LED backlit screen can be significantly brighter than the MacBook screen. It also seems to be less glossy and more vibrant. The screen alone is a £100+ upgrade

  3. The Air is amazingly light, yet also feels very strong and well built. Much better built than my Dell or a MacBook. The quality of both design and construction is first rate - just so long as I don't get one that wobbles!!

  4. The thinness really is a plus. Apple have hit something on the head here. They've created something you can easily transport, and which when you use (as a portable) has no real compromises on the most important things - screen and keyboard.

  5. Better DVD drive!! I'd much rather not have one, than have the MacBook's stupid combo drive. Apple are slightly ahead of the game here in not having a drive, and bizarrely, there general stupidity over charging a premium for a .sic superdrive makes no drive at all even more attractive

Whilst my Dell (640M) is pretty compact, I always felt it was a pain to carry around - quite heavy and also filled up my laptop bag. The Air gives that extra bit of space for whatever

So for me its a good fit. The price is also reasonable, because of the quality and OSX . Hackbooks are much more painful Hack desktops. Linux on laptops is never straightforward and Vista/XP doesn't have the console support I want (Cygwin is good but a real pain in the arse as well). The only real concern is battery life, my Dell being utterly amazing for that, but I've never really needed it.

New Fad - Shaving

Posted by Andrew Premdas Mon, 25 Feb 2008 10:43:00 GMT

I'm a man of many fads. This blog is one of them I guess. My latest fad is traditional wet shaving.

As usual it was prompted by some random web trawl that somehow led me to Badger and Blade. There is lots of interesting stuff here including videos, reference articles, product reviews etc. But for me it was an opening to a new world - were the mach3 was scorned! Once again the internet was reviving a lost art through the use of forum software and the sharing of experience.

So now I have my beginners kit of shaving paraphernalia and have my second order in for my big sample pack of blades, and some additional bits and bobs. Results are mixed so far. I feel that much of this is down to poor technique and lack of experience, though maybe also I've yet to find a good blade for me. I may record quite a bit more stuff about this if I can be bothered. It would be useful to keep a kind of shaving log, as finding a really good shave could be a really nice part of my daily routine, and yes I am going to have to shave most days for the rest of my life, so its probably worth putting a bit of effort into it.

Current Kit

  • Merkur HD
  • Merkur and Derby Blades
  • Vulfix Sicilian Limes Shaving Cream
  • Silver Tip Badger Brush (cheaper one)

UK Retailers

Schedules and Plans

Posted by Andrew Premdas Tue, 12 Feb 2008 13:40:00 GMT

I have a great need to be more organized in the planning and recording of my activities. My progress in all things is quite eclectic and wide ranging. At the same time it is not very focused and often not appreciated. This results in dissolution and also makes it difficult for me to reach goals.

I really am not at all goal orientated except when I'm employed. This doesn't mean I'm lazy, just not focused on specifics. So whilst I might spend a several hours a day thinking and working on guitar, and am making progress in a number of areas, I often feel a deal of frustration about what I am doing.

In an almost direct contradiction to the above, a major problem with my guitar is that I focus to much on one thing. For example currently I'm focused very much on Blues and the Woody Mann 'Basics' DVD. This is a great DVD and well worth studying. Still in addition I could and should be doing

  • 15 minutes of ear training
  • 30 minutes of theory and scale playing
  • 15 minutes of rhythm training

all of the above should be done daily

What this means is that a day then consists of very many small activities rather than one or two big activities. This is a real problem for me as I feel I can only do at most three things a day. So I can compute, eat well and play guitar (these three are really tough), but that gives me no real room to run, stretch, wash up, be clean and tidy. Perhaps I can address this each day by planning very specific activities. However for this to succeed all the activities need to be much more specific. This leads to a very GTD like approach to things were we have alot of projects and alot of specific activities to do. Each of these activities requires planning and recording, and this of course goes against my general pattern of learning, and takes considerable time, effort, and consistency. It also may remove the time for general thought and speculation - but that should be included in the activities as part of the process of planning and review

So my conclusion is that I need to get back into GTD and try a very much more detailed approach to planning and executing my life. Does this mean I now have to spend days dicking around choosing my GTD tool!