Photo of Jamie & Lion

The personal site of Jamie Knight, an autistic web developer, speaker and mountain biker who is never seen far from his plush sidekick Lion. View the Archive

Topics: Autism Development

Raspberry Pi

I was born at the very end of the 80s and was fortunate enough to grow up around computers and electronics. My dad’s an electrical engineer, i grew up with electronics around the house, often across the kitchen table.

This spawned a lifelong interest in technology and electronics. However, i was a little late for the computer revolution of the 80s. Things got really interesting for me in the late 90s when i started browsing the web and built my first websites. 12 years later and i now make websites for a living reaching millions of people working for the BBC.

Over the years computers have got very powerful. Having multiple cores, Gigs of RAM and a Terabytes or more of storage is commonplace. You can buy a
basic bare bones kit and build you own PC for less than £100; premade PCs are avaliable for a litte more. While this is great something has been lost. Even at a few hundred pounds PCs are too expensive to do anything too risky with. Easpcially for younger people playing with the family computer.

The Raspberry Pi seeks to change this, a basic computer. For less than £20.

The RPi is a well thought out little credit card sized PC. It’s built around the sort of gubins you find inside a TV setup box. It’s fast enough to do basic computing and media while also being very cheap and extendable. By using SD cards for storing the OS you can easily switch it between multiple configurations and if it all goes wrong you can simply blank the SD card and start again. I got mine a few days ago
and thought it would be good to write about my first impressions and experiences a few days in.

Unboxing

The Pi comes in a small unassuming box mostly filled with foam. The board itself is tiny (weighing 40g or so!). Inside the box is a quick start guide and a bunch of legal disclaimers. The board itsels is wrapped in a protective bag. You will need to beg borrow or steal a screen, keyboard and SD card to get started.

Hardware

As i explained in the intro the hardware is very simple on purpose. I think the board looks pretty neat in the raw with all the tracing and hardware components visible. In total it has 5 Ports. On the left, 2 USB ports and an Ethernet port. On the front a headphone port and a RCA port and on the right the MicroUSB power port and SD card slot. Finally, at the back is the HDMI port for connecting a display. The board also contains a number of general purpose input and output headers and a ribbon connector.

Exact specs for the GPU are not really known. It’s not that important. We do know it has 14 or so cores each clocked at around 250mhz and
offer roughly double the performance of the iPhone 4S graphics. It’s more than capable of handling 1080p high def video content and low end games.

Getting Started

This is where the real fun started for me. It took me over 3 hours to get from the box to a desktop! It started off pretty well, i followed the quick start guide using a mac app (raspwrite) to produce an SD card containing the Fedora 14 OS. This is the OS which was intended to be the recommended OS for the pi.

However it has come out a little half baked. After booting the device and following the setup instructions i was never able to log in. Apparently this is a known bug but it took me a long time to find this out. I ended up repeating the SD card copying step a number times on something which was a bug. Not a great start… was fun though.

Eventully i downloaded the debian sqeeze image the foundation is now recommending. It booted quickly and has been pretty good. I fired up the graphical desktop (startx after loggin in) and set up the chromuim browser. I have also installed OMXplayer for HD video playback and explored the web from the command line using lynx. I quite enjoyed figuring out how to navigate to the bbc radio product and download the latest “Digital Human” podcast. Playing it back on one terminal while browing the web and writing this review on two others!

So far i have spent about 5 or 6 hours in the company of the Pi, in this little time i have greatly enjoyed getting back to something simpler. Writing this little review in nano has been fun. I have also learnt alot more about using linux from the command line and i understand more about how a computer boots.

I dont know if the Pi will take of, but i hope it does. Right now its not really suitble for the feint hearted. But give it a bit of time (and better support etc) and i dont see why this cannot do for modern computing what the BBC micro did for computing in the 80s.

Now i just need to figure out how to post this to my blog….

Published: 1 June 2012 | Categories: Permalink

HTML Responsive Images Suggestion.

Update: Thanks to bruce lawson for linking me to a wonderful little article discussing why we cannot have a block image tag!

I have been thinking about responsive images recently after loosely following various dicussions around the web. While i was thinking about it i had an idea for a very simple (probably too simple) syntax which allows for describing variations of an image asset.

The suggested markup is still an image tag, however it is now a container tag and it can contain <vary> elements. The <vary> element defines the structure of the variations. I have not thought about how these variations are requested from the server yet (different URLs? Naming conventions? headers? dunno!). Effectively the suggested tag just informs the browser of which variations are avaliable and then the browser picks the best fit. For example, it could go for the closest to the size it needs, or to the smallest etc.

In order to seperate content and presentation, the new image tag only describes the content (and the variations which are avalible), and CSS would still define its rendered size.

So for example:

 <img src="lion.png" alt="a photo of lion">
 	<vary on="size"  options="244px, 500px, 800px, 1000px" />
 </img>

This tells the browser there is an image, source is lion.png. There are 4 sizes avaliable (244, 500, 800, 1000 pixels in width).

This could work stand alone (eg, pixel double screen use it to find the best quality for the display in use) or combined with CSS can be used for responsiveness.

For example, if the css was simply:

 img { width: 100%; }

Then the browser would request the closest image size at page load and then as the image changes size it would request other images if required to keep quality constant etc.

The vary tag could also be used to describe other variations (sensors) such as bandwidth, connection type or content. For example:

<img src="lion.png"alt="a photo of lion">
 	<vary on="size"  options="244px, 500px, 800px, 1000px" />
 	<vary on="connection-speed"  options="100kbs, 150kbs" />
 </img>

Here, each variation of size also has a highly compressed versions suitible for connections of less than 100kb/s and a less compressed version for faster connections.

I am not entirely sure “on” is the best name for the attribute, target or group may be better but i liked on as it read like a sentence which makes remembering the syntax easy. “Vary on size, options 250, 300, 450” is just the sort of thing i think as i am coding.

I hope this suggestion is of some use, i am sure i have missed some obvious stuff but thought thinking simple might generate some interesting discussion.

Published: 22 May 2012 Permalink

4 Devices, 3 Connections.

There are two personal tech trends which i find interesting. The number of devices i own and the number of internet connections to support them.

A quick chat to friends and family confirmed my suspicions. Owning multiple computers and devices is becoming normal. My partner and myself both own 4 computing devices of different types. We each own a laptop, a smartphone , and an iPad. We also share a desktop.

Each machine has its own purpose. For example we use our laptops mostly for writing and chatting online. Our smartphones for on the move browsing and listening, tablets for consumptions (films, books, watching F1) and finally the desktop for heavy tasks such as gaming and software development.

I’m not sure if combining all of these devices into one magical device would work all that well. One thing i have considered recently is to sell on my smartphone in the name of simplicity. I dont need to be able to tweet from a lift and check email on the move.

It is possible the tablet and laptop may converge. While i am happy enough tapping away on the iPad the lack of a pointing device makes writing an exercise in frustration for me. Untill i find text input more paletable the iPad wont be replacing my laptop. However, as thats all i now use my laptop for i wont be replacing it for the forseeable future. I’m genuinely hoping to get 5 years usage out of my current laptop!

Perhaps, once it’s time for an update the iPad will have usurped it and it will never be replaced. Wow, that’s a moment for pause. This could possibly be my last ever personal laptop….

It’s not looking all that great for the desktop either. It’s used for three main purposes (Gaming, media serving and development). Our gaming behavoiur is moving away from the desktop at a pace, i can see a future where media is served from the cloud which leaves only development. The reality is, these days i dont do much of that at home anyway.

Interestingly, the only device which i dont see being replaced in the future is the iPad. Ironic considering when i brought it i was pretty convinced i had no need for such a thing.

So in summery right now i am a 4 device guy and i see many others moving that way. However, people seem to be upgrading devices less often.

3 Net Connections.

Alongside having four devices, i have 3 net connections each with different providers. Though, i didn’t engineer the diferent providers situation on purpose.

I have a landline broadband connection, a data plan for my phone and a seperate 3G dongle. All the plans are of a resonably similar price. The broadband connection is shared and costs me less than £10 a month. The 3G dongle is even less (about £5) and finally my phone data plan sits in the middle (£8 a month).

Again, these three connections provide different things. The broadband connection is my high bandwidth fast connection at home. Used for most net traffic, downloads, streaming and the like. My phone connection is always with me and offers convenience and finally the 3G modem is cheap enough it’s worth keeping as a backup and for connecting my laptop on the go.

Personally i see all of these connections being combined into one device capable of providing and sharing a fast connection at home and on the move. That device may just be my next iPad…. If i need to download anything truly massive (such as iTunes purchases) then i can use the free connection in the local shopping centre, or in work. Though, that said, with the connections being as cheap as they are. There is no immdiate rush to be rid of them.

I suppose, where i am now may just be the limit of what i think i can handle when it comes to devices and connections. 4 devices seems pretty absurd and i expect at least one will never be replaced. 3 connections is pretty mad but then with the low cost and high convienece it’s no bad thing.

In my personal future, not far out (3 years perhaps) i think i will own less devices and pay for less connections. If i had to guess i think the iPad would take over and with it a single mobile data plan for use at home and on the move.

Published: 21 May 2012 Permalink

Older Articles

Newer Articles