Friday 13 March 2009

Amazing

I was playing with Ubuntu a bit more today, the bits that I don't really play with often are the very windowsy-nicey-nice bits, like the applications it gives you...and, well I really should they are of a much higher standard that the Microshaft windows offerings. For example I started Rhythmbox, its a sort of music library application that lets you listen to stuff in your library in much the same was as wmplayer does. In the past this has sprung into life when I plug my mp3 player in and I just shut it as I know I just want to transfer some files. The reason I am so excited by it is I wanted some background noise whilst I work on my code as music tends to keep me focused ( go figure ). So I clicked the radio button and after listening to Virgin Rock for a while it got a bit dull so I clicked the Last.fm icon not expecting much, I was wrong ( again!! ). If you ever used Pandora and were a little upset when it was suddenly no longer free then Last.fm is for you. Looking at the website they have gone through a lot of trouble making a clean simple intuative interface that actually took me by the hand and led me to exactly where I wanted to go. So the site is amazing and the selection of music it gave me was spot on too

Wednesday 11 March 2009

my ordinary day

few things that people should know 1. Writing procedural code in an object oriented langauge does not make it an object oriented program magically. 2. coding progress is not measured by the number of lines written, nor is it inversely related to the number of lines written. With more lines code is bloated and specific purpose of routines/methods is blurred or multitudineous. With less lines but still no division of responsibilities the code is difficult to read and maintain. 3. fixing a bug with no investigation into the cause is the same as applying a plaster to something, yes it stops the bleeding for now but whatever was causing it may lead to death in the mean time. 4. when using an api I should not need to know the inner workings of its implementation, it should be as a simple box that answers my questions. 5. there is good laziness and bad laziness. Good laziness leads to automation and tools being created to make work easier. Bad laziness leads to no units tests, sloppy code and having to repeatedly perform the same operation time after time when it could be automated. 6. situations don't just improve, without someone willing to fix problems they will exist forever. 7. knowing a language syntax does not mean you are a good developer. You can be a good developer, able to see what conditions should exist, what things should be checked for and how something should work without even knowing a programming language UML is often enough. 8. experience teaches a developer, regardless of academic qualifications, experience is what truly matters.
 
Stack Overflow profile for Richard Johnson at Stack Overflow, Q&A for professional and enthusiast programmers