Updates from January, 2007 Toggle Comment Threads | Keyboard Shortcuts

  • Dark Liquid 9:33 am on January 22, 2007 Permalink | Reply  

    Reading Machine 

    I’ve been reading like crazy since buying all those books on Amazon. Since I started I’ve read the entire Homecoming sequence by Orson Scott Card, the Illuminatus! Trilogy, Pirates! In an adventure with Communism, The God Delusion, Letter to a Christian Nation and most of the Rama sequence by Arthur C. Clarke. I’ve probably read some other stuff too, but I’ve been ploughing through it all so fast I can’t remember! Most of teh Homecoming sequence was read over a weekend, and the Rama sequence I started Saturday and now I’m near the end of the 3rd book (Garden of Rama).

    I hate being able to read so fast, books never last long enough!

     
  • Dark Liquid 12:52 pm on January 17, 2007 Permalink | Reply  

    Testing Rocks 

    Well, recently I embraced unit testing. Over the last year I’ve been so busy, with such tight deadlines, often working on existing software (which had no testing framework already setup for it), that I just haven’t had the time. Or, more accurately, I was afraid that taking the time to learn test driven development and using the test framework would take longer than just getting the stuff done so I wouldn’t meet the deadline.

    As it turns out, my fears were completely unfounded.

    A little while ago we took the plunge and made the commitment to develop something test first. It was slow for the first day. Learning the way tests actually work, and what not, and how to think about what we wanted the code to do – completely – instead of writing it to fit what we wanted as we go was what took up most of the time, but after that, things progressed quickly.

    We write the code we wanted to be able to write in our app in the tests, and then wrote the code to make the tests pass. As we developed further, we had to check that our outputs made sense given different inputs. We came across errors as we changed things, but the tests told us where everything was going wrong and we fixed it.

    Later on, we reshuffled all our behind the scenes code to tidy it up and DRY out somethings, testing kept us aware of weird issues.

    Things went really quickly, and before long our entire things was tested well and finished. We had worked out how to test class method DSLs, private methods and all sorts and quickly. Now we have a fully tested, working library that we can reuse in various apps.

    Due to the nature of our library, we made use of FakeWeb, which helped speed up our tests no end. As we develop our tests and testing abilities, we’ll have to look into things like RCov so we can ensure full test coverage and the like.

    In the end, testing turned out a hell of a lot easier than I thought it would be, and now we are ahead of schedule in fact for completing our library, which kicks some serious ass. If you are reticent about picking up TDD because you think it will slow down your existing workflow learning how to do it, don’t worry. You’ll find that after a short while it becomes second nature and in fact speeds up your develop no end because you can trust your own code a lot more. However, I wouldn’t recommend starting TDD on an existing, already well-developed codebase because retroactively writing tests sucks and makes the whole idea of testing seem laborious and slow. Of course, getting that done will help you do any future development test-first, but if you are just starting out with TDD you’ll find it easiest with a new project than an existing one.

    Eventually I’ll have to take the time to retroactively test my old code for various old projects still being maintained, but I’m dreading it because of the sheer amount of work involved, but it will be nice to be able to pick up things I’ve not handled to make my older code more robust.

     
  • Dark Liquid 6:40 pm on January 13, 2007 Permalink | Reply  

    How Rails Made Me A Better Programmer 

    Or How Rails Let Me Embrace My Lazy Side

    Before learning Rails and Ruby, I was a dabbler. I can program in many languages and have written lots of different things, most of which have, and never will be, seen outside my computer because of reasons mostly relating to either shame or the fact that the application is entirely useless. I’d never written any application I was really proud of or was actually useful except a few Python applets and scripts.

    However, Rails gave me a purpose and the perfect framework for fulfilling that purpose – creating web applications.

    I was first exposed to Rails as part of my first serious job (which I’m still doing and loving ever minute of) as a web application developer. The company was an early Rails adopter and with one of their guys dropping out, they needed a replacement to get there ‘Big Project’ finished. I had to learn Rails quickly, and so I did.

    You could argue that the situation was what made me have to get serious with my programming, but that is only part true. It was Rails that provided everything I needed to flourish as a programmer. A wonderful environment in which to culture and grow my ideas, enforcement of doing what was right instead of what was easy. The community around Rails gave me a huge library of quality code and advice to learn from. Best of all though, Rails allowed me to be lazy and not feel bad about it.

    After exposure to Rails, now I am always striving to do more with less, to improve my environment and my code to reduce to a minimum the amount of work I have to do. I want to do testing, something that until previously always seemed like a chore, a bore and additional work (the bane of the lazy person!), now I love testing, because it makes my life easier and gives me more time to do new, fun stuff instead of debugging broken code without a clue where to start.

    Rails lets me be lazy in the best possible way, one I really can justify calling efficient. Rails has given me a passion for programming which I never had before and it gave me the perfect tool I needed to succeed in my chosen career.

    Rails didn’t just make my programming better, it made my life better.

     
  • Dark Liquid 6:19 pm on January 13, 2007 Permalink | Reply  

    DD-WRT 

    Today I installed DD-WRT on my new Buffalo WHR-G54S router and I am very impressed. It was pretty easy too. Since I have to network cards, I just plugged it into my spare card and configured it on that without needing to disconnect myself from the internet (and hence lose access to the online installation instructions).

    Not bad really, for about £30 I’ve now got a very nice router with a nice set of QoS, firewall, VPN and VoIP capabilities, among other things. Pity the stupid confusing naming of ‘DSL Routers’ caught me out this time and so this doesn’t have an ADSL modem in-built, but thats alright, I just need to get myself a dead simple 1 ethernet-port ADSL modem (or router/modem if cheaper) and slap this on the end.

    I just need to get around to actually configuring it for the main network and then plugging it in between the modem and the rest of the network. Then I’ll configure some nice QoS settings on it so that things like bittorrent and what not get throttled back in favour of browsing and gaming,

    Damn I love open-source software.

     
  • Dark Liquid 1:22 pm on January 10, 2007 Permalink | Reply  

    My take on the new Apple announcements 

    Well, I must say, even though I’ve never really bought into the whole, music player/pda/phone combo things, the iPhone looks pretty damn sweet.

    Whats funny is that everything in that phone is something that could have been done ages ago, but no-one else has because there was no pressure to innovate because all the other phone manufacturers are happy making money from their cushy, safe designs. Its like the pharmaceutical companies, why bother making something new, lets just make a different version of the same thing thats a tiny bit better and then charge more money for it, disproportional to the amount of innovation.

    Apple don’t have that problem, they aren’t afraid to innovate, and they also don’t have the hold-back of having previously released a proper phone solution, so they can approach the problem with a fresh outlook.

    The Apple TV looks nice, but I can’t help but seeing it limited. For instance, iTunes/Front Row/Quicktime are shit. Without installing a shitload of 3rd party codecs you are limited to playing only MP3s, Quicktime or media acquired via iTunes. What about divx or xvid files, ogg vorbis or anything else? You are screwed. With the AppleTV being this magical media box I’m not sure how you’d get other codecs installed on it. Of course, being able to send it media via a non-iTunes interface would make it much more useful as well, hopefully you can use it like a network storage device too. Otherwise it just seems needlessly limited to me.

     
c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
shift + esc
cancel
%d bloggers like this: