Profilo di BenBens HouseFotoBlogElenchi Strumenti Guida
30 dicembre

Apple

I don't want to have a go at Apple (the iPod is still going great) but it seems like it's time for them to rethink their idea of customer support...
 
My first case in point will be Joe's PowerBook. To put it blunty, it's broken, with a 99% certainty that it's the logic board (or what I'd call a motherboard if it were a PC). That diagnosis came from a list of sources, but just to be certain we took it to the Apple store in Birmingham for an Apple technician (or "Genius") to look at.
 
Now, I should explain that the way Apple stores seem to work is that there are Geniuses (tech support) and Specialists (sales guys). These teams can not in anyway be mixed (the sales guys can't help out people who need tech support). That might be fair enough, but when Joe and I were in Birmingham, the Apple store only had 1 Genius at the Genius Bar (tech support desk) and at least 15 people with appointments to see him in the first couple of hours. He's obviously a little overworked and needed some sort of help. My suggestion here would be a second Genius, or a member of staff who could float around, acting as a Genius when needed, or a Specialist when not. It'd help keep the queue size down.
 
The Genius looked at the PowerBook, took it away for a bit, did some tests and verified that it was probably the logic board (99% certain). So Joe obviously asks how much to fix it.
 
Now, having looked on the net Joe reckoned he could get the replacement part for about £75. Seems reasonable that Apple would charge a bit more (hell, lets go twice as much at £150) plus maybe a little bit for labour. In all, Joe was prepared to pay up to about £200 to get the laptop fixed.
 
So, how much did Apple say? Well, obviously more than £200. Want to take your own guess? Nope, more than that. Apple quoted a "minimum" price of £500 for repair. Joe spent the rest of the day alternately crying and being angry. I spent the day repeating the number 500 to him with a smile on my face. My current laptop cost less than £500 brand new. Hell, Joe could get a new (well, eBay) PowerBook for less than £500.
 
My second case in point? Well, there's this post about a guy (Andy) who needed a new fan. And there's an ex-Apple Genius (JC - who's blog I quite like actually) who sticks up for Apple in this instance. And as an ex-tech support guy, my first instict is to side with JC - Andy does sound like he may have *demanded* a bit too much, rather than *asking* for help. But there's one point in JC's post that I have issue with and makes me side with Andy.
 
Fast, in-store repairs are a perfectly reasonable expectation for a few things such as batteries, fans, mousepads and other things where the piece being replaced have been pre-diagnosed as faulty. Where the parts are available, they take minutes to replace on an ordinary laptop PC (my experience there being with a number of Dells, but the same place I worked at dealt with others as well) so why does JC claim they take 2 hours or more? If it takes 2 hours to replace a part, then either that machine isn't as well designed as it's thought, or the technicians are whey too bogged down in paperwork. The only part that doesn't go for is the hard drive, where other considerations such as installing an OS and transferring the user's data might come into effect. Otherwise, just in my own laptops I've replaced screens, mousepads, keyboards and fans. The screen took the longest cause it was the first time I'd been inside a laptop and took 26 screws out of the case - that was still under an hour. And in my old job the paperwork for that sort of thing took 2 minutes - problem, solution, part number, time taken. The fan should have been a 10 minute job for an experience tech support guy, something that could easily be done on a "while you wait" basis (assuming there's more than 1 Genius working).
 
My point is, it would have been sorted in the PC world, why not in Apple land?
 
UPDATE: Co-incidentally, if Andy's PC with a fresh install of XP is struggling, then I suggest he gets it looked at by someone in tech support. Sounds as though something's gone wrong.

What happens now?

So, Saddam Hussein has been exectued. It's not really a shock sinc ethe verdict came months ago and I saw the news last night saying that his execution was expected to be this morning. And it was, but I'm not sure how I feel about it.
 
Ok, if I were an Iraqui I'd probably be celebrating, but as someone sat here a million miles away, I can't help but wonder if a life in prison would have been the better punishment. Maybe not. This way the Iraqui government are showing that there won't be a last minute reprieve, as well as "we're in charge now" and that the attrocities committed by Saddam are not to happen again. But you can't expect his execution to go off without some sort of retaliation by Saddam's supporters.
 
I'm not really for the death penalty in any case, but I do hope the people who made this decision thought it all the way through.
 
UPDATE: Here's a thought provoking question for you - if the actual execution (not just the bit leading up to it) had been broadcast on TV, or was available on the web, would you have watched it? Is it not already wierd enough seeing the guy being led to his death?
28 dicembre

The iPod

I finally own an iPod - 30Gb 5th Generation, second revision, black. Which means that I may actually have been a cause of the following article - "Apple's iPod was 'Must-Have' Gift of 2006?". Oops.
 
So, what have I done with my iPod so far? Well, since I knew it was coming I had my laptop all loaded up with iTunes and some music ready to copy stuff onto the iPod on Christmas Day. Since getting back to Aber, I've converted 121 music videos and copied them onto the iPod, converted 2 movies and copied them on along with 3 tv shows and a zillion podcasts (both audio and video). And there's still over 22Gb of space left...
 
My thoughts so far? Well, the iPod's hardly been off since I got back to Aber and I finally get what podcasting is all about. Without an iPod, podcasting seemed to be about me finding videos or audio on the net, downloading them and eventually finding time to watch or listen to them, which would also mean media player had to be open at the side of the screen somewhere, taking up processing power and just occasionally skipping if I decide to do something else that needs a lot of CPU time. With the iPod, iTunes downloads the podcasts, iTunes copies them over to the iPod and then I can watch or listen to them whilst doing something completely different and without even being at my desk. My daily ritual for ZeFrank is now completely different, and I've finally subscribed to the ScobleShow. Not to mention listening to the Weebl and Bob podcasts, Ricky Gervais' special podcasts, GeekBrief, Windows Weekly, TWiT and a few others...
 
I've also mentioned that I've copied a couple of movies onto the iPod, but what's it like watching them? Brilliant. It's probably just the geekiness of finally getting an iPod, but I sat here, not 2 feet away from a 19" monitor, watching Pirates of Silicon Valley on the 2.5" iPod screen. I always thought the adverts were slightly faked and that there was no way the quality of a video on the iPod could be what it looked like in the marketing pictures, but it really is a brilliant screen. Just quality. I've no idea how the TV shows are going to play out, but the music videos are good to watch whenever there's a spare couple of minutes.
 
So it's all good then? Well, almost. Annoyances with the iPod start with the click wheel, which is good for stuff like volume control, scanning through videos/songs and running up and down long menus, but when it comes to precision choosing of a menu option or song/video, then it's all too easy to accidentally miss it and end up one past the option you wanted. Buttons would help there.
 
Next,if you're listening to your music on shuffle, then the iPod likes to take any music videos you have and throw the audio from them into the song mix (but not the video itself). It's a nice idea, but I often find the iPod seems to skip occasionally when it plays just the video audio. It's also annoying that there's no way to go from listening to the video audio, to watching the actual video. Going the other way around, if you're watching a music video and go back to the menu, the video pauses. That's fine, but I'd also like it if I could have the video play in the background, even if it's just the audio (minus any skipping of course). Different people want different things, so that should probably just be an option somewhere.
 
What about iTunes then? Again, before I owned an iPod I wouldn't be caught using it. After using it for a while, I've decided that it's actually a brilliant program for interacting with the iTunes Store, podcasting and syncing the iPod. The only thing it's bad at is actually playing audio or video of any kind, which is why when it comes to playing music or video on my computer, I'll still be using Windows Media Player. In iTunes I have to hunt for buttons, the hardest one to find being "stop" (there's "pause" but that's not what I want. I want "stop". It's the same on the iPod as well). The video either opens in a small section in the main window, or in a completely separate window - why would I want a separate window? And why can't I make the video section in the main window bigger? Grr.
 
On the other hand, the iTunes store is brilliant and I'm resisting all temptation to buy yet more stuff from it. The only thing that would tip the balance right now is if TV and movies were available in the UK store. Even more so if the UK store got the same TV selection the US does, at the same time they do.
 
After all of that I'm left with only a few worries -
  1. How long till my iPod gets scratched? Is it still as easy to scratch as people said it used to be?
  2. How long is my battery going to last? According to the iPod Death Clock my iPod has only 523 days 11 hours 23 minutes left to live. Now admittedly it'll be slightly off because it's going from the date of manufacture (which is why it says the battery capacity is only 60% of what it should be), but it still leaves me with the thought that I might need a new iPod (or Zune) in 2 years time.
  3. And on that note, is there going to be a new iPod at Macworld that'll make me wish I'd waited a little longer? And does that even matter if I'm happy with the one I have?
On the whole, I wouldn't recommend iTunes as a media player, but I'd definitely recommend the iPod/iTunes combo as a portable media solution. And if a future software update sorts out the niggling issues I have, then it'll be a very hard combo for the Zune to beat.
 
UPDATE: Looks like the original article has been removed from WinInfo, but I'll leave the link there in case it comes back from the beyond.
 
UPDATE 2: And it's back.
25 dicembre

Happy Christmas 2

Ooh, mobile blogging! And happy christmas! Again. :-)
23 dicembre

Happy Christmas

I'm off for Christmas, so...
 
Happy Christmas!
 
Hopefully I'll be able to find the cable for my camera so I can put some photos up when I get back...
16 dicembre

WiMo

I'm only about half way through the video, but it's already the coolest thing I've seen in a while. And from what just appeared on the screen, it looks like it's getting better.
Ladies and Gentlemen, WiMo on Channel9.
10 dicembre

Website redesign

So... It's finally happened. The website has been redesigned and it looks a lot better, even if I do say so myself. Those of you viewing the site in Internet Explorer 6 have the right to disagree with that last statment. Unfortunately some of the fancy stuff I was trying to do with transparent PNGs doesn't work in IE6 or before, but it doesn't fail so badly as to make me do anything about it. And the 30% of you on IE6 who still visit my site should be upgrading to IE7 soon anyway. Of course the site works perfectly (to my knowledge) in IE7, FireFox and Opera, so I'm happy.
 
Any comments or suggestions for the site (and as always any information on new Media Center addons) can be sent to me directly at ben@benshouse.net. I don't get as much spam as you think I do...
 
In the meantime, I'm moving onto the next website I meant to redesign over the last few weeks. During the redesign of benshouse.net I accidentally did something that'll be perfect for this other site, so I'm going to see how much of that I can get done before I go to bed. You should all also be glad to hear that after 3 days of horrendous illness, I currently feel like I might make it into work in the morning. Of course with the productivity of the last few days I could have done some from home, but I don't think I'll mention that in the office...
 
Finally, from the Scobleizer:
More than a few geeks had searched Google last night for “how to tie a tie.”
I'm happy not to be the only one who has to Google this stuff...
09 dicembre

Hacked.

About 3 months ago (August 25th ish) someone hacked benshouse.net. Considering it took me until last week to notice, it was bloody lucky they didn't do anything more damaging that placing some of their own files onto my server.
The reason they managed to do this was due to a cross-site scripting vulnerability in my original code for the website. Because the website used a parameter at the end of the URL to find out which page it was to display (for example, www.benshouse.net?page=addons.php - where the variable is "page" with the value "addons.php") the attacker could simply redirect the page to one which they had written. My code then incorporated their page and ran any code the attacker had written as though it were a local user. The attacker's code simply uploaded files to my website, some of which could be used by the attacker to gain more access, including giving them access to all of the files on the server. As a situation for a website to be in, this is bad. Once the attacker has this much control, there are very few ways to proceed.
My way of proceeding is to change all of my passwords (annoyingly), delete all of the original website code and upload versions that I know to be clean. Since I have to upload new files anyway, I've decided now would be a good time for a redesign. I'm having a bit of trouble coming up with an idea that still gives a "Media Center" vibe but also looks more professional than the last (admittedly amateur) version. I've never been much of a designer, but I am very good at coding something once I know what I want, so I'm randomly browsing websites looking for ideas.
Anyway, hopefully whatever I come up with will be finished before Monday. In the meantime, there's nothing up on the website but a bit of code to power the web2messenger image (which won't fully work because web2messenger is down as well). And all whilst I'm still suffering from a cold...
08 dicembre

GPS.

Something I've never actually done on my blog is talk about the technical side of any project I've worked on, which is fair enough when it's "official work", but I see no reason for why I've never talked techy about my dissertation. So here we go...
BenBen was to be my version of TomTom, mainly for use on my bike. It was to be something I could use to see what route I'd taken around a bike track, how long it had taken me, what my average speed was and compare all of that to however I'd done last time to see if there was any improvement. An expansion of that was going to be to allow other people to share their routes and statistics so that people could "race" against each other. However, in reality, most of what goes into a dissertation specification is there just in case you end up with time to spare at the end - it's better to have a project that was too large than one that was too small, so make it expandable. The final, handed-in version of BenBen could track your position on the map and save your routes to files that could be loaded in later, but none of the statistical analysis stuff made it into that version.
So, to get the project that far there were two major parts that had to be considered. The map data (where does it come from, how does it get displayed, zoom levels, showing the right map area) and the GPS (what's the user's position, is that accurate, what data does a GPS device give out anyway). Since BenBen I've worked on a couple of other projects that have required the use of GPS, so I feel like I'm in a good position to talk about that in detail...
 
GPS is the Global Positioning System, a network of 30 satellites (as of Sept 2006) that constantly transmit a series of messages from which GPS recievers can calculate a user's position. For more information on the satellites and exactly what they transmit, visit the US Navy's page on the system at http://tycho.usno.navy.mil/gps.html.
The whole GPS system relies on the accuracy of the time that the satellites transmit. For each satellite, the time which they transmit is never more than 1 microsecond off UTC time (plus leap seconds that are added because days are aparently getting longer). Either way, the satellites keep time ridiculously accurately. This means that you can work out how far away you are from a satellite by picking up the time it transmitted and comparing it to the actual time. Because we already know the speed at which the signal travelled and now have a time, we can use that age old equation speed equals distance over time to work out how far away the satellite is. That gives us a sphere of possible places around the satellite that we might be, and discounting those that aren't on the surface of the Earth gives us a circle of possible places on the planet that we might be. By getting our distance from a second satellite we'll have 2 circles on the Earth and where they intersect will be the 2 possible location we could be. A third satellite will then cut this down to 1 possible position and ta-da, we know where we are. (In reality we need 4 satellites because unless we know our height abover the Earth's surface there'll be a couple of other places we might be. We also use these signals to find out the inaccuracy of our own clock, adjusting the calculations a bit until they give sensible answers that all line up.) For a further explanation of that (plus diagrams), visit http://www.howstuffworks.com/gps.htm.
From the point of view of a software developer, this stuff is calculated for us by the GPS device, so we might not really need to know it, but we do need to understand that these calculations (and the "adjustments") might lead to inaccuracies so that we can decide how accurate the dataneeds to be for our application. We also need to be able to get this data from the GPS device in the first place, so how should we do that?
Well, for Windows Mobile 5 devices, there's a programming interface for the GPS Intermediate Driver provided by WM5. That can take care of pretty much everything for you, although it does have it's own problems, illustrated by http://www.bbits.co.uk/blog/archive/2006/05/05/9259.aspx, http://www.bbits.co.uk/blog/archive/2006/07/14/12027.aspx and http://blogs.msdn.com/cenet/archive/2006/02/10/windows-ce-gpsid-its-c-wrapper-and-device-emulator-interaction-issues.aspx. Nothing major, just awkward, and of course if you wanted to run the application on a previous version of Windows Mobile, then these APIs won't be available to you anyway. So how did I connect to GPS devices? Via the System.IO.Ports.SerialPort interface is the answer.All we need to know to connect to the GPS device (and this actually works for both SD-GPS devices and Bluetooth ones) is the COM port number to connect to and the speed at which the device communicated. System.IO.Ports.SerialPort will take this information and from there we simply need to use the ReadLine() method to retrive data from the device. For BenBen I threw that inside a loop, which was in turn inside it's own loop and whenever the application recieved valid GPS data it was programmed to throw an event which the main part of the code could act upon, taking the position and manipulating it however it wanted. When it came to writing something for Environment Systems I improved upon that bit of code in a lot of rather obvious ways, adding in methods for error catching, improving the connection method which used to hang depending on if you gave it a valid COM port or whether the device on that COM Port was a GPS device or not, adding a destructor method to check that the GPS device got disconnected properly and generally improving the code for the loop so that it didn't take up all the processing power (and therefore battery life) of the mobile device. But the basics remained the same.
The data actually sent by the GPS device comes in the form of NMEA-0183 strings, a standard from the National Marine Electronics Association used for transmitting data between (surprisingly) naval electronic equipment. A full description of the strigns can be found at http://www.gpsinformation.org/dale/nmea.htm, but for positional data we only need to parse one tring, GPGGA, which typically looks like -
 $GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
This contains the latitude and longitude of the user, as well as an indication of the accuracy of this position, known as the HDOP (Horizontal Dilution Of Precision). This isn't, as it might first appear, a number of metres within which this position might lie, but more more of a statement of confidence. A good explanation of HDOP (and the causes of inaccuracy in GPS) can be found at http://www.codeproject.com/netcf/WritingGPSApplications2.asp but needless to say, a lower HDOP value is preferable to a high one. BenBen used the HDOP to draw a rough circle on the map to indicate the accuracy of a position, whereas at Environment Systems we calculated that positions with a HDOP greater than about 5 would probably be best ignored for our application.
If you're developing a GPS application there are a couple of things to think about when you write your NMEA parser code, mainly concentrating around the differences in devices. For instance the device I tested BenBen with would use the current time to generate latitude and longitude data when it couldn't get a fix from the satellites, whereas another device might have left that spot blank. Equally, some devices attempt to calculate a position anyway and give out high HDOPs, whereas other devices might give out a HDOP of -1. And whilst you might expect HDOP to go no lower than 1 for a valid position, it's common to see devices give out HDOP values of 0.9 for their most accurate positions. Some devices fill in all of the NMEA fields, different devices might put out different types of sentences (all should put out RMC and GGA sentences, but still) and some devices even have their own custom sentences that their specific software (think TomTom, NavMan and Magellan) will be able to use to better effect. How your application deals with these variations might matter a lot, in other circumstances you might only be worried about how one specific device performs, but there's still the all important error checking to be done.
And that's about it - everything I can think of off the top of my head at the moment. I'd be willing to bet there's more, but I think there's enough to read there. Let me know if you manage to read it all. :)

I may be ill...

For the last few days I've had a bit of a cold. Normally it's not a problem, it'll get better with time and in the meantime why shouldn't I carry on with whatever I was meant to be doing? And then last night I felt like cr*p, so before I went to bed I set my alarm to go off half an hour later in order to get that bit of extra sleep that might make the difference between being well and not. Then at 6am I set it to go off at 9, again hopefully the extra sleep would mean that whilst I'd be a little late for work, at least I'd be able to make it. Then at some point I switched my alarm off because I finally woke up at 11 and made a phone call into work to let them know that I wasn't just late, I wasn't going to make it at all.
That's how ill I feel at the moment, because even the last time I was unwell, all I actually did was have a longer lunch break to take a nap. I don't like taking sick days...
06 dicembre

Banks.

The word "bank" is quickly becoming rude. Allow me to explain...
This morning I needed to do a couple of things in town; pay in a cheque at the bank and sign an extension for my contract at work. Wandering into town at about 9ish, I wandered past the NatWest to see if I could pay in the cheque. They weren't open yet, but fair enough they might just have been a little late so I decided to go and sort out my contract. after doing that, I returned to the bank at about 9.15. Still not open. Hmm, why not? Turns out that the NatWest doesn't open until 9.30 on Wednesdays. Ah.
There is another way. And I call that the Halifax, because I also have an account with them. It doesn't bother me which account I put the money in, I just want to get to work before it's unreasonably late. So I wander toward the Halifax...
Who gives you extra? Not the Halifax, because they weren't open either, meaning they're giving me no more than the NatWest. And both of them would give me less than the HSBC who were happily open, but we know about my issues with them (refusing to accept a transfer of money from NatWest to them). It basically turns out that there isn't a bank in Aberystwyth that wants my money anymore, so I stood between the Halifax and NatWest this morning waiting to find out which one would open their doors and thinking "if I kept my money under my pillow, this wouldn't be a problem". I was seriously considering this...
As it stands, I now know what I'd do if I won the lottery. Buy a bank of my own that would bloody wellbe open when I wanted to go there and do whatever the hell I told them to do with my money. The more realistic alternative is look for a bank that actually offers the sort of service I want in the first place. Is it too unreasonable to ask that they open a little earlier so everyone who needs to get to work can do?