Battery_usage

Android phones generally don’t get a lot of battery life. Judging by some of the forum threads and blog posts I’ve read, 20 hours or so is about the average. With the stock I’ve occaisionally had it scrape past that, but not by much. Using a lighter-weight Sense-based ROM I was able to get around 36 hours of charge

If you switch the Desire HD to a ROM without HTC Sense (such as CyanogenMod 7)you’ll find your battery life reduced even further. There is a battery drain issue with all custom, non-Sense ROMs for the DHD, due to a bug in the open-source code controlling the aic3254 chip used for processing sound (the closed-source HTC driver doesn’t have the issue). Once the chip comes on it doesn’t switch off, consuming power at a steady rate. Continue reading

What do you do with all the ideas you come up with but for one reason or another are unable to follow through on? I’m thinking along the lines of those projects we all like to fill our time with – in my case it’s usually programming/computer related. It could be a lack of time, resource, or ability – it doesn’t matter; we all have ideas for projects which we think would be great but never take-off. Continue reading

I previously wrote about my search for the “promised land” of the electronic book. In that article I wrote about what I was looking for, why, and finished off looking at the top three contenders for my cash.

What I didn’t explicitly state (though I did allude to in the intro) was by the time of publication I had already ordered an eReader – the Amazon Kindle 2. As fate would have it, a couple of weeks later the new and improved version 3 came out, but we’ll skip over that bad bit of timing on my part.

Amazon Kindle eBook Reader

So, was it worth it? Are ebooks the future? Is the Kindle any good? Yes, yes, and yes. I can’t put it any clearer than that, really. I am not going to go into an in-depth review of features; that is something best left to others. I’m just going to give you my experience of using the Kindle these last three months. Continue reading

This entry has been in development for a couple of weeks. If you’ve been following my Twitter stream, you’ll probably know why it’s relevant I mention this. I have a follow-up entry in the works which will provide a better conclusion, but for now I think the bulk of the entry still stands.

I used to read. A lot. Not the bite-size, throw-away blogs and news you get on the internet; I read real, actual books made of paper, ink and glue. Sitting down with a good book is relaxing in a way sitting in front of a computer can never be. Continue reading

Thursday saw the public release of Windows 7, and as with any OS upgrade, it’s a chance for a fresh start, a chance to pair our software installs back to the minimum we need. It’s all with the good intention to keep our computer leaner and faster than before.

With this in mind I’ve been thinking about the software I use frequently; what I need, what I don’t, and what I can consolidate. I was quite inspired by Dan’s setup, with its focus on simplicity and “less”. From a developer standpoint I also referenced Scott Hanselman’s tools list, but not much of that makes it onto this list, which is more general.

Bare Essentials

I mean it when I say these are the very first things I install on any Windows PC:

  • 7-Zip: I’ve been a fan of 7-Zip for years now. It’s (in my mind) the best file archiver/unarchiver around. It supports nearly every format you can think of, it’ s free, and its own 7z compression format is the best around.
  • Firefox: Chrome nearly won out the browser war for my PC, thanks to its lean and fast nature, but Firefox beat it out by being so damn flexible. I won’t go into any detail on my Add-Ons just yet, as that’s subject enough for another post. Suffice to say, the browser is increasingly becoming the focal point of the computer, so having as much flexibility as possible is essential.
  • Cygwin: I love the command-line. There’s something about it that evokes all the wonder and mystery about computers I had when I was a kid. The standard Windows Command Prompt is under-powered, and Powershell has a steep learning curve, so for years I’ve relied on Cygwin to bring some Unixy goodness to Windows. For Windows 7, make sure to grab the 1.7 beta setup.
  • AVG Free: There are a lot of good, free, anti-virus packages around, that don’t have the bloat of the likes of McAfee or Norton. AVG hasn’t let me down yet, so it’s my personal choice.
  • Foxit PDF Reader: Faster and less resource intensive than Adobe’s Reader, Foxit is a fully featured, free alternative.

Staying Organised

I admit it – I’m bloody terrible at keeping myself organised. To try fix this I have a couple of tools in my arsenal.

  • Evernote: I have Evernote everywhere I go. Either through the desktop client, my iPhone, or through the web. I use it as a dumping ground for nearly any little snippet of information I think I might need later. One of my favourite tricks is to use the “Mail Tweet” function in Tweetie 2 to send interesting/useful tweets straight to Evernote via email.
  • App for the Milk: Like Evernote, Remember the Milk is a tool I (try) to use everywhere: through the web, on my iPhone, or on the desktop using my favourite (and newest) desktop client. App for the Milk is an Adobe Air application, which some people don’t like, but in my mind it’s no worse than needing the .NET framework for an application. If you don’t like Air, I can recommend the Windows port of Tasque.
  • Dropbox: If there’s any file I think I might need on another computer then it goes into Dropbox. I’m always losing pen-drives, but I can get Dropbox through either the synced folder or the web application. As an example, I keep my reference library of screen-casts and eBooks in Dropbox so I can access them from work or home.

New Media

Strangely, all the while I was running the Windows 7 RC, I found my favourite media video player to be Windows Media Player. This is certainly a change from previous versions, but that doesn’t mean there aren’t a few other bits and bobs we can install to make it even better. As an iPhone user, iTunes is pretty much required, but I’m not including it below because I’d ditch it if I could!

  • Shark007 Codec Pack: This is a gem of a codec pack. With this installed I’ve yet to come across a video I can’t play. There’s a load of options you can configure, but I’ve found I didn’t need to and just left things as the default.
  • MKV on Windows 7: This is a “Tech Preview” from DivX Labs that lets Windows treat MKV video files like native AVIs – you get thumbnails, proper file information, compatibility with WMP, and best of all you can stream the files to any DNLA device such as a PS3.

Getting Social

IM, Twitter, Facebook and the like all fit into our daily lives nowadays, so it’s useful to have a desktop client to manage these.

  • TweetDeck: Another Adobe Air application, TweetDeck is a popular Twitter desktop client which lets you track a lot of information on-screen at once thanks to its multi-column setup. TweetDeck will also handle your FaceBook news feed meaning you don’t need another, separate client.
  • Skype: Admittedly, I only really use Skype at work, or on my Netbook, but it’s an excellent tool for quick video calls, especially as the call quality is second to none.
  • Pidgin: Formerly known as GAIM, Pidgin is a multi-protocol IM program which can connect to just about any network, from AIM to Windows Live Messenger (MSN). Plug-ins help round out any missing features, and it is theme-able.

Utility Belt

These are the nice little extras that make life that little bit easier. They’re not essential, but they sure do come in handy!

  • Console2: One command prompt to rule them all! With Console2 I can tabbed command prompts, and combine Windows CMD, Cygwin and Powershell all into one console. The only thing which would be more awesome would be if I could pipe the output from one prompt into another (say pipe Cygwin output into Powershell)
  • A Good Text Editor: Notepad sucks, and sooner or later you’re bound to need a decent text editor. My personal, all-time favourite editor, Textmate isn’t available for Windows, but E Text Editor sets out to be as compatible as possible, right down to supporting the same themes and code bundles. Other great choices include NotePad++ and Sublime.
  • Jing: I nearly didn’t put this down, as it requires a free Screencast.com account, but since coming across Jing (from the same folks who make Camtasia Studio and Snagit) I’ve been using it nearly everyday. Jing is a free screen-capture tool which supports both capturing pictures and videos. With it you can capture the whole screen, a certain window (or part there of), or just a selection of your screen. Some basic annotation tools are also required. The “Pro” version adds in a few extra features like MPEG-4 video recording and more sharing options

Where’s the Rest?

I’ve purposefully made this list cover just what I consider the absolute bare essentials for my computer. There are other applications I could list, such a office suites, developer tools… heck, I’ve not even mentioned an email client! Developer tools will be covered in another post I have in the works, but the rest is down to personal preference. For both email and office needs I use Google Apps, where as you might prefer OpenOffice.orgThunderbird, or even Office 2007. Install what you need, just make sure you really need it, and try to keep it light-weight!

I’m pretty OS agnostic. I’ll use the best tool for whatever the job is at the time. For my main computer I’ve switched between Windows and Linux, replaced the PC with various Macs for a time… just whatever is needed.

My Netbook has had Windows, Linux, and Mac OS X on it at various times. OS X works suprisingly well on such a little machine, but I wanted to try something designed specifically for working with the constraints of a netbook. Knowing I have some Linux/LAMP work ahead of me, I also wanted something Linux-based so I could refresh my CLI-Fu.

Enter Jolicloud

I’d heard mention of Jolicloud, as some sort of Netbook-centric Linux distro. The selling point was supposedly the very “un-Linux” GUI, optimised for a small Netbook screen, which in most of the screenshots posted around the web looks something like this:

Looks good, doesn’t it? The official site bills Jolicloud as “a cool new OS for your netbook“. Intrigued, I applied for an Alpha invite to try it out. A day later I had been accepted, downloaded the install image, and was ready to go.

Confusion Sets In

After installation I was presented not with a screen similar to the above, but with what looked, acted, even sounded like the Ubuntu Netbook Remix. Hrmmm. There was a Jolicloud “Get Started” icon, so naturally I clicked on that; up popped the dashboard I had been expecting to see at startup.

At this point, Jolicloud isn’t an OS; it now looks like an application installer/launcher with some “Social” features built in.

Speaking of those Social features, it appears Jolicloud has it’s own social network in the making to power the friends and notifications. It would be nice if I could instead use my existing networksinstead. However, I digress…

A computer is nothing without applications. Jolicloud presents a lot of applications for installation, a mix of “normal” applications with a heavy dose of web apps. Everything from Google Apps toZoho is available to install. This fits with the marketing pitch for Netbooks – processor doesn’t matter when your app is run “in the cloud”. Installing these applications is so simple it almost hurts.

Logically, one would expect to be able to launch the apps I have installed from the Jolicloud dashboard. Well, simply put, you can’t. Applications are launched from the Netbook home screen – the one we were given at logon.

So now Jolicloud isn’t a launcher/installer, it’s almost just a installer. An App Store for Web Apps if you will.

There’s a big difference between “a cool new OS for your netbook” and an installer.

So What Exactly is Jolicloud?

In the words of the Jolicloud developers:

“Jolicloud is an Internet operating system. It combines the two driving forces of the modern computing industry: the open source and the open web.”

In my words:

“Jolicloud is a simple means to add Site-Specific Browsers (SSBs) for your favourite web applications to your Netbook by utilising Mozilla Prism on top of Ubuntu Linux Netbook Remix.”

I guess my version isn’t as buzzword friendly as the official statement.

In Defence

Maybe I’m being harsh. In fact I probably am, as I’m feeling a bit grumpy today. Jolicloud is still alpha software (that’s pre-beta, for those who’ve forgotten), and will no doubt morph and change before it goes to wider release. I just find calling it an OS is a bit… wrong.

Next week on “Grumpy Netbook OS Ramblings” – Moblin.

The beauty of web development is that, ultimately, the code behind it is simple. Yes, web apps have taken leaps and bounds over the last few years, and are capable of so much more than ever before, but lets face it – we’re not exactly writing DNA sequencers. Yet.

It frustrates me when I find someone has made life difficult for themselves or the person who will inherit their code, by using the wrong tool for the job. I’m not claiming to be a saint here either – I often look back at some of my own code and shudder (it helps keep me right in the future!).

Consider the following snippet, from the View (presentation) file of an MVC app I inherited:

<?php
echo "<h1>$category</h1>";
echo "<h3>$company ($name)</h3>";
echo "<p>";
echo "$address<br />";
echo "$town<br />";
echo "$city<br />";
echo "$post_code<br />";
echo "$phone<br />";
echo "$email<br />";
echo "</p>";
echo "<br />";
echo "<br />";
?>

PHP needs to be used to output the data passed from the Controller, yes, but there’s no need for it to be outputting the HTML too. Let HTML itself worry about that!

<h1><?= $category ?></h1>
<div>
<h3><?= $company ?> (<span><?= $name ?></span>)</h3>
<address>
<span><?= $address ?></span>
<span><?= $town ?></span>
<span><?= $city ?></span>
<span><?= $post_code ?></span>
<span><?= $phone ?> </span>
<span><?= $email ?></span>
</address>
</div>

I don’t know about you, but the HTML-based version above is easier to follow and spot coding errors. No doubt someone will point out there’s more HTML tags/bytes in this example than the first, but that is because I coded it with semantics and microformats in mind; add in the right classes and you suddenly have a hCard.

Possibly more importantly in my mind, the HTML example is easier to follow for someone who isn’t PHP literate, like many front-end designers I know.

I’m picking on this example as it’s the most recent I’ve come across, and the first to come hand. It’s not the first example I’ve come across, it won’t be the last, and it’s certainly not the worst!

Pure, simple HTML can be a wondrous thing. Lets try not to spoil it by abusing it with our fancy server-side languages. K.I.S.S!

With all this iPhone hoo-ha happening of late, I’ve finally started thinking about this “mobile web” thing. It’s been hard not to, with all the noise about iPhone SDKs – or lack thereof. Personally, I’m all for the whole web app thing when it comes to phones. Maybe it’s just me, but it makes sense. Obviously there’s the local data storage issue, but I’m sure some bright spark will figure out a solution some day.

Anyway, where was I going with this? I forgot. Oh yes… Blogging from a phone. We have WordPressMovableTypeSimpleLogTextpattern, and so on, but they’re all desktop web browser dependent. Most are graphic – and JavaScript – heavy. Most which I have tried out reward larger screen estate. These are all major limitations of the mobile web as it stands.

This week I will be getting my hands on my new phone. It’s not an iPhone, but an HTC P43501. We’ve been using them at work for a while now, and they rock pretty hard. Yes, yes, I know I’m a Mac user, and it’s a Windows Mobile device… big whoop. Anyway, I’d love it if there we a nice blogging tool like the afore-mentioned WordPress, etc, which featured a nice, mobile optimised writing interface in addition to the fully-featured desktop version. Something which fits a 240×3202 screen nicely.

I have a feeling though that if I want something like this, I’ll have to make it myself. Which is a shame, because it means it’ll probably never get done…

  1. Catchy, huh? Maybe they should have stuck with the “Herald” code-name instead. 
  2. Well, 320×240 once oriented for use with the keyboard. 

So a Windows version of Safari is finally here. Hurrah, another browser to support. Cynicism aside, is it any good?

Now, bearing in mind this is a beta version, there are a few issues I have. These are only my personal annoyances, based on first impressions, and in no way a comprehansive list of bugs.

It’s Fugly.

Fugly in the sense of it dowsn’t fit in with the surrounding OS one little bit. Not even an iota. I give Apple credit for porting the thing in the first place, and I know there’s a kind of UI “branding” to stick to, but the window border looks awful.

Another issue is the font rendering. I have Windows ClearType turned on for font smoothing. Safari has its own font smoothing (which can’t be turned off – another annoyance). The combination of two font smoothing algorythmns makes text look almost bold. It needs sorted ASAP.

There’s the Aqua-style widgets as well, but there a minor annoyance.

It’s Inconsistent

I can middle-click on a link in a web page, and it opens in a new tab. If I middle-click on a bookmark, it does nothing. That irritates me no end. Off the top of my head, some dialogs open in OSX-style “slide-down” windows, others don’t. Maybe this is a OS limitation? Or am I imagining it?

No dotMac Sync

I know, I know… dotMac sucks. But it has one very useful feature which I use extensively – bookmark syncing. I had hoped the Windows version of Safari would include this, but alas, it’s not there. Maybe they’ll add it in before the final version? If not, I don’t know if Safari will be able to compete against Firefox + Google Browser Sync as my first-choice of browser. I’m giving it the benefit of the doubt for the moment, simply for the speed boost over Firefox, but speed alone won’t keep it in front.

So all round, Safari on Windows is a bit meh, hovering precariously close to pure dissapointment. For now, I’m willing to the give Apple the benefit for the doubt – it is a beta version, after all.

As one final note, how to do you bring up the web inspector panel I’ve heard so much about? Email chris@ this site with the answer, please!

If you thought I’d maybe given up on this blog already (what is it? A week?), I’m sorry to disappoint you. Truth is, I’ve been quite busy this week, with lots going on, here there and everywhere. Instead of splitting things into multiple posts for more page views, I’m going to run through everything in one go:

1. Guitar Hero II Rocks

You may have seen some of the pictures on Flickr already, but I just want to say how genius Guitar Hero II on Xbox 360 is. The whole family has been rocking out all week. None of us are any good, but it’s part of the fun!

2. My Company Bought Another Company

The management are saying “merger”, but the official legal term is “acquisition”. Either way, the company I work for is joining withanother company. This is quite interesting for me, because the other company (PGL) have a software development division. I need to have a chat with the management involved, but there’s certainly an opportunity for me to move into desktop application development instead of doing web stuff.

3. I’ve Been Setting Up My Networked Media System

OK, that’s probably a fancier title than it needs, but basically I’ve been getting all the pieces in place to have all my media available to stream to the living room and bedroom. The system is mostly Mac based, with an Xbox 360 in the living room. For network connections I’m using HomePlug AV units – which so far have worked brilliantly. At the centre of everything will be a Mac Mini, an external hard drive, iTunes, and a copy of Vista media center running in a virtual machine. I’d have it up and running just now, but i picked up the wrong type of RAM for upgrading the mini… Doh!

4. I’ve Been Running

Well, not so much as I’d have liked this week, but I’ve slowly been ramping up the milage in my quest to be ready for the Aberdeen 10K run in a months time. Gym sessions have been going great, and I’ve dropped a stone and a half in weight since I started, which is a bonus!

So there you have it; that woz the week wot woz. Quite a bit going on, which was a bit unusual for me. Everybody else been having a good week?

On Saturday, I blogged about my experiences of buying Photoshop Lightroom the Adobe.com store. Tonight I came home to an email from Tom Hogarty, Product Manager of the Lightroom team.

I’m not going to quote the email – there’s no need to, really – but for a product manager of a big, giant corporation like Adobe to even notice a single blogger talking about some trouble with the store, let alone take time to personally respond to said blogger, was something which took me by surprise. (I hope Apple are listening – I’ve got a whole raft of issues to take you up on!)

By doing so, Tom humanized Adobe (just a little). It’s nice when someone takes notice of you.

Anyway, the end result is that I’ve phoned my card issuer(s) and tried again at the Adobe.com store. The credit card payment seemed to go through, but my order is currently listed as “Pending” (it’s a download only purchase). However I’m sure before long I’ll be enjoying some full Lightroom goodness again.

[Update] Order fulfilled, and serial codes received. Happy endings all round!

I own a Nikon D50 camera, which I’m slowly getting the hang of. One of the learning processes I’m going through at the moment is RAW workflow – taking the RAW files from the camera, processing them on the computer, then exporting them to whatever format/size/whatever I need.

The 2 big guns of the “digital darkroom” space on the Mac, are Adobe’s Photoshop Lightroom, and Apple’s own Aperture. Of these, my preference is definitely Lightroom. I’ve tried to like Aperture – really, I have – but I just can’t seem to figure it out. Lightroom on the otherhand, I had sussed in about an hour. I just couldn’t seem to find how to do what I wanted to do in Aperture (it’s unusual for me to find an Apple app to be unintuitive).

When the Lightroom trial ran out, I was happy enough to buy the full copy – despite the extra 50% premium just for living in the UK. The only problem was I couldn’t buy the full downloadable version from the Adobe store. They just wouldn’t let me. I tried to give them my money, but they just refused to accept it – not just once, but from three different cards. Apparently the details I gave them didn’t match those at the bank, even though I’d used the exact same details to renew some domains earlier this morning. Maybe if their store didn’t hardcode the UK as “GB”, the bank might have corroborated my details? It’s about the only thing I could think of.

My options then are to either

  1. Phone their customer support desk to place the order
  2. Buy a boxed copy from somewhere else
  3. Give Aperture another look.

None of these options are appealing at all. I don’t like handing out card details over the phone, assuming the order would work this way. Nor do I want another software box taking up space, or an install CD to lose. Then there’s Aperture. It’s maybe the lesser of the three evils, but it means relearning how to do all the stuff I just learned for Lightroom. That doesn’t exactly fill me with excitement.

Who knows, maybe the store will work tomorrow. Maybe it was just my day for gremlins (I had troubles with downloading Icon Shoppe purchases as well). Or maybe I’ll find a good book on Aperture which will show me how to do things properly.

I’ll be honest – I suck at blogging. I’ve tried and I’ve tried, but I just can’t seem to get it right. Things will maybe start off OK for a little while, but then this usually happens:

  1. I start deciding what I’m writing about isn’t worth posting, so won’t post until I have something I think is really worth posting.
  2. The blog goes silent for week/months.
  3. I feel bad, so post a couple of weeks worth of rubbish.
  4. I feel worse for writing crap and in a fit of frustration abandon the blog.

I’ve lost track of how often I’ve done this…

So what makes this time different?

Nothing. I just hold a bit of an affinity with Pixel Meadow, over and above any of my other sites – it was my first (and probably most successful) blog. I’m going to try and get it going again; if it works then great, if not… well at least you’ll maybe get a bit of a laugh out of it.

There’s a bit of a long-standing bug in Textpattern, and its handling of time zones. It’s a bit of a head-scratcher to get your head around, so bear with me. It’s probably best described with a simple example, so here goes:

  • Our writer/site admin lives in the UK. It is British Summertime. His time zone is therefore GMT+1.
  • Textpattern is installed on a server in Australia. Its time zone is GMT+10.
  • The site admin sets the time zone in TXP to his own GMT+1 and writes a few articles.
  • British Summertime ends, so the writer’s time zone is now just GMT. Daylight Savings Time (or whatever) starts in Australia, making it GMT +11.
  • All the date-based permalinks in TXP go all to hell. Most appear a day out of line.
  • New stuff that gets written is inaccessible as TXP can’t decide if the publish time has passed or not.

It’s a strange one, and a bit of a pain in the ass. There’s been some discussion in this forum thread, but no consensus on how to fix it or even if it is a bug. The common workaround – which isn’t an ideal one for many people – is to just keep to one time zone and ignore anything like DST, BST or other “time modifiers”.

I loves me some jQuery – without it I probably wouldn’t write any JavaScript at all (seriously, I hate the stuff). Anyway, today I needed to add some “open in new window” links to an internal application using jQuery. Being the Standardista I am, I wanted to make it a)Accessible, and b) Unobtrusive . If the user has JavaScript disabled (it happens, even on “controlled”, intranet environments), the link should just go to the new page anyway — new window be damned.

My first attempt (below) didn’t work as expected. The following code takes all <a> tags with a class of “newwindow” and applies an onclick event to open a new window.

$(function(){
$('a.newwindow').click(function(){
var w = window.open($(this).href(), 'newWindow', '');
return false;
});
});

Nothing would happen with the above, because of the return false;. Removing return false; would open a new window, but also send the opening window to the new page. In the end, the following worked the way I wanted:

$(function(){
$('a.newwindow').click(function(){
var w = newWindow($(this).href(), 'newWindow', '');
return false;
});
});
function newWindow(url, wName, opts){
w = window.open(url, wName, opts);
return true;
}

Basically the “heavy lifting” was moved to a seperate function. It’s slightly longer to type, but not exactly finger-breaking stuff. No doubt some bright-spark could tell me an even betterway (feel free!), but this’ll do for now.

Seriously.

After last weeks amazing, high-octane episode 4 (write-ups can be found at Binary Bonsai1 and Broken Kode2), this week’s episode had to be something pretty good to keep up the levels of expectation.

Thankfully it lived up to the expectation without having to fall back to more space battles or other big action sequences. If anything, episode 5 was he perfect slow-down to the frenetic opening to the season.

We all knew the resistance were going to start dealing with any and all Cylon “collaborators”. We also knew this was going to end up being to cause a lot of friction and fucked up feelings as people found out their friends helped the enemy. The writers (once again) and actors pulled things off beautifully. We can feel the lust for retribution in every scene. It may have been a bit predictable3having Gaeta sentenced to death, only to be saved at the last minute when it was revealed how he was passing information to the resistance all along, but we’ll forgive them that one.

And damn Starbuck is one crazy-ass, fucked-up (frakked-up?) woman.

1 Battlestar Exodus

2 Battlestar Galactaca Season 3

3 Similarly, my only real criticism of episode 4 was the predictable “Pegasus to the rescue” bit just as the Galactica was about to go down. But hey, it looked good!

So I’m writing my first serious bit of PHP in aaaages. This last few months, I’ve either been adapting existing systems to fit the bill, or I’ve been writing ASP (all while learnng Ruby on Rails).

I feel like I’ve been out of the game. Before I fell out of writing my own PHP every day, I was using the CakePHP framework. CakePHP is a wonderful framework. It greatly speeds up development and makes things so much easier.

Unfortunately, frameworks are only of use to the developer or your customer has someone who knows what they’re doing to set up everything for them. When you’re building a product for those who aren’t so technically minded, giving them something like CakePHP/Rails/Django, etc, to install – before they can use the product – is a big no-no1.

So anyway, I’m writing this new product. It’s not terribly exciting, nor should it be particularly difficult… but what looked a piece of cake on paper is going slower than I would like. I need to get my head around the fact I don’t have a framework or existing application doing 90% of the grunt-work for me. All those framework-specific shortcuts and existing functions I’ve grown used to don’t work any more so I need to do things manually2. Joyful.

On the plus side, this is probably the coding equivalent of getting back into shape for a World Championship fight, after getting slower and fatter from being too comfortable – a la Rocky in Rocky III.

Frameworks are a wonderful thing for speeding up development in large projects where you have control over your environment. Just remember not to rely on them too much.

  1. This isn’t to knock the work of the developers of frameworks like CakePHP and Rails, et al – not at all. I think they’re doing great, great work, which makes the lives of countless developers worldwide just that little bit easier.
  2. Another thing keeping me from top-speed is an insistence I’ve put on myself to follow best coding-practices all the way, and most importantly, document everything as I go. I usually write something then document it later once everything else is finished.

I’m a bit of a phone addict. I tend to upgrade my handset every 6 months or so, whether my contract is due for renewal or not. Ebay is a wonderful thing. That said, I was hoping to put off upgrading for a while yet. I do like my Motorola PEBL. It’s nice and simple, doing onlywhat I wanted it to (phone/SMS/camera), wrapped in a nice design. Horrible, horrible, horrible, UI – solved by setting up a heap of shortcuts – but an otherwise nice phone.

Unfortunately mine seems to be going on the blink. GPRS flat out refuses to work any more (so no media messages or web surfing), signal reception in general seems to be decreasing, the in-built speaker is a bit… spotty and it’s developed a nasty habit of switching itself off now and then when in my trouser pocket. The first two problems point to a failing internal aerial.

I have basic needs for a phone:

  • Good as a phone
  • Good at SMS/MMS
  • Fits comfortably in a front pocket of a pair of jeans
  • Good UI

A few other features are “nice to have”:

  • Decent camera
  • Bluetooth sync with OS X (Calendar + Contacts)

I like Sony Ericsson phones; good UI, robust and reliable… apart from their clam-shells. Great to sync with OS X and usually great cameras. The old s900i was a damn good (if rather chunky) phone.

I don’t really like Nokia phones anymore. The Nokia 3210 was probably the best phone I’ve ever had (going old-skool!), but with the exception of the highly-expensive N70, their recent offerings seem gimmicky and/or plain-old cheap. Build quality has been an issue with most recent Nokias I’ve seen.

I could get another Motorola, but as mentioned, I hate the UI. I also dislike the feel of theRAZR and SLVR handsets – too wide/thin for comfort – and there’s the issue of whether I’d want another Moto after the first one failed after 6 months? Hrmm. The RIZR looks cool though.

Samsung phones suck. I can’t put it any other way; from the design to the UI, they blow goats.

Having thought about it a little while writing this entry, I think I might leave things a while. My PEBL isn’t quite broke yet and there aren’t any handsets I really want to upgrade to. Maybe if I wait a couple of months something awsome will come along. The iPhone, maybe? So um yeah, this entry has pretty much been an inconclusive waste of mine and your time… That said, if you want to give a shout out for your favourite handset, please go ahead!

Hello again, you crusty inhabitants of the Interwebs. It’s been too long – far too long. But, like The Good Ship Galactica, I’m back.

I could bore you all with an in depth look at why I’ve not been blogging, but it doesn’t really matter. Suffice to say it’s been down to a combination of things: the stroke I had last summer; being a ‘family man’; that perennial favourite – work, and a general lack of enthusiasm about the whole blogging thing in general. I’d like to say this time around it will be different, but I just don’t know, so I’m making no promises.

So enjoy it while it lasts (i.e. as long as I do). Much like Stargate1 really.

1 SciFi, how could you?.

There’s been a few things going on this last week which I wanted to talk about, but it’s been a hassle finding the time. Excuses, excuses, yadda yadda. Just shut up and get on with it…

I was all set to record this entry as my first podcast, but no, I went and broke my new headset mic as I was getting setup. A podcast is something I’ve wanted to record for a while, but I’ve never got round to it. I’m trying to, so keep your eye out.

Speaking of keeping an eye out, I registered gochrisgo.net in the last few days. Watch it… like a hawk as it were.

Back to Podcasts, I’ve been subscribing to a lot more recently. I used to find them quite dull and boring. Generally I still do. I’m not really a fan of the talk-radio style podcasts which only cover one topic. Michael over at Binary Bonsai is doing a nice job with his podcasts, though I will say I have preferred his two shorter episodes over the other, near hour-long episodes he has done. I’m also digging Jon Hicks approach to podcasting. This is similar to something I had in mind for my podcasts. In mine, I was going to ramble for a bit then play a track by a local band, or other track I felt worthy of sharing.

One last bit on the podcasting subject – for some reason, my iMac G5 goes all to hell when trying to add music from iTunes to a podcast in Garageband 3. It just hangs the whole machine. My iBook has no problems at all (albeit it’s slower). It’s been a little frustrating, as I really didn’t want to install something like Garageband on my “work” machine.

So stepping away from podcasts, what else has been going on? The biggie at work has been moving from internally managed web servers to fully-managed, dedicated hosting run by a third party. As part of the exercise, I had to write a proposal putting Apache on Linux up against IIS and Windows Server 2003. For years I’ve been hinting we should move to Apache, but when it came to writing this proposal, I had a tough time justifying such a move. In the end, Apache lost out on business reasons; the cost of switching now would be too high, mostly for time spent redeveloping existing web sites. However, PHP and MySQL are being installed so we can run Mint for stat-tracking.

What else..? I finally got round to buying Battlestar Galactica DVDs (season 1 and the mini-series). Not had a chance to watch them yet, even though I’ve watched the latter-half of season 2. Maybe this weekend. My Firefly soundtrack arrived today, I’m listening to it now. It’s very good, very relaxing. Other things I’ve been listening to a bit recently include Yellowcard’s Lights and Sounds (sounds a bit like early Feeder) and Hell Is For Heroes’ Neon Handshake (which is not new, but I only came across it recently… shame on me).

The CSS Reboot is drawing ever closer and while I’m not quite on schedule, I should be ready in time. Certainly for part one of the Master Plan. Phase One is very nearly complete; I have a bit of copy I need to write and a few design details to nail down before I can start pulling it together. Phase Two is a little more complex and might not be ready for May 1st although I will endeavour.

Speaking of redesigns, I like the refreshed Simplebits and Scrivs’ improved Whitespace. Whitespace in particular is quite good, with the combination of “full” entries and smaller “asides”. I think I prefer this to the usual mixing the two together (usually making the asides slightly less noticeable).

What else..? well there’s a couple of other things (Windows Mobile Phones and no Apple birthday surprises spring to mind…), but I think I’ve rambled for long enough for now and it’s late.

If I’ve touched on anything you’d like to comment on in this whistle-stop tour through the last week, please feel free to. I enjoy getting feedback and wish more readers would leave their thoughts!

Today I fired up TextMate to do my first bit of serious PHP coding since my stroke. I’ve been almost entirely XHTML/CSS since getting out of hospital last August, with a little light coding (ASP mostly) since then.

Probably the closest I’ve got to writing any real PHP in 8 months has been learning the basics of WordPress themes from Blog Design Solutions… To be honest, I’ve not had the same drive or determination to “Just Code It” as I once did.

I’ve been reading 37 Signals’ excellent book, Getting Real today. I’m about three quarters of the way through. I doubt I’ve ever said this about a “tech” book before, but it’s a real “page-turner”; Getting Real pulls you in and is real hard to put down once you get started. All the praise you may have heard about this book is justly deserved—it’s essential reading for developers… hell, it should probably be essential reading for anyone who has to work on just about any type of product or in a team.

While I’ve been reading Getting Real, I’ve been feeling like I want to write code again; I want to write something simple, elegant and real. I want to stop thinking about some of the ideas I’ve had over the last few month – no years – and actually do something. So I set-up a development site and database for one such idea, opened TextMate and created a new project.

It hit me like a slap in the face; I’ve forgotten how to do this. It’s like I’m back on square one… like someone sucked most of my programming ability out of my head. I can remember lots of stuff about various PHP functions, syntax and a million myriad details, but actually doing anything with any of it is another matter. I started thinking about the initial, basic class/data structure I would need and it was like the lights were on but nobody was home.

Looking on the bright-side: if I do have to relearn myslef this stuff, it means I’ll be able to do it with a clean slate and Be Real from the very outset…

That’s right, an ode to a bag…

I’ve only had this bag a few months, but it’s easily the best bag I’ve ever owned. It’s so good that I’ve liberated it from being “just a laptop bag” – this bag comes with me almost anywhere, carrying whatever “stuff” needs to come along; overnight clothes, cameras, books – all have been equally well stored and protected by the Crumpler. Starbucks coffee spills (I spilled an entire Grande Caramel Macchiato over mine this morning…); being dragged along the ground; snow, and even having a lit match dropped on it have posed no threat to my bag or its contents (most thankfully in that last example!).

The nice thing about the “Double Charge” is it comes with an additional, removable, laptop sleeve. This lets you throw your laptop (in the sleeve) into a suitcase for long-distance travelling – and not be worried it’ll be smashed to a million bits by the time of arrival – while keeping the main bag for carrying hand luggage.

It’s certainly not the cheapest bag in the world – I paid around £90 for mine – but it’s worth every penny. If you’re in the market for a new laptop bag, it comes highly recommended.

[Update, 19-Aug-2012] Believe it or not, I still have this bag, and while I don’t use it every day any more, I do still use it a lot. Apart from perhaps needing a bit of a wash it is still in very good condition. Not bad for a six year-old bag!

[Update, 23-May-2019] After a long and faithful service, the Double Charge finally succumbed to the ravages of time, and years of abuse. 13+ years is a very good run for a bag!