…and another (couple of) thing(s)

February 7, 2010

Something I forgot to mention in my last post was my trying to look at the iPad from a developer’s perspective. I talked before about a programming side project that I’ve had bouncing around in my head for a while. Previously, I mentioned that I wasn’t sure if it was a website, an application, or some combination of the two. Then again I could see some use cases in which a laptop might be a bit cumbersome and a smart phone too small and underpowered. In which case neither the application of the website is entirely satisfactory. I’m actually now starting to think that the iPad could be the exact right platform for it. Perhaps I should actually start working my way through the Objective-C text book I’ve had sitting on my shelf for over a year now…

I have another couple of side projects, some programmery and some writery that have me giving the thing a more than slightly critical glance.

That’s not the point of this post, though. The fact of the matter is that, although it might sometimes seem that way, Apple does not have a monopoly on multi touch user interfaces. If you want to see a particularly impressive example that neither you nor I (nor the governments of some small countries, I suspect) can afford, look no further than the Perceptive Pixel website. Another cool example showing someone playing with a multi-touch implementation of the Warcraft 3 real time strategy game can be found below:

That’s the sort of thing Apple should have shown at their event, in my opinion. There’s also another tablet doing the rounds called the “Joojoo,” which is apparently African for “magic.” You should be impressed already. I bet you didn’t think “African” was a language, did ya? That was news to me, too. This tablet looks one hell of a lot like the iPad, but is has a 12.1″ multitouch screen and features a flash supporting web browser. It costs about the same as the starting price of the iPad, also. Sounds like a better deal, you say? Unfortunately I just listed its entire feature list. Web browsing is all it does and it doesn’t seem to have any capability for offline use. It also has a seriously dodgy past and it’s makers are being sued as a result. What? You want to see it? Oh. Here:

The Joojoo

Clicking on the image will take you to the website. I think this device is kinda cool, but way too limited. Like the iPad, iPhone, and iPod Touch it features an onscreen soft keyboard… but now I very good one from what I’ve seen. There’s a video of the company’s CEO demonstrating the device and having a bit of trouble working the keyboard. Not a good sign. The hardware looks pretty cool though, the sort of thing a person might be tempted to buy with the intention of hacking. Not me though. I don’t like having to act as my own tech support when it comes to the hardware and operating system.

Perhaps I’m done talking about the iPad and it’s ilk, and I’ll soon find something else to prattle on about… or perhaps I’ll be back soon with a bunch of use cases the think will have to fulfil in order for me to consider buying one, perhaps in the context of these side project I seem to refuse to go into any detail about. Alright, here’s a clue which might have meaning to about one person reading this: Bad Penny.


That iPad thing

February 3, 2010

Originally, right after I got around the watching the keynote presentation which launched the iPad, I was going to write a blog post about how disappointed I was. I thought they’d screwed the pooch and I, for one, was seriously underwhelmed.

Needless to say, I didn’t quite get around to writing it. Since then I’ve read all the criticism by the naysayers and Apple haters, all the gushing praise from the fanatics and all the stuff in between from the more sensible people*. Now, after some reflection, I find myself somewhere in the middle. I flip back and forwards between thoughts of “that could be awesome,” and “that’s far too much of a compromise.”

Ironically, the thing that’s bringing me around to the idea is the very thing which people seem to be complaining about the most. Specifically: “It’s just an iPod Touch with a bigger screen,” which, in fairness, is exactly what I was thinking. It’s not a bad thing, though. The iPod Touch (and iPhone) have a spectacular interface. The touch controls work well enough and the device is responsive enough to make you feel is though you’re interacting with your music or the internet or your emails in a very direct manor. As a matter of fact, the main limitation of the interface is the small size of the screen. Ah hah…

I think what actually happened is that Apple made a mess of the keynote. Yes, the first person shooter was very pretty, but not really ideal for the interface. A real time strategy game, something like command and conquer, could really sing on this thing. The iWork apps look pretty cool, but a multi-touch version of iMovie or GarageBand could have been seriously impressive. They really didn’t make me believe that I could comfortably read a book on this thing… but if they’d announced text books for the iBooks store and placed an iPad next to the pile of books you usually need each year… well, then we’d have been talking. If they’d have shown how you could search the contents of a text book, spot light style, I might have been sold. Instead they left me to have to think of these things by myself.

I still not 100% certain I know what it’s for, though. Does it replace my laptop? Does it go alongside my laptop? Would I use on the sofa? Probably. On a short journey? Can’t see me getting it out on the bus. A long journey? Yes, I think so. Sitting in a coffee shop? Maybe. It would take up less room on the table. Sitting in the park? A tad more risky. But still, I don’t know. I’m disinclined to spend £500+ on something which is just a toy. I think I can live without multi-tasking, but there needs to be a better system to allows different apps to work together. What use are great OmniGraffle and Pages apps if I can’t insert a diagram from the former into the latter?

Bottom line: I’ll go and have a play with one after they come out. Then we’ll see.

PS For my parents, though, the damn thing is almost perfect.

*Well… I say “all”… what I actually mean is “some.”


The Goldilocks Dilema

December 9, 2009

Preamble: If you’re reading this on Facebook, what you’re looking at is actually from my blog on WordPress.com. If you want to comment (please comment!) please do so on the actual entry, which can be found here: http://harveynick.wordpress.com/2009/12/09/the-goldilocks-dilema/ , rather than on Facebook. Cheers!

Daddy Bear’s porridge is too expensive.

Baby Bear’s porridge is underpowered.

Mummy Bear’s porridge is just right… but has a monitor in it.

Hhhmmm… perhaps I should explain…

It’s reached that time. My computer is starting to show it’s age. In small ways, mostly. It stalls occasionally, but with gradually increasing frequency. Every now and then it’s slow down noticeably, and the fans are spending more and more time going full blast. If it actually died on me that would a disaster right now, but I’m not too worried about that just yet. Even so, I think it’s time that it had a worthy heir.

At present I have a first generation black MacBook, but I think I’m going to go for a desktop for my next system. I like working at a desk, and with a desktop I’ll get more bang (and screen) for my buck. I’ll keeps the laptop around for taking to coffee shops and trips (and the times when I really feel I need to work on the sofa), and synchronise my data between machines using the fantastic DropBox. While I’m on the subject, I can’t recommend DropBox enough. It seamlessly synchronises your files to and from the web, and works on all operating systems. Even Windows. Also: it’s free for the first 2GB. If you’re interesting in DropBox, please go via the link I posted above, we’ll both get a bonus 250MB of space!

When, or indeed if, my laptop dies, assuming I’ve had a pay rise and/or won the lottery, I might replace it with something a bit sleeker. By which I mean a MacBook Air. You might be saying: “Wait a minute, don’t you have one of the those funky and cheap little netbook things?” and the answer would be yes, but I don’t really use it. The simple fact is: you get what you pay for. It’s way underpowered and the keyboard is a serious pain to use. Don’t even get me started on the trackpad. I do have a use for it, though, and I might come back to that at a later date.

But what desktop to get? Which brings us about back to where we came in. The question is: which desktop should I get. I’m getting a Mac, so my options are:

Mac Pro. Ludicrously powerful, and very expensive. Almost certainly more than I need, and a bigger physical footprint than I’d prefer. Also uses a LOT of power.

iMac. Gorgeous. Just about the exact specification I’m looking for. Not exactly cheap, but within the budget. Uses a reasonable amount of power. Is about as eco friendly as a machine with this sort of spec can be. Has an absolutely gorgeous built in 27″ (or 21.5″, but I would probably go for the 27″) monitor. That last point is both a pro and a con, while it is spectacular monitor which would probably cost about the same amount as a stand alone unit as the iMac itself costs, I’d ideally like to be able to use the same monitor for my XBox 360. That’s how I’ll be playing games, you see. If I got the iMac I’d either have to put my old, smaller monitor next to it for the XBox, or move the XBox back into the lounge where I tended not to use it, as I felt like I was imposing and I like to sit quite close to the screen when playing.

Mac Mini. Slightly underpowered. You can get decent processor in it, but the graphics card is quite low spec and I have plans to do some quite graphics-ey things. It is quite cheap, though, and I could buy an decent external monitor to go with it (XBox 360 ahoy!)  and still spend less than I would on an iMac. It’s also very low power. The most eco friendly desktop on the market, in fact. Going flat out it would still be using less power than the iMac would idle (even taking the monitor into account) and uses only 14 Watts when idle. 14!

So those are my options. You might now be thinking “Fool! Those are not your options! Get a PC! Then you’ll have hundreds of options! PCs are better anyway! Macs are for idiots who don’t know how to use a real computer!” and you would be a little bit right. That would solve this problem. It would also create about a bazilion new problems, though. Like the distinct possibility that I might throw my computer out of the window. Maybe you use Windows. Maybe you think it’s just fine. Maybe you find those Mac adverts really annoying (so do I, most of the time) and you’re fed up of being told that you should “get a Mac” by slightly pompous and patronising people. I’m not going to do that. If Windows works great for you, keep using it. It is shit though. Maybe not on the surface, but as a piece of software engineering it’s a chrome plated turd, and Microsoft spends most of the their time doing extra chrome plating. That one of the many reasons that I’ll be sticking with the Macs until something changes drastically… and I do mean drastically.

In lieu of a nearby Apple Store I think I might go to John Lewis at the weekend and stare at my options. Maybe push a couple of buttons and try and find a way to stress out the graphics chip on the mini. Anyone got any opinions?


Just Can’t Recommend Highly Enough

September 20, 2009

Today I finished “The Girl Who Played With Fire”, translated by Reg Keeland from the swedish book of the same name by Stieg Larsson. It’s the sequel to ‘The Girl With the Dragon Tattoo” (which is called “Men Who Hate Women” in the original swedish), and I really can’t recommend the pair of them highly enough (as you might have guessed from the title of this blog post).

I picked the first book up as the combination of the titular character being described as “an expert computer hacker” and the synopsis on the back cover put me in mind of Neil Stephenson’s “Cryptonomicon”, not only one of my favourite books but also an outright work of genius, in my opinion. I would describe ”Cryptonomicon” as recommended reading if you’re the sort of person who breaths oxygen and walks upright, if you work with computers I’d say it verges on being required reading. Since Stephenson lost the plot more recently (in my opinion, that is; I didn’t make it more than half way through “Quicksilver” before giving up in pained frustration) there has been a rather large cyber-fiction based hole in my world. “…Dragon Tattoo” seems as though it might be poised to fill it.

In fact it did not. It’s a different beast all together. A slow burning and wonderful one, written (and translated) with great skill and care. Both books are very powerful reads, laced with a hatred of misogyny and criticism of a system which doesn’t do nearly enough to prevent it. It’s also a ripping great yarn of a mystery, full of strong male and female characters. Nominally, the books are the first two parts of a trilogy. In fact Larsson planned ten books and left an unfinished fourth manuscript together with outlines for books five and six when he died. I’m waiting with bated breath for the release of the third book. I just hope it ties things up reasonably well and so won’t leave me too curious about the contents of book I’ll never be able to read.

Something else I can’t recommend highly enough, while I’m on the subject, is this:

I love it when an an apparently shallow and vacant pop star turns out to be really quite absurdly talented…

PS If you’re reading this via Facebook and intend to comment, please do so on the actual blog, rather than on Facebook. Thanks :)


The right kind of holiday

September 6, 2009

It has been, by my count, at least 18 months since I last had a holiday (aside from one weekend spent in Cardiff). It’s getting to the point where I’m starting to feel that I really need a one. But what kind of holiday?

Having stopped to think about it, I’ve realised that most of the holidays I’ve taken have been of the package type. With the skiing holidays this isn’t so bad, it’s possibly even ideal. The rest of the time… not so much. It feels a little too much like being cattle, it feels very lowest common denominator (largely because it is) and you’ll tend to spend a lot of time around British Tourists (if you know what I mean). The holidays I remember enjoying most are the other kind. The ad hoc ones. Three stand out:

Something like five years ago my friend Pete was living and working in Barcelona for the summer, staying with a friend he’d met while previously living in Switzerland. My friend Ruth and I made our way out there (slightly haphazardly, in my case) and spend a fantastic week, sleeping on Pete’s floor and trying to spend as little money as possible, whilst also trying to see and drink as much as possible. Pete’s friend also had a couple of friend’s kipping on her floor, and they’d also befriended an Irish fella they’d found in the bar Pete worked in. It was a great time. When I think back on the seriously happy moments in my life, swimming in sea at 1 am on Barcelona beach while holding onto a bottle of white wine in an attempt to cool it down a little… yeah, that ranks pretty high up there.

A couple of years later I (English), together with my friends Mark (Scottish) and John (Irish) made another ad hoc trip, this time to Italy. We flew with Easy Jet, rented a cheap but very comfortable villa in the hills and drove our selves around in a rental Alpha Romeo. We ate some great food food, played some cards, looked at some very pretty cities (and some very pretty girls), and accidently drove up the off ramp of an Italian motorway. I highly recommend it (except for the last one).

Lastly, and most recently, I spent a long weekend in a hostel in Berlin with 7 friends. We saw the sites, ate lots of pig and starch based products, probably drank too much, and wrapped up very, very warm. Only one of our number actually spoke German and he had to go elsewhere for the last night, leaving us to end up in what turned out to be an awesome and Very cheap socialist bar. Though there was an tense few minutes when we were sure what kind of socialist bar it was (it was the good kind).

I would like to have more holidays like this. Now, if I could just figure out a good way of setting them up…

BUNAC appeals to me (and I only have two years left to try it, depending on the country), as does farm working my way a cross a (hot) country. Burning Man is also not without it’s a appeal…


Web Frameworks, Desktop Application and My Newly Melted Brain

September 1, 2009

Let’s get the preliminaries out of the way: Hello, long time no see, how have you been? Etc…

So, whilst writing up my PhD (experiments finally finished!) and working three days a week (going fully full time at the end of September!) I have a fair bit on my plate at the moment. So obviously I’ve also started cooking up a side project…

I don’t want to talk too much about what it actually is (mostly because I don’t know how “open” I want it to be yet), but it’s definitely going to require a web service. It might also require a fully fledged website (lets call this the spotify model), or it might just use a desktop application which connects to the service when it needs to (lets call this the iTunes model). Then again it might have both, with the desktop application providing some extra functionality which is hard to do over the web or in the browser. I think there’s also scope for a mobile application, so lets throw iPhone and (what the hell) Android into the pot as well.

I had a bit of a poke around with some web development frameworks first, since this is probably the bit I know least about.

One of the first solutions I came across was Django, which is based on the python language. It looks good, through I have some issues with its handling of “one to many” relationships. Python is a language I have limited experience with, but it gets a lot of love, and people are putting a lot of work into into making it better. It also has good integration with native libraries. So that’s nice. It’s also named after Monty Python, which only raises my opinion of it.

I’ll essentially skip over TurboGears and Web2Py, two other python based frameworks I did some reading about. Django seems like the best choice out the python based frameworks I’ve looked at.

Soon afterwards I discovered Grails which is based on the very cool groovy dynamic language. Groovy, as well as being fun to say, is implemented directly on top of Java, by far the language I’m most comfortable with. The are a lot of existing Java libraries, and groovy has perfect integration with them. Groovy and grails have some serious weight behind them, also.

One framework I hadn’t really considered was Ruby on Rails, which is in many ways the daddy here. This is mostly because I dismissed Ruby as a language out of hand. It looks mental. For reasons I’ll come to in a minute, I’ve re-evaluated this desision, and will be having a good long look at it. On the one hand it’s been around a good long while, so has had the oportunity to become more refined. On the other hand, it was the first of its kind, which means it might also be stuck with some bad early design desicions. It’s the original, this might not make it the best. I don’t know yet.

In order to build this… thing, I’ll need data representation, I’ll need algorithms for processing this data, and I’ll need ways of displaying it. I’d rather not have to deal with multiple implementations in different languages, particularly with the algorithms.

Problem.

If I want to make desktop applications, python is a possibility. It has good bindings to GTK and QT for linux, and Cocoa for OSX (there’s probably also something which will work on windows, and at some point I’ll probably have to care about this). Java will work anywhere, but it’s quite difficult to make a desktop application with Java which won’t look like crap. My priority in this area is going to be OSX, and Java does not measure up here. I had not considered Ruby, until I came across MacRuby, which is a very interesting idea. It’s not a bridge or a set of bindings, you see, it sits right on top of the objective-c runtime. All of a sudden, Ruby and Rails are a contender.

In the mobile space, things get shitty. iPhone requires objective-c, Android requires Java. Bugger.

So here’s where I am: I think groovy is a better language than python (and probably ruby), and I think grails is a better framework than django (I’ll get back to you regarding rails)… but I’m not sure I want Java hanging around my neck when it comes to building a desktop application. I might also need some serious grunt in the algorithm stakes, and I’m not sure I want to do that in a scripting language. Yes, I need to be able to implement it quickly, but I also need it to run quickly. I’m not sure I want to do that in either C or C++. Java would be good for this (and yes, it’s plenty fast). Objective-c is an option I haven’t discounted.

The search continues… any thoughts?


I’ll *just too good to* be back…

March 18, 2009

Generally speaking, I tend to find that if something look too good to be true, it probably isn’t. The “lemon meringue pie” served in the university cafateria today, for instance. Another potential for instance can be found here:

http://www.apple.com/trailers/wb/terminatorsalvation/

Because the trailer for Terminator Salvation look far, far too good to be true. In fact, it looks pretty spectacular, in my opinion. It looks like some of the best, most intelligent, elements of Battlestar Galactica*, and that epic future war James Cameron mercilessly teased us with… starring Christian Bale. Who, silly voice aside, makes a damn near perfect Batman.

I ask you (yes, you): is this possible?

* Yes, that would be the new Battlestar, not the old one.


A Wind Blows Through…

March 11, 2009

I need a tape measure.

It isn’t the first time I’ve thought this in the past couple of days, and I expect to think it at least a thousand times more in the foreseeable future. The problem in this instance is that I can’t tell by eye if the bed and the two cabinets will fit to the left of the bedroom window.

Crap. I’ve gotten ahead of myself.

A week or two ago, my flatmate Bruce told me that he and his girlfriend, my other flatmate, Sabrina were moving on a pastures anew. They wanted their own place, and so March would be their last month month in our current flat.

Shit.

But no, after speaking to my very friendly landlord, I found out that I will not be tossed out on my proverbial arse, I will in fact be able to stay on for three further months, essentially at my current rent, and with the whole flat to myself.

Pretty cool.

So, of course, my thoughts naturally turn to important matters:

Where will I move all the furniture to?

Because, of course, you have to move the furniture around. That’s just what you do.

How will I implement the ideal centralised media and file distribution system?

This, too, is just something you have to do. If you’re a bit of a nerd, that is.

But what happens at the end of the three months I previously mentioned? Well… in a slightly terrifying display of domesticity, on my good lady’s return from working on her dissertation project down south, we pick up the lease of the flat.

It’s okay. She’s a bit of a nerd, too.


MDL: Spending to make…

February 26, 2009

While it’s a fairly common and reasonably accurate maxim that you have to spend money to make money, I find myself wondering if the same is true of energy. To reword and disentangle the metaphor: Can you save energy by using energy?

Here’s a my train of thought: You have curtains in your house. It’s possible to fit a motorised unit and automate the opening and closing of the same. This would same ostentatious, lazy and wasteful. To have a computer, sitting, always on, in your house, which decides when this should happen would seem to increase these negative factors.

But…

During winter, you try to close the curtains to keep heat in. Doing this early means you miss out on daylight and, furthermore, you have to turn on artificial lights. Doing this too late means that you loose heat through the windows. There’s is probably a converse example in hotter climates than this, in which your house gets too hot in the middle of the day if you don’t close the binds, meaning you have to turn on the air conditioning.

So then, at what point does the energy used to run the computer become a good investment? What if it has sensors inside and outside in order to measure the temperature gradient, and so it can choose the best time to close the curtains? What if it also manages your heating? What if it intelligently turns out the lights in rooms you’re not in? Reminds you that you turned the oven on but haven’t actually put anything in it… Makes damn sure that you get out of bed in the morning… and so on…


MDL: Call by the what now?

February 24, 2009

Some not work related computery bits and pieces have been percolating around my head for some time now. I think we should talk about them for a while. That is: I’ll talk. You listen.

I’m probably going to write a couple of more techy blogs, all loosely interrelated. I am going somewhere with them, but I’m not entirely certain as to how much of this journey I will share with you.

First of all, I’m going to talk about the fairly simple computer related concept of “Call by reference” versus “Call by value”. This is fairly basic computer science (though I wish they’d taught it properly earlier on in my course). It’s possible (probable, even) that this example (or variations of it) has been used a thousand times before. I’m not going to go look for one (or the absence of one), I’m just going to write down my own particular take on it. I assure you that any plagiarism I’m about to commit is in no way deliberate. So, without further ado…

Let’s say you want to send a specific piece of information to someone via email. Let’s say it’s part of today’s featured article on Wikipedia (William I of Orange, at the time of writing). In today’s connected digital world, you have too main options. First of all, you could send them the information itself, like so:

William was born in the castle of Dillenburg in Nassau, present-day Germany. He was the eldest son of William, Count of Nassau and Juliana of Stolberg-Werningerode, and was raised a Lutheran. He had four younger brothers and seven younger sisters: John, Hermanna, LouisMary, Anna, Elisabeth, Katharine, Juliane, Magdalene, Adolf and Henry.

There are several things your recipient can do with this. They can read it. They can edit it, but this will only edit their local copy. The original remains unchanged. If they want to request that a change be made, they can, however, edit it and send it back to you. This is “calling by value.”

Your second option is to send them a link to the information:

http://en.wikipedia.org/wiki/William_I_of_Orange#Early_life

This, again, allows them to read it. They have to follow the link to the information it points to first, though. This time, if they make an edit (this being wikipedia) they actually are changing the original copy. They can also see what other information is around it, and if they feel so inclined they can change that is well. You might consider this to be an undesirable consequence. This method has the aditional advantage, however, that you did not have to take the time and effort to make a copy, and the amount of information you had to actually send is significantly smaller. This is “calling by reference.”

If you deal with this sort of thing on a day to day basis, you may well be aware that when you do this sort of thing in a computer program you have another option. You can send a constant reference, which would be analagious to sending a link to a website the recipient has no write access to. For example:

http://www.britannica.com/EBchecked/topic/644041/William-I