Sunday, 31 January 2010

iPad Initial Thoughts

Way back in the early turn of the century (probably about 2003) I had a Palm Treo phone, I believe it was a 180g, a monochrome device that was one of the earliest ‘smart phones’ around, although it wouldn’t look too smart now. I loved it, even though it was old technology even when I got it.

Around the same time a friend and work college of mine, John McDougall, purchased one of the early iPaq devices, a glorious device running a colour screen. It was amazing. Remember, the market at the time wasn’t concerned that these devices had no phone, phones were supposed to be separate from your PDA back then, despite the best efforts of a few manufacturers.

I remember one conversation where John derided my Treo (and I don’t mean that in a nasty way John) for running an OS which did not “properly” multi-task. “It’s a phone!” I told him, “Who cares?” “I can still have multiple applications running – or at least open, at the same time”. However his harsh words still lingered on toiling in the back of my mind...

Both our devices had hundreds of applications, both free and paid for, that we could source from a variety of locations on the web with little effort, and both were a joy to use in different ways.

That was about 8 years ago.

Soon after I bought an ordinary Nokia phone and an iPaq 4150, mainly as the Treo would often crash when answering an incoming call, and it was as uncomfortable as hell to hold against your ear for any length of time.

But that’s not the point I’m trying to make here.

This week Apple announced the iPad (apparently Version 2 will have wings!), a device running the iPhone OS. That means it currently doesn’t multi-task. That means it has no Flash support. That means you can only use Apple approved applications purchased via the App Store. That doesn’t mean rouge diallers and other nasties don’t already exist.

You may not even be able to buy ebooks for it in the UK (at least not initially). It hasn’t even got phone functionality (which would be odd I suppose), so in essence it’s an iPod touch with a very big screen. All this in a device that’s going to be “perceived” as a computer.

Don’t get me wrong, the iPad is a lovely piece of engineering from what I can tell, but it’s only an evolution in the hardware stakes. As far as the OS goes… well I didn’t want it on a phone, but on this, you’ve got to be kidding me! It is beautifully designed as far as presentation goes though, Very slick. However, I guess I’m not an average user. I think I’ll let Mr Stephen Fry buy, and keep, my one.

It’s not that I don’t even like this form factor, I really do. I loved my (now demised) HP Tablet PC (you know, one of those things that had a touch screen, a keyboard, and could be put into slate mode). This was however bulky to use and the battery life was only a couple of hours or so, 10 hours from this device will be very good and sets the benchmark for other devices to follow.

I think my ideal form factor could be something like the Apple iPad (and to me the big bezel around the screen could be a good thing) that slots into a keyboard or other portable type docking station to allow a real keyboard to be used (essentially like a laptop, plonk it into the bottom half of a laptop, with hinges and the additional ports!). How about if this was Bluetooth so I could use it or another keyboard wirelessly too?

It’s no secret that I’m a Windows man primarily, and in this rare case I actually feel a little pleased that the HP slate and others will be running Windows 7, you know, a real OS. Let’s hope the hardware measures up. If only Apple had seen fit to put OS X on the iPad. I still wouldn’t have got one, well, probably not, but I’d be more impressed.

Summary: Fail.

That’s possibly a bit harsh. Let’s just say it’s not what I’m looking for, it ticks the wrong boxes for me. It's a 'consumer device' not only in terms of market, but also in terms of functionality; it's designed more for consuming media than creating it. That's not what I'm after, but many will be, however even on this front I want to say "Must try harder".

Of course, Mr Fry and others will be snapping them up and I'm absolutely sure most people who do will be happy. It does look and will perform well, for what it does. It certainly doesn't deserve some of the accolades it's been getting, at least not in my eyes. Then again, some reviews have also been too harsh.

If you can’t wait to try one out I only have one suggestion to you. Get an iPod touch and put your face very close to it. It’s the next best thing to being there.

In the meantime if somebody brings out something similar, with the detachable wireless keyboard I mention above, and running Windows, well let’s just say I’m reaching for my wallet just at the thought.

Google is probably hoping the “Me Too” manufacturers will adopt either Android or Chrome, and I wonder where Windows Mobile 7 will fit into all of this. Any plans from Symbian in this arena, the last I heard the Nokia web device (MID, or whatever you call it) was running a variant on Linux, but at least this is a capable OS and can be made very pretty too. Not that Symbian isn't, in fact I do have a soft spot for Symbian as the underlying OS, but the UI plastered on top has let it down badly in the past.

I’d still prefer Windows 7 though, that’s where all my investment and knowledge is. Oh if only Windows 7 were multi-touch capable…. Hold on a moment ;-)

Thursday, 28 January 2010

WHS: The Big Install (Part 2)

Well, I've got the remote access running now by manually configuring the ports on my router, including opening the required port for WebGuide to stream media.

Now that this is working I'm able to upload files to the home server via drag and drop in Internet Explorer, which will be useful, but not as useful as it was in the days prior to SkyDrive and Mesh. It's nice to know the only limits I'll have are my own disc space though.

And whilst I'm able to connect to the server via remote desktop, I'm not yet able to connect to any client machines. This is probably because I need to re-start, but unfortunately I didn't have time to test the laptop this morning, and the desktop machine is still less that 70% through its first backup at the time of writing (about 10:25), despite having kicked this off at about 20:30 last night (hopefully subsequent backups will be tiny, that's what you'd expect, if that's not the case I'm in trouble for disc space anyway).

One of the things I need to see after the desktop backup completes is if the media files get put into the media directories automatically. If not I'll be copying these with SyncToy periodically, but at least then I'll be able to remove them from the backup cycle, which to be fair is where most of the backup file size comes from.

The other feature I've made use of today is remote desktop via the Mesh client, which is really useful, but also incredibly slow (I guess the backup isn't helping). I've since opened up the required ports, but again I need to restart before these changes take place.

No doubt I'll elaborate in my next post.

Tuesday, 26 January 2010

WHS: The Big Install (Part 1)

As per my last entry, I gave up trying to recover the (many years worth of) data on my Linux HDD pair that was destroyed in the upgrade from Ubuntu 9.04 to 9.10, and have started the install of the new Windows Home Server machine.

I wanted to set the machine up as follows:
Primary Drive: SATA 1Tb (An old SATA 300 Samsung F1 from my desktop machine)
Second Drive: PATA 500Gb (The data drive from the old Ubuntu Box)
Third Drive: PATA 300Gb (The system drive from the old Ubuntu Box)

This was where I fell at the first hurdle however. I know the 1Tb SATA drive is working; however try as I may the BIOS could not detect it (the motherboard is a fairly old nForce 2 model in a Shuttle SN45 V3). After some time trying to work out what was going wrong, I substituted the 1Tb drive for an old 200Gb SATA 150 drive. This was recognised instantly and at a total of 1Tb unformatted storage, I decided to cut my losses and go with it, albeit with an already heavy heart.

So now my machine configuration is:
Primary Drive: PATA 500Gb (The data drive from the old Ubuntu Box)
Second Drive: PATA 300Gb (The system drive from the old Ubuntu Box)
Third Drive: SATA 200Gb (SATA 150)

All good, albeit not optimal, but then I can add more USB drives later, with an additional power cost.

The next step went relatively easily, if slowly, that was to install the Windows Home Server OS onto the machine. I left this running after I'd entered as much information as it required, and went to bed.

The following morning I went through the remainder of the configuration (setting Administrator password, etc.) and after eventually finding the drivers, installed the network card and connected to the network, then stepped through the Windows Update cycle via remote desktop until all updates were downloaded.

After this I hit the second hurdle; although I could connect via remote desktop, the WHS connector application kept telling me the password I was supplying was incorrect, which I knew for sure wasn't the case.

Later that day I Googled the answer which was that the server date and time was incorrect (I was even in the wrong Time Zone despite telling the installation to choose "English (United Kingdom)") and after adjusting these, the connector software did (connect, that is).

So I've now started to install some Add-ins which I'll probably continue doing over the coming weeks.

I also performed the first back-up of my (now only working) laptop, which I left running overnight and was reported as completed this morning.

I've now got to back-up the main desktop machine upstairs, which I'm worried may fill the HDD (so I've done some pruning and will be using that failed 1Tb Samsung F1 drive as a local backup store), and work out the best way of storing my media on the server so that it acts as a mini media hub.

The other task high on my list is to get the machine accessible from the outside world. I'll be referring to my book tonight and will probably be manually configuring the router to do this.

Naturally, I'll let you know how I get on here, but so far it's going fairly well.

Fingers crossed it stays that way.

Saturday, 23 January 2010

All Gone

It's final and official. The upgrade from Ubuntu 9.04 to 9.10 killed all the data on both my drives.

I have now officially given up trying to retrieve anything.

Let the Windows Home Server installation trials begin.

Watch this space.

Saturday, 16 January 2010

Microsoft Virtual PC 2007

I've been a huge fan of running virtual machine since James introduced me to VMWare a couple of years ago, not only for running Linux distributions (usually Ubuntu) for trying stuff out, but also for testing installations in an easily recoverable 'Clean' environment where I would:

1. Create a Virtual Machine of the OS (Always XP, but could be any OS), ensure all the patches for this OS are applied.
2. Zip up the virtual machine image files and store them in a safe place.
3. Run all the tests etc. inside the VM we just created.

Then when you want to repeat the tests from scratch, it's simply a matter of unzipping the virtual machine image files over the top of the existing files and you're back to a clean machine next time you restart.

I know VMWare would allow you to do things like saving the virtual machine state at a moment in time so that this may not be necessary, but this was an approach I trusted 100% and which worked well for me on several occasions. Best of all you could zip or copy the VM image files at any time to save the machine in various states, allowing quicker testing from different start points or even running multiple simultaneous copies of identical virtual machines.

Recently I wanted to test a deployment against a clean XP machine for work. My immediate response was to download the latest version of VMWare Server and install this, however after the download stage I remembered that whilst installing "XP Mode" on my home PC I had noticed that the underlying Virtual Machine software, Microsoft Virtual PC 2007, was also able to run on windows XP (and all versions of Vista and Win7, not just the top editions), so I thought I'd give it a try.

I'm pleased to report it all just works, with no particular jumping through hoops. There is a Microsoft version of VMWare Tools (although I don't know if there will be a Linux compatible install yet) allowing such things as dragging of files from the host machine to the virtual machine, shared clipboard, and will even dynamically resize the screen resolution when running in a windowed mode, which is all highly useful.

It's all very slick, and allows the machine image files to be manipulated in a slightly easier way then VMWare (where you'd need to manually edit the files to rename them, with this you justload it up, it fails, you point it to the new file and it works).

And whilst it has some things I'd see as an advantage over VMWare such as not installing those nasty network drivers, it does only seem to allow the use of one processor (core) on the virtual machine, although I'm still investigating this.

Overall, Virtual PC feels more integrated than the VMWare equivalents, but somehow the simplicity makes it feel a little less configurable, but I'm still invetigating. Either way it looks like it could be a good choice for getting into running virtual machines. I'll post more if I find anything, either good or bad, worth noting.

Tuesday, 29 December 2009

On With The Plunge.

There’s not been a whole lot of progress with my Windows Home Server experiments recently. The trial installation would have well and truly expired by now, but it was bought to a crashing halt when I added a third HDD to the machine – suddenly it all stopped booting and this time I couldn’t find a solution.

That wasn’t the main problem though, as a back-up server this would be inconvenient, but not fatal as long as everything else is safely stored elsewhere. What is really still getting me is the 500Gb of data still locked away on the old Ubuntu HDD, and the fact I have decided to run the server with the 1Tb drive currently powering my main desktop PC (in addition to the 500Gb drive and another I already have knocking around.

I decided to go for a couple of Samsung Spinpoint F3 (ordered yesterday to hopefully be delivered tomorrow) drives in the end, putting them in a striped RAID 0 configuration. I was looking at doing a RAID 5 config on 3 drives, but this would use 1Tb for parity data, and I can’t afford a 4 drive RAID 5 array (which interestingly would still only use 1Tb of parity). Besides which, as I’ve probably mentioned before, I don’t even fill 1Tb locally (although I could) so 3Tb would be massive overkill.

I figure RAID 0 with a scheduled backup to WHS should see me OK. If a drive fails it will be a pain, but not the end of the world. Hopefully I’ll get some performance increase in with the newer faster drives and striping as I believe this is what generally holds back my PC, however I'm lead to believe that boot times and application start-up are largely unaffected in RAID 0.

So when these drives arrive, Windows 7 Ultimate will be installed on the new array, I’ll copy off any remaining data from my old drive, then it’s back to getting the WHS box running. I should also have room for a nice collection of VMWare machine images, and I'll have a go attaching some old XP only hardware in XP Mode.

Lets just hope neither of the drives arrive dead, it wouldn’t be the first time.

Thursday, 17 December 2009

Drawing to a new conclusion...

As those of you who read my various other web sites (and the earlier incarnation of this blog) may be aware, I started a new job at the end of April this year which resulted in me moving from a Java (and occasionally SQL) developer, on to C# (via Microsoft Visual Studio 2008) and back to (what has become over the years) the nightmare of Delphi 5.

Delphi, specifically version 5 was way ahead of the crowd in it's time, unfortunately that time was 1999. I used to love Delphi, it was so advanced compared to similar offerings such as Visual Basic that anyone who had used it seriously didn't want to go back to other languages unless they were offered a seriously large pay-cheque to do so.

Then a series of events happened which saw Delphi get left behind, the two main (from my perspective) being:

1. Java arrived and offered the opportunity to program in a new object oriented language that allowed code to run across different platforms. Many Delphi developers moved over to Java, and by using JBuilder which also originated at Borland, we felt at home in a familiar IDE too (versions 1 to 3 of JBuilder were written in Delphi, JBuilder 3.5 was the first native Java IDE for JBuilder).
2. Anders Hejlsberg was poached from Borland by Microsoft and as a result the lead architect had gone. Don't get me wrong, there were a lot of very talented people at Borland, but despite this there was always the perception (accurate or otherwise) that after Anders jumpred ship, the product was left in disarray.

Delphi was never as popular again.

This is all a long time before the .Net platform, and more importantly for the remaining Delphi developers, C# started shipping. In fact, Anders Hejlsberg was the chief architecht of C# after his J# language, understandably, upset Sun, so morphed into Cool, which was eventually released as C# (at least that's how I remember it).

Despite remaining a solid language, Delphi started to stagnate and fall behind Java and C# in terms of features and the integration of new technologies at that time. Although Delphi version 7 was a particularly good release (as far as I remember, was it version 4 that was always rubbish, even after two service packs?) it just wasn't enough. The job ads for Delphi were starting to decline, and its hey-day was now behind it. As a develper, that raises some concerns, and for me it was time to move on.

Java became my language of choice. Not only was the JDK free, but I'd been playing around with it since late 1996 in the version 1.0 builds. So it was that I moved to a job offering cross training to Java from Delphi, which after some complaining eventually happened.

And so Java started to pay the bills as well, if not better, than Delphi had in previous years. However apart from a few notable times (such as when James Talbot introduced me to the Spring Framework, thanks James) Java development was never as much fun as Delphi in those early days.

Don't get me wrong, I like Java a lot, but it rarely had the comparatively instant gratification moments that Delphi often provided. I think a lot of this can be down to two points: My Java programming involved little Swing (or indeed any visual) work, so whilst it was immensley satisfying to get JSP being constructed from a web server, or process huge amounts of financial data, it didn't grab my imagination in quite the same way. The second problem is that Java does so much I could never hope to be comfortable with it all. It is true that this is the case with Delphi (DCOM required me to grab a book and ISAPI extensions have never been produced by this particular mortal) and also C#, but with Java you always felt like you should know it all, it's not enough to just be aware it exists until you need to use it.

So now I'm spending a proprtion of my work time developing in C#, and to my great delight I find it has some of the same highlights as Delphi used to, only more applicable to the world of now. I don't wish to be unfair to the latest versions of Delphi, which I believe are very good, but the whole community around C# is massive, and it's not the dog of a language that Visual Basic was (is?)

I'm now re-learning how to implement things like threading in yet another language. I don't regret this for a moment though as not only may the approaches to some things have changed over the years, but I also believe that in doing this you always get a little deeper understanding, and hopefully wash away a few of the bad habits you may have picked up over the years.

One of the new areas I'm interested in investigating further is the Windows Presentation Framework (WPF or Avalon to some). This looks similar in many basic ways to Swing in Java, only it feels like a later revision. As a result hopefully I'll be able to take back some of what I learn to future Swing applications.

WPF is still quite new (having been released alongside Windows Vista) and the plan is eventually to make this and Silverlight one and the same thing (or so I believe, at the moment Silverlight uses a subset of WPF).

The down side on this is that a lot of the announcements about Silverlight 4 seem to be moving away from cross platform solutions towards Windows only technologies such as COM. I guess time will tell on that front.

WPF is also a core component of Windows 7, so there's significant opportunity there. Also, I believe, the Windows Mobile 7 UI will be rendered in WPF... that will be awesome if/when it happens. And if they start to add the tools into Visual Studio Express from installation then the uptake of WM7 will only improve in my opinion (you can code Windows Mobile Apps without Visual Studio, but it's a lot more complicated without Visual Studio Professional of above. See my later Windows 7 follow-up post in a few days for more of what I think about this).

There's lots of new things being offered by .Net and C# that I need to look into, if not become an expert in, but just to be aware and not completely ignorant of them. The way I'm approaching this is far more relaxed than Java, so hopefully it will be more fun and I'll achieve even more, then take some of the positives back to Java some time in the future.

At last I am once again excited about the possibilities. I just need to shed some (or all) of this Delphi work to give it more of the time it deserves. Oh well, needs must.