Apple and Nike have teamed together to produce a shoe that transmits fitness data to directly to your iPod. As a keen user of my iPod at gym and on runs along the Sea Point seawall, this is one product I think is really cool.
The current wireless kit shows your distance, time, pace and calories burned in real time and displays data on the iPod. Someone just needs to invent a heart rate monitor that works with the iPod and I'll be a keen buyer.
One of the other innovations I like is the PowerSong - a one touch button you can press when you need that extra vooma! In fact, I think it is one innovation that should probably be built into the iPod standard.
My other use of my iPod is to provide background music to coding, and I think it would be neat to be able to press a button every now and then to get a Coding PowerSong whenever I need a little bit of inspiration. I generally find classical music (especially Pachelbel) is great for coding, but every now and then I need that wake-up song - so here are my nominations for Coding Powersong:
1. U2's Elevation
2. Queen's Under Pressure
3. BareNakedLadies One Week
Any other suggestions out there for a Coding PowerSong?
There is a statistic I read somewhere that there is about 50 days from when someone signs up for a blog, and the time they post their first entry. Since I've put my blog up about two months ago, I think that first posting is long overdue.
There were two reasons for the tardiness:
- firstly, I've just started a company, so in the last couple of months my life has been filled with conducting over 50 candidate interviews, moving into new premises and setting up everything from servers (despite Dell worldwide shortages of various bits of technology), telephones (despite a Telkom strike) and, of course, ensuring we have a decent UPS strategy (Eskom, feel our pain!).
- secondly, and this may sound vain, I just had to wait until I could do a first post that would sound at least somewhat profound.
Well, we had one of those geeky tech moments that happens at software companies from time to time which could count as a Somewhat Profound Day (capitalisation with apologies to A.A.Milne). It began like this:
One of our newly hired developers, who is known for his somewhat warped sense of humor (his own self-admission here!) sent around the following email based on some code he found on the The Daily WTF:
Hi All
I propose that from now on, all variable assignments are coded like this:
do { value = newValue; } while(value != newValue);
This will ensure that the variable is definitely set to the correct value as the loop runs as many times as needed to set the actual value. Personally I think that the performance overhead this will create by having to check the loop condition is not as important as the absolute rock solid certainty that the variable will be assigned correctly. What do you guys say?
:D
Most of the developers saw the humour, but one of our more trusted software architects just had to make sure, so he sent around the following email:
Hi :D
I know we should program as "rock-solid" as possible and excuse my bluntness here, but is this not coding with extreme paranoia?
If you can tell me that C# is buggy and that when say value = newValue you often get the case when the assignement doesn't happen, then I fully support the idea.
However, look at this way:
When testing code... you only test your own code, not the fact that C# was able to do an assignment properly.. That's a given.
:R
Of course, this was a cue for everyone in the entire company to make some comment or other on the exchange, and the company lunch-time table was quite an interesting one that day, with :D being extremely proud that he had got :R to take the bait.
The strange thing is though, is that given some of the downright horrible code I've occasionally witnessed in the last two months while interviewing candidates, I am not surprised about :R's failure to spot good humour from bad code. One of the paths to getting hired at our company is a test where we ask candidates to write a few lines of either C# or SQL code, and I have been been scared a little too often for comfort at some of the results.
While most people come through our coding exercise, there have been the odd candidate, that despite having a CV that says 5 years of SQL with Skill Level 5=Expert, totally fails at using the COUNT or GROUP BY statement correctly. The worst for me was a candidate, who, despite a claim of 24 months of C#, when his application failed to build, had absolutely no clue where to find the build errors in the IDE. How anyone can actually hold down a developer position for months at a time without even the basics like this really scares me.
I think one of the great problems we have as developers is that, generally, we have this characteristic of being really nice people. While this trait is admirable for the most part, I have seen too many teams never really confronting poor performance, and quietly fixing (or at worst, tolerating) someone else's really bad code.
I think it takes great courage to boldly confront poor coding practice from our colleagues, and I really wish developers in our industry would do more of that (even if they are going to be teased at lunch-time when its not poor coding practice that's at stake, but someone's warped sense of humour!).