Rick Hurst Web Developer in Bristol, UK

Menu

Month: January 2012

Macbook air 13 inch as primary machine

macbook air 13 on a griffin elevator stand

When I first saw the macbook air I was awe-struck by it’s design and portability, and like many people I was wondering if it would be up to the job of being an everyday work machine for web development. At the time I was primarily interested in the 11 inch version – I wrote off the idea of the 13 inch version, thinking that if I wasn’t going to get the really small version, I might as well just get a more feature-rich and powerful 13 inch macbook pro. Several of my friends have got the 11 inch version, and have found it very capable, however..

Screen Resolution

max resolution on macbook air 13 inch (1440 x 900)

I spend most of my work time with my laptop plugged into an external monitor, with a separate keyboard and mouse, so I effectively have a dual-monitor set-up. When I do work away from the desk I use the laptop by itself, and I really want as much screen-estate as possible – especially when doing front end CSS and JavaScript work with firebug open. So when I noticed that the 13 inch air has 1440 x 900 resolution, which is better than the 1280 x 800 on the 13 inch pro and basically the same as the current standard 15 inch macbook pro (though smaller), it became obvious that the 13 inch could be ideal. So in december last year when it came time to upgrade (thanks Potato!) from my tired old black macbook (it had a good innings!), I went for a top-spec 13 inch macbook air.

macbook air 13 inch set up as dual monitor workstation

Power and Storage

A couple of people have asked me about the power and storage – I went for the highest spec I could, so this has an i7 chip and 256gb SSD. I’ve been using it for a month or so and still have 130gb spare on the SSD, so the drive is plenty big enough once all my software, music, photos, a few movies and TV series are on it, not to mention several work projects. I would have been struggling with the 128gb version, though arguably I could use an external drive for all the media, and be ruthless with deleting stuff, and just about get away with it.

I haven’t done any speed benchmarks, but this machine feels blazingly fast compared to my old core duo macbook, in fact i’ve never used a faster machine! Photoshop opens very quickly and it handles large photoshop files really well, is plenty fast enough for general web development and associated tools. The most demanding scenario for me is having multiple browsers (and dev plugins) open, using my usual dev tools along with a massive multi-layered photoshop file open in CS5, at the same time as virtualbox running windows 7 for IE browser testing. While this pretty much uses all of the 4GB of ram, it still runs really happily compared to my old macbook – probably because the disk is much faster.

The only thing I haven’t done is try editing a video with final cut pro – I know this machine has the same graphics capability as the 13 inch macbook pro (“Intel HD Graphics 3000 processor with 384MB of DDR3 SDRAM shared with main memory”), so should be capable, though not as good as the 15 inch and 17 inch pro, which have a second dedicated graphics chip and memory. I would imagine it is entirely possible to edit and process large videos on this, though if video editing were my primary job (and needed a portable editing machine), i’d have gone for a 15 inch pro at least! My video editing amounts to occasionally splicing together clips in iMovie, and adding titles and soundtracks – it is more than capable of doing that, including HD.

Battery

The advertised battery time on the 13 inch air is up to 7 hours – another selling point for me in comparison to the 5 hours on the 11 inch version. I haven’t had the full 7 hours yet, but whenever i’m working I nearly always have a whole load of stuff running, so i’m getting more like 4 – 5 hours. Coconut battery is telling me I have a max capacity of 6450 mAh as opposed to the design capacity of 6700 mAh – I may pop in to the apple store to see if this anything to worry about, though i’m not keen on the idea of it being taken away from me for more than an hour or two to have a new battery put in!

Portability

Obviously this is a big plus with the air – the backache I used to get carrying round my old macbook in a backpack is no longer a problem – I can barely tell whether it’s in my bag or not. If you spend half your life on a train or plane, the smaller version may of course be preferable, but i’ve not yet been in a position where this one feels too big.

Conclusion

I would definitely recommend the macbook air 13 inch as a portable web dev machine! I’m really happy with it and hopefully i’ll get many years out of it, just like I did with my old macbook and the powerbook that preceded it. As ever, whenever you commit to buying a new mac, there’s always the “but aren’t the new ones being released tomorrow/ next week/ next year?” consideration. I think if a macbook air with 8GB of ram suddenly appears i’ll have slight regrets for not hanging on, but other than that i’m very happy that i’ve made the right choice!

eatStatic is Dead, long live eatStatic

I was pleased to see people recently enthusing on twitter about text-file based blog and CMS tools – nesta CMS, Kirby and scriptogr.am, as it validated my theory that there is a demand for tools like these – I was met with fairly bemused looks when i’ve explained the concept to people in the past!.
I was also slightly annoyed with myself for not pushing my own text file based blogging system more and taking it further, as maybe people could have been getting excited about my project instead. It seems fairly pointless to develop it further now when these other tools exist, and i’d already decided to park it last year. My other reason for halting development on it was because it is written in PHP, and i’m determined to concentrate my efforts on django and python for personal projects.

Whilst at New Adventures in web design conference on thursday, I was feeling inspired to create something, so thought maybe I should build a django version of one of these systems. For a crazy second there I thought maybe I would be the first person to think of this, so I did about 30 seconds research and found that Luis Pedro has already created a django text file based blog/ CMS called Git CMS. It looks great, so my first reaction was that I should fork it and develop some of my other ideas around it, but then I noticed that he is still using a database, with a sync script to populate Django models from the text files. This is actually a very sensible way of doing it as it means that you can take advantage of all the stuff you get for free in django. However, my initial goal for eatStatic was to avoid the need for a database at all..

So i’ve decided to do a more or less straight port of eatStatic blog engine to python – a standalone text file blog engine implemented as a python library, that can be dropped into a django project, or any other python web framework, with little or no configuration. I’ve given myself an initial goal of moving this blog over to it as soon as it is stable, but then I want to take it further, and do some marketing around it – encourage people to try it, and to fork it, join me in my quest for a really fast, really simple, really portable, really powerful python powered database-less blog and cms. As soon as I have the initial code ready, and am convinced it isn’t too embarrassing i’ll get it up on gitHub alongside the PHP version 🙂

Mobile Claustrophobia

Just before xmas I installed the Path app out of curiosity, as I had noticed that a few of my friends were using it. It’s a lovely app, and I really like their policy of limiting connections to 150 to encourage it to be used as a communication tool for friends rather than a crazy marketing scatter-gun to be used for self-promotion by individuals and businesses, as most social networks inevitably become.

However, i’ve barely used it, partly because it doesn’t have a critical mass of people I know using it yet, but also because it doesn’t have a web version – currently it is restricted to app-only for iPhone and Android (will it always be?), and even though I carry my iPhone everywhere, I feel restricted and claustrophobic if I am forced to only use a mobile app.

This post isn’t a criticism of Path though, it’s about mobile internet usage in general. By mobile, I mean smartphone, rather than tablets/ netbooks. Nearly always when i’m using a mobile version of something, I feel claustrophobic – from ham-fisted accidentally liking or retweeting stuff to not being able to find missing or hidden features, I feel myself desperate to get on a laptop and use the “full” version instead.

Mobile web usage (by which i’m including standalone apps which transfer data via the internet) is going through the roof – but how much of that is people using it only because they happen to be somewhere where they haven’t access to a laptop/ desktop computer, versus people who would actively decide to use a mobile version of something in preference to a “full” version on a laptop?

There’s been much debate recently about responsive web design in the last year and about favoured approaches to making websites and web applications adapt to different devices. One of my arguments in that is that I like the option to zoom out and in of the full “desktop” version of a web page when i’m using my iPhone – I like to scan around and zoom in to parts of a page, particularly on a news site, rather than scrolling through loads of text on a mobile version of the site, feeling like i’m missing stuff, and anxious to at least see the desktop version, zoomed out to see where I am in relation to everything else.

However, that doesn’t seem to be a popular opinion – I wonder if i’m part of a dying “desktop orientated” generation – I can use and enjoy a mobile version, but always feel shortchanged – it’s never as satisfying as the “real thing”, whereas the next generation, introduced to the web via a mobile device don’t feel that lack of wider context (wider meaning literally wider in some cases), and feel shortchanged when they get something aimed at a desktop/ laptop computer?

The life of a software engineer

I can’t remember where I saw this (twitter probably) a few weeks ago, but I can’t help laughing about this whenever I start a new project – I think no matter how well reasoned my choices are at the outset of a project, this is how most of my personal projects work out!

From: http://www.bonkersworld.net/building-software/

The basics of git (or at least how i’ve been using it)

A while back I wrote about how I use subversion (SVN) version control as part of my workflow, when working alone and as part of a team. I’ve observed many of my friends and colleagues dropping SVN and moving onto GIT, and used it when working on swoop patagonia but personally carried on using SVN as my default preference, in a “if it ain’t broke don’t fix it” kind of way.

However, this has recently changed, having learned a bit more about it using it as part of the workflow at my new gig at potato, I can’t see me creating any more SVN repos by choice. So here is how i’m using it – note this is very basic usage – i’m far from an expert at this point.

The basic setup is similar to how i’ve been using svn:-

  1. Create a repo on a remote host (e.g. github/unfuddle/my own server)
  2. Check it out to my local machine (in git terminology “clone” it)
  3. Make some changes, add some new files, delete files
  4. Commit changes back to the remote repo (in git you commit locally, then push the changes back to the server)

To clone the repository to your machine:-


git clone https://your/repote/repo


To add new files to it:-


git add /your/new/file


To see the status of your local repo


git status


To commit changes (this is where SVN users get confused), first “stage” your changes:-


git add /the/file/you/changed/or/added


Then commit (note this just commits it locally):-


git commit -m 'message here'


or to add a commit message using your default editor:-


git commit


So at this point you haven’t sent anything back to the remote repo, you can carry on making changes and committing locally (this is one of the advantages of GIT over SVN). When you are ready to update the remote repo:-

First pull down any changes from the remote repo (assuming you are still on the master branch – i’ll come to branching later):-


git pull origin master

At this point if there are any conflicts you will need to resolve them, which is usually a case of editing any conflicted files, then adding and committing them. Then you push:-


git push origin master


So this is basically not far off how I used to work with SVN – the only difference being that I have a local change history, so (in theory at least) I can roll back changes if I get into a mess.

Where it gets more interesting and useful is where you introduce branches. I know SVN has branching, but i’ve mostly ignored it, but with GIT i’m always creating branches, which i’ll cover in another post..

Posted in git