July 31, 2010

links for 2010-07-31

  • I think this article makes a good case that Detroit should be the city that Liverpool is looking to as a kindred spirit, rather than chasing Shanghai tower blocks.

    "Detroit will re-invent itself and prosper through the help of makers, thinkers, and entrepreneurs who thrive while operating on a lean budget, without the bloat that has caused the demise of many of our once-venerated large corporations. True, lasting change cannot happen overnight, but with a little patience, room to operate, and a lot of sweat, we can entice both our young people to stay in the area and help in this reinvention while enticing other artists and makers — who may be claustrophobic operating in other cities — to stretch out and make Detroit their home."

Posted by delicious at 09:02 AM | Comments (0) | TrackBack

July 29, 2010

links for 2010-07-29

  • "The first step in those efforts is to stop seeing the systems we depend on as out of our control. They aren't, and that we're so convinced they are is a testament to the dedication of the powers that be to shoo us away from interfering in their profits.

    Cynicism, boredom and fear are their tools. They reinforce, at every opportunity, the idea that government is broken, that civic engagement is for dupes, that real rebellion involves shutting up, making money and spending it."

    Ostensibly a look at the Transition Town movement and postulating that it's targetting the wrong problems, but in addition to the green agenda this could almost be a manifesto for civic renewal.

  • Another cheatsheet for git. One of these days I'll use it enough to get my head round it and not need to look through these things whenever I'm doing anything with it.

  • Handy wiki to track what sort of SIM to get when you're visiting a different country

Posted by delicious at 09:03 AM | Comments (0) | TrackBack

July 20, 2010

Unmaking Urban Mistakes

John Tolva has written an excellent essay (it's a bit long to be a blog post really) entitled Lessons from unmaking urban mistakes. In it he looks at how the inner-city highways have improved traffic throughput in the city, but at the expense of the human-scale interactions, and also looks at how the highways affect the surrounding architecture.

It's a difficult problem to solve. When I travel around the city by car then it feels like it's quicker on the trunk roads, although given the number of sets of traffic lights, maybe it isn't. Here in Liverpool the docks and the Pier Head feel cut off from the rest of the city centre by the six lanes of traffic on the Strand. The problem is even more pronounced when you get to the north edge of the city centre and the inner-city motorway that is Islington. I think the resurgence of city-centre living would have bled out to the north much more if there wasn't this huge gulf of inhospitable tarmac in the way.

Is the answer better public transport, maybe an underground system to provide capacity without taking up surface space? Or to separate the cars and pedestrians? If the latter then we'd need a better solution than the desolate pedestrian subways and underpasses that resulted when we tried that with the new towns in the 1960s and 1970s.

Maybe block-level one-way systems help - basically separating the carriageways of the highway to adjacent streets so that there are fewer lanes of traffic for pedestrians to navigate at any one time. That seems to work reasonably well with Dale Street and Chapel Street in Liverpool (although these days Chapel Street has reverted to two-way traffic).

As you can see, I don't have any answers to these questions yet. It's just something I ponder about in some of my thinking on how to improve Liverpool. And the question is made all the trickier because the solution needs to work with the existing fabric of the city - demolishing and rebuilding swathes of the city are only likely to generate a different set of unintended consequences.


Posted by Adrian at 11:34 AM | Comments (0) | TrackBack

July 11, 2010

Arduino Dev Camp: Your Favourite Library

Yesterday I was down in Oxford at the headquarters of RS Components for the Arduino Dev Camp unconference.

As it was an unconference, I'd spent the few days beforehand trying to work out what I should talk about at the event. Usually I'd give my Getting Started With Arduino talk, or maybe something about Mazzini and energy monitoring, but I figured almost everyone would already know about Arduino, and I knew Nigel Crawley was planning on giving his ecoduino talk.

So I decided it might be useful to chair a discussion about non-core Arduino libraries. There are lots of add-on bits of code written by all manner of Arduino enthusiasts which haven't made it into the core Arduino distribution. I've often only heard about them from chance conversations with fellow Arduino coders, so I thought it would be useful for people to share the libraries that either they'd written themselves, or that they'd found useful in their projects.

Michael Margolis (who has written a number of libraries, including the Servo library now part of the Arduino core) helped to run the session, so we started off with some insight on the process taken to get a library accepted into the core distribution. There are broadly three phases:

  1. An Arduino user writes a library to help with a problem they've got. They then release it somewhere on the Internet and post a link to it on the forum and/or playground. The forum tends to act as a place for the community to discuss the library, provide feedback, make suggestions, etc.
  2. The first level of "recognition and approval" from the core Arduino team is when it's highlighted and pointed to from the Arduino blog.
  3. Finally, once the library is proven to be popular and robust, the Arduino team will generally approach the library writer and work with them to bring it into the core distribution.

That led into some questions about whether libraries are usually developed by individuals or in collaboration - with consensus being that is was usually individuals, but for no particular reason; some wondering about what the CPAN of Arduino is (i.e. the central location to find what's available) - in retrospect (mainly from my preparing this write-up) I think that's the Playground area, maybe we need more pointers in the forum to encourage people to add new libraries to the Playground; and also some debate about how you add features to existing libraries, or do versioning of libraries - no real solutions were found, but I suspect this will become more of a problem over time as the amount of code available increases.

The "sharing of useful libraries" became mostly Michael and I describing the libraries we'd written, although I also brought up Jordan Terrell's DHCP library (because it's pretty essential for any serious Internet of Things project)

Michael's libraries are:

  • Time. Lets the Arduino act like a clock. Needs the time to be set somehow, but that can be from GPS, an RTC chip, an NTP server, the user... (and there's example code for most of those included with the library)

  • GLCD a library to control graphical LCD displays

  • Alarm. Part of the Time library now, lets you call a function at a configured time/date

  • ServoDecode. A library to decode signals from a RC controller

  • TextFinder provides a set of utility functions to make it easier to parse through text received over serial or via ethernet. It lets you search through for given keywords, converts strings into integers or floats, and even help with simple XML parsing.

  • There's also a "Print to file" library to make it easier to switch from outputting to Serial to outputting to a file on an SD card, but that's not on the playground yet.

The libraries I've released aren't on the playground yet (that was one of my big take-away messages from the session), so the links are to my Google code page.

  • DNS client. This is an add-on to the core Ethernet library, and works well alongside Jordan Terrell's DHCP code. Get the DNS server address via DHCP and then use the DNS client to resolve names like "arduino.cc" into IP addresses

  • HttpClient. A library to simplify making requests to web servers, and parses some of the response to extract things like the status code (200, 404, etc.) and the length of the response. Works with Michael's TextFinder library too, and when combined with the B64 library can do basic authentication

  • B64. A library is rather a grand term for this, but some simple code to perform Base64 encoding. Used by HttpClient to perform basic authentication.

  • AtomDateString A library to parse and compare dates in the format defined in the Atom specification.

We also discussed what libraries might be useful, but that we didn't think exist at present. JSON or XML parsing would be useful for interacting with the Web, but the issue there is parsing in a single pass and not storing lots of data in memory (because there isn't enough available) - TextFinder can help with that sort of task, and Michael would be more than happy to discuss extensions or amendments to help with that sort of task. The other suggestion was for a POV (Persistence of Vision) library, which sounds like a useful one given the popularity of POV projects.


Posted by Adrian at 12:35 PM | Comments (0) | TrackBack

July 10, 2010

links for 2010-07-10

  • Interesting software to provide a mobile-phone cell hooked up to broadband. Not clear what hardware you'd need to pair it with to get it working.
  • An interesting (as they so often are) essay from Adam Greenfield wondering what the future of the city might look from a technological and ubicomp perspective. I wonder what Liverpool would be like if there was such a bug-tracking-system for the city... Some good comments too, which pull at the fact not visible in the main text - that Adam is thinking about this not just from a techno-utopian viewpoint, but from a realist someone-will-build-this-sooner-or-later perspective where it's better to be engaged and involved in it and helping shape it in better (egalitarian, secure, civic-rather-than-purely-commercial) ways.
  • "A paving slab that says “20 Tonne Crane” is not the same as a 20 tonne crane."

    A lovely piece looking at the difference in approach to regeneration of two dock areas of Leeds.

    "When a building is first made it belongs to the builder, the architect and their paymasters. They alone can tell stories about why and how it came into being in its pristine form. But over time, the balance tips in favour of the place’s users, its neighbours and even to passers-by. Their stories become the building’s stories and the building’s stories become inspirations, symbolic of the city’s authentic character."

Posted by delicious at 09:03 AM | Comments (0) | TrackBack

July 07, 2010

links for 2010-07-07

Posted by delicious at 09:04 AM | Comments (0) | TrackBack

July 05, 2010

Finding Books from Amazon in Liverpool Libraries

Toxteth Library, which has just been fully refurbished, is a lovely building and only a few minutes walk from my flat. Each time I pass it I think that I really should make more (or even some) use of it.

Toxteth Library

I've had a couple of ideas of how that might happen, and last night found some time to have a play around with the Amazon API and the library catalogue. More on that as and when I get it finished, but my experiments reminded me of the Library Lookup service that Jon Udell pulled together years ago.

What the service does is provide a one-click way to find out if any book that you're looking at on Amazon is available in your local library. Saving you the expense of buying it, whilst supporting your local amenities.

There seems to be a problem with one of the services that LibraryLookup depends on, so the initial lookup for Liverpool that I generated didn't work. However, it wasn't too tricky for me to work out how to fix things, and in case anyone else finds it useful, here's the bookmarklet:

Liverpool Library Lookup

Drag it to your links bar, and you'll be able to click on it whenever you're looking at a book on Amazon and want to find out if it's available locally. If you don't follow what I mean by "bookmarklet" or "drag it to your links bar" then have a look at the Bookmarklets 101 screencast that Jon Udell also put together to explain it all.


Posted by Adrian at 02:47 PM | Comments (0) | TrackBack

links for 2010-07-05

Posted by delicious at 09:02 AM | Comments (0) | TrackBack

July 04, 2010

links for 2010-07-04

Posted by delicious at 09:02 AM | Comments (0) | TrackBack