Sandboxing

Back in 2010 I complete my dissertation.  The idea for my diss came to me while sitting in Starbucks in Camberley sometime during my time at Sun Microsystems, probably early 2009.  The idea was quickly jotted on the back of a Starbucks serviette.

Applications crash and can take down a system, if we could virtualise the application and separate it from the system then it couldn’t bring it down.  This was the subject of my diss and I mostly implemented it using OpenSolaris Zones.

The idea was more than that though, I thought that files should also be chopped up and placed into separate areas (at the time I was thinking separate ZFS file systems).  Separating files into types would mean that one could limit what information applications could get hold of (why would an image editor need access to word documents, for example?). Here’s an image to somewhat illustrate my point:

Now, back in 2010 I used the phrase “Virtual Application Environments”.  Today I feel quite silly, as everyone simply calls it “sandboxing”, Wikipedia has this to say about sandboxing: > a sandbox is a security mechanism for separating running programs. My diss somewhat successfully implemented sandboxed applications, but these apps had access to the whole of the current users home directory, so obviously didn’t implement the second part of the idea…

What is interesting is that this is sort of how the iPhone works, in so much as there are documents, photos, movies, music, and the user only really sees these through specific apps - so the Photo app doesn’t view documents, and the iTunes app doesn’t view photos, etc…And now a similar thing is happening on the MAc with the Mac App Store.

A short while after I had this idea in Starbucks, I began to think about how users could use a thin client (like a Sun Ray) and access sandboxed apps, running inside virtualised machines, running a variety of operating systems, all being able to access segregated file systems for different file types.

Let’s have a think about that.  A thin client connects to a main server, this server can then connect to other systems (virtual or otherwise) and run apps from those systems.  Apps on the remote systems are sandboxed for security and stability.  All the while the user thinks that they are using a regular computer.

Now I’m very excited!  OnLive have released a product called OnLive Desktop.  It allows you to access a MS Windows 7 instance from a tablet, right over the web.  So we begin to see this thin client (iPad) access a remote system (Win 7) to run apps.  All we need now is for the Win 7 instance to be able to run a multitude of Linux and OS X apps (by somehow forwarding the app from the Linux/Mac system to the Windows system (something like X11 forwarding)) and my idea would have become a reality!

Just an update

Once upon a time I had the notion that I would post something vaguely interesting or helpful once a month.  While working at Sun that was easy (also making myself blog about my weekly activities for later reference helped), even my final year of uni I pretty much managed it, but I now look back over the last few months and see that I’ve not posted anything really since early December, and before that sometime in October.  

I am still alive!  Still working on the ERTMS project in Machynlleth which is going well and with each new software update the system is getting more and more stable.

Outside of work I am working on some bits in the virtual world of Second Life, a good friend of mine creates objects and I have started writing scripts in the Linden Scripting Language to make his objects more interesting/interactive.

OH!  I’ve got a new iMac!  A sexy 27” beast, equiped with a 3.4GHz Intel i7, 16GB RAM and an AMD Radeon HD 6970M (2GB).  It replaces my three year old Mac Pro which I wasn’t using to its full potential - so if anyone wants a 2009 Mac Pro (2x Intel Xeon 5500, 6GB RAM) let me know!

Right, now I’ve got to work on something interesting for me next post!

Merry Christmas

Just a quick post to wish you all a very Merry Christmas

WebOS 'more open' than Android?

Ars Technica recently published HP’s decision means webOS could end up more open than Android.

The fate of WebOS has had people pondering since HP announced it was going to stop developing WebOS.  It has been suggested that HP should open source WebOS rather than just killing it.  It turns out that that is exactly what they are going to do.

Now this raises an interesting question, could WebOS be more open than Android?  Many of us know that you can download most of the Android source, and that you can build Android and put it on your phone, but it’s not a community driven project, indeed it seems to somewhat shun the community. I seem to recall that when Richard Stallman came to Aberystwyth University, he said something like “Android is not open, but it’s the best we’ve got right now”.

I know a number of people who have rejected the iPhone and the Apple culture because it is extremely closed.  These people have promoted Android as the open alternative. My question to these people who wanted the open option: When HP opens up WebOS, will you all be jumping ship to the truly open source mobile OS?

Do I really agree with Apple's EULAs?

After the death of Steve Jobs Richard Stallman has said some somewhat callous things about Jobs and Apple and how they have us in “digital handcuffs”.

When we purchase a piece of Apple hardware or software, we must accept a EULA before we use it.  It’s pretty standard in the proprietary world to put measures in place to restrict a user’s use of the product. I am pretty confident that hundreds of users click “accept” every day without reading such a license , let alone understanding it.

I have fallen in to this trap too, what “freedoms” am I signing away to Apple?  Over the next few weeks I’m going to sit down and read the EULA for Mac OS X Lion, iTunes, and iOS 5.  Am I really happy with signing these “freedoms” away?

RIP Dennis Ritchie

Co-writer of the C language and co-creator of the UNIX operating system Dennis Ritchie sadly passed away last Saturday.  It seems his death was somewhat overlooked due to the passing of Steve Jobs.

Thanks to Ritchie’s contributions to computing, we have the C language and its derivatives (including Java, C++, Objective-C, JavaScript, and more), and UNIX with its derivatives (including Mac OS X, BSD, Solaris, Linux).

Goodbye, Steve

I sat down at my computer this morning before work, I glanced at my tweets, then at my RSS, I realised what had happened.

Yesterday the world lost a great man, Steve Jobs.

I know that this will be plastered all over the Internet, I know that newspapers already have obituaries written, but I wanted to pay my respects to this great man.

Steve’s keynote speeches were always brilliant, it was these speeches that made me so enthusiastic about Apple products.  I love reading about what he had done in the early days of Apple, watching old videos, etc. I love how the company grew and how he drove it forward.

I will miss that we will no longer have the chance of seeing him at Apple events, on stage or in the crowd.  There will be no more reports of his one word responses to the pleads of customers/developers.

My thoughts go to his family, both at home and at Apple.  Goodbye, steve.

Sherlock

Sherlock is one of my all time favourites.  No, not the stories, the game!

Written by Everett Kaser many moons ago, I first played this classic game on DOS and taught how to play it by my Dad.  At the time it felt fairly hard, and it still catches me out from time to time now!

This is my current “I’ve got five minutes to fill”, or indeed “I’ve got half an hour to fill” game.  I play it on the way home from work, knowing I’ll get about six games out of it.

It’s not visually stunning, but the graphics do give that nostalgic feeling of being back in DOS, it even has some DOS style animations and sounds!

The game can be a bit fiddly, having been originally designed to tap squares with a mouse, but once you’ve got the hang of it it’s fairly easy to do by finger.

I would recommend this game to anyone who likes a quick logic puzzle.  Especially as it’s on the App Store for FREE!

Doodle Sub & Wager

A couple of friends have made some apps for the iPhone/iPod Touch, so I thought I’d quickly plug them :P

First up is Wager by Tom Diggle.  This app is handy for calculating the return and profit of many betting types.

It sports a succinct UI which is both fast and effective and allows for multiple bets to be stored for later reference.

Find it on the App Store for just 69p!

Next we have Doodle Sub by Oliver Foggin.  A simple game, yet so frustrating and highly addictive!

Dive your sub to the depths of the ocean, is there ever an end!?  If there is, I’ve not found it yet!

Once again, this can be found on the App Store for just 69p!

iPad 2

Last weekend it was Faye’s 23rd birthday.  Having asked her previously she had joked about an iPad, so I saved and an iPad she got.  A 32GB, Wi-Fi only iPad2.

I’m impressed with the device, I’ve played with them in the Apple Shop, but having one at home is nice.  Faye has an old G4 iBook, this new device has somewhat elevated the iBook’s duties. The iPad gets used for games, web browsing, email (both through Mail.app for GMail and through Safari for the uni web mail), and for watching 4OD/ITV/BBC iPlayer.

This picture really captures what I think the iPad, or any other tablet, is really good for: