Category Archives: Programming

Posts about programming

Extension experiment

Just recently I’ve been using Google Chrome more and more as my primary web browser, but there’s one thing that really frustrates me about it.

I tend to have a lot of tabs open, with around a dozen or so “would like to read” tabs and a widely varying number of tabs related to my current task. Even when I use several browser windows I soon find myself with 15 or more tabs in the current window.

As the number of tabs increases in a Chrome window you’re left with only the favicon by which to distinguish their contents, that’s if they have a favicon at all.

I decided that doing something about this would be a good opportunity to do a little light hacking and so set about writing a Chrome extension. It has been a couple of years since I wrote any JavaScript, and I still find the code I produce with it to be terribly ugly, but it only took an evening to whip something usable up.

There are a couple of things I’d like to fix:

  • Visually differentiate the active tab.
  • Visually differentiate pinned tabs.
  • Chrome gives focus to browser action popups and this falls through to the first anchor – I don’t like how this looks so need to do something about that. That being said I don’t actually think I want or need that element to be an anchor at all…

All that being said, I wrote this last night on the sofa and it’s already proving its worth. If I fix it up any more and figure out how to write less ugly JavaScript I may publish the code somewhere.

Approaching a Consensus on Robotics Software

I’ve been playing with Robotics on and off for the past few months, it’s an area which I’m really interested in and really enjoy tinkering.

It’s now gotten to the stage where I’ve done almost enough reading and tinkering that I actually want to start trying to put some serious robots together and to that end I’ve been looking at some of the many robotics software frameworks which are available (just look at my robotics tag on delicious for some of the ones that I’ve deemed interesting enough to warrant further attention).

I’ve been pleased to find that there’s a high calibre crop of robotics frameworks which focus on reusable and modular components built upon a Service Oriented Architecture (SOA).

Other than being good software practice to modularise ones code the crop of SOA robotics frameworks also make it much easier for hobbyists like myself to get into robotics with a reasonably priced robotics kit and offload processing to a more powerful machine.

The big three SOA based robotics frameworks which have attracted my attention through their solid reputations and many projects built on them are MRDS (Microsoft Robotics Developer Studio), ROS (Robot Operating System) and Fawkes.

Both ROS and MRDS support the Lego MindStorms NXT 2.0, which is my current vessel for Robotics exploration (an excellent Christmas present from my wife), but I’m ruling out the MRDS (despite it’s good reputation) because it requires me to run Windows.

I’m also ruling out Fawkes, though it has recently being picked by the Fedora Robotics SIG as the basis for their robotics spin, because whilst it seems like a very promising framework their new starter documentation is lacking and they don’t yet support the NXT. I will no doubt be revisiting Fawkes in the future.

Right now I’m looking at the documentation for ROS but unfortunately it seems it’s a pain to set up on anything other than Ubuntu. Hopefully it’s just that the documentation is out of date…

I’ve also started putting together a layer for Yocto to include some of the robotics packages I’ve come across and their dependencies – I’d love to build a Yocto powered robot in the near future!

Finally writing this blog post was prompted by the Robot Magazine covering MRDS and ROS recently: “THE NEXT BIG THING! Service Oriented Architectures – Two leading systems, MRDS and ROS, point to the future of robotics“.

Talking about Poky and Yocto

I just returned from an excellent week in the Pacific North West of America where I attended Intel’s Open Source Technology Summit (OSTS), our internal open source conference.

The view over the laptop was amazing

Whilst there I presented a talk on Building Using Poky; the Yocto Project Build System the slides for which I’ve just uploaded to my Talks page. This talk was a high level overview of Poky – with the aim of presenting the system to the audience in such a way that they could begin to understand how it works and how to start getting things done with it. That and to introduce the GUI I’ve been working on.

I also uploaded the slides from last years OSTS talk, Using Poky to Develop for Embedded Systems, the information there is a little out of date in places but could still be useful to folks.