Oct 19, 2011
2011 has been an interesting year. Between the stupid earthquakes and the pressure of finishing my PhD, I have been silent because I have had nothing interesting to talk about (cf. twitter...).
But there is a light at the end, I'm on track to complete my thesis, 'Biologically Inspired Visual Control of Flying Robots', in December/January.
I'm excited to say that I have accepted a job at the Institute of Molecular pathology, in a research group studying the mechanisms of visual flight control in insects. Technology wise, it is a perfect fit; the experimental apparatus involves a multi-camera real-time flight tracking system and estimator for multiple targets in an augmented reality flight arena. It is open-source (ish), and python/numpy. Research wise, it allows me to investigate some of the assumptions and unknowns in the biomimetic control systems I implemented during my PhD. And it is in Vienna, 1st Feb, 2012!
This is a career change for me. In the last few years it became increasingly clear that I was morally uncomfortable with the use of UAVs as weapons (drones). Previously I had consoled myself with there existing an ethical and philosophical difference between 'the application of research' and 'the action of research'. When It came to looking for work, and considering who to work for, this difference was often eroded.
It has also been particularly frustrating being in New Zealand for the last 12 months and watching our flaccid national response to the three recent challenges here (world cup, earthquake, rena oil spill).
Technology Tidbits
This post has been brought to you by procrastination.
Oct 5, 2008
ENAC
Hi Everyone, Its been a long time between blogging but I have an excuse. I have moved from Christchurch New Zealand, to ENAC, Toulouse, France. I have now been here for a month, working with the UAV team here.
Screen Envy?
The work has been really challenging, and I have settled into my routine, working towards some things I would like to demonstrate before I leave. I have spent a few weeks doing a lot of electronics design, updating the paparazzi autopilot board, the IMU, and the GPS boards. Nothing revolutionary, just some evolutionary improvements over the previous hardware.
-
Consolidation of the interfaces between the main board, and the IMU+GPS+Radio+Motors. IMU interface is now SPI only, GPS interface is I2C only / UART only.
-
Addition of a 24bit ADC on the main board to directly measure the pressure sensor, no more op-amp+calibrate the offset at startup.
-
Physically smaller stackable board design.
A lot of this work has been done with an eye towards moving some of the off-board vision processing I am currently doing onto the flying aircraft. I have been experimenting with the beagleboard, and one of the goals of the hardware refactoring above is to free up an interface to push data between the beagleboard and the flight controller. Probably I2C or UART, I am not sure yet.
Can anyone get hold of a Gumstix Overo for me?
I am hoping to be able to demonstrate some biomimetic control responses from my onboard vision system, using image motion information. I also hope to demonstrate hybrid external position estimation system using an off aircraft 3d vision system aided (kalman estimator) by on-board IMU .
Plenty of work for me ahead.
Ubuntu
I finally managed to upgrade to the Ubuntu Intrepid beta. I was pleased to see that it contained all sorts of productivity improvements;
-
I used to waste about an hour a day keeping up with the US election news on Youtube, watching Sarah Palin insult the intelligence of all mammals on the planet with her existence. Intrepid fixed this for me by removing the feature where sound embedded in flash videos was played through the soundcard of my computer. Phew, thats a relief. I guess I will just need to go and watch Fargo instead.
-
Keeping in contact with my family via Skype was also a PITA, luckily Intrepid removed the ability for me to do that too, no sound to hear my parents nag me, and no video which would let them see me all hung over and tired.
Im sure everyone reading this is aware of that feeling when you go and use a friends brand new $2000 Windows Vista computer. The way it runs so slowly with 2GHz of processing power at its disposal, crashes all the time and takes 6 minutes to turn on. It is brand new FFS. When I am in that situation it makes me feel like the entire engineering profession has failed me.
I got that feeling with Ubuntu this week.
Conduit
Unfortunately I have not been able to work on Conduit very much over the last month, and it appears that no one else seems to have had the time to either. This upgrade pain has destroyed my motivation, and I only just recovered from the previous month, where approximately 14,000 people reminded me that the Conduit GUI made them vomit in their mouth. Some positive re-inforcement (and some help hacking) would be a welcome change about now.
Jul 17, 2008
GUADEC was effing awesome. I have successfully repayed my sleep debt, and can reflect on all that I observed and learned for the week. In bullet point form;
_Insurance for the last night (WAKE ME UP, English and Turkish) _
-
My Conduit talk went really well. I thought I was able to reach a good balance between 'this is cool for users', 'this is cool for developers', and 'this is a flagrantly useless technical demo because I can'. Following the talk, and over the rest of the week I had a number of chats with people regarding
-
Improvement hints for the UI. Thanks a lot Bastien and co.
-
What is considered a useful, and achievable, level of mobile device support.
-
Some technical clarifications on matters how to integrate into the desktop (webkit, gio, ui-via-dbus, etc)
-
Slides available here
-
I felt the reception to Conduit was positive, and I look forward to the module inclusion discussions for 2.24.
-
I was not productive on my summer of code project for that week, but I have come back with an overflowing amount of motivation to not only complete my work on binding syncml, but to also continue to add improvements that will help Conduit operate on Maemo and iPhone, and operate really well with Windows mobile devices, and Nokia devices (via gnome-phone-manager).
- Dear Team (aka lazyweb): I have quite a large conduit branch I am working on. Whats the plan with bzr-playground.gnome.org. Can I easily push my existing branch there?
-
It was great to meet some of the people I have been corresponding with over email, and have never actually seen. You know who you are!
-
Electronica Festival Istanbul was a great adventure. Thanks to all that made it happen
-
Thanks to the GUADEC volunteers.
-
The 'tab meme' on planet.gnome.org was pretty funny. I was most fooled by Davyds. (am I the only one who kinda likes this metaphor?). I was also fooled in Federico's key note, when he proposed the NET_WM_I_CAN_HAS_TABS window hint for easy window -> tab transitioning (just kidding).
-
Captain common sense awards are hereby given to:
-
Team Gtk+: For the reasoned future of Gtk+ discussion/keynote. While I was disappointed to learn aboutthe lack of canvas plans, it is not really surprising. I use Goocanvas, but I am hardly a power user, and without a chosen Canvas, I have zero motivation to switch. I would describe the Gtk3.0+ plan as necessary+pragmatic. That is a damn site better than what it has appeard to be over the last few years (stagnant+idealistic).
-
Realease Time: Nice reveal on the Gnome 2.30 -> Gnome 3.0 animation
-
The BZR vs. git thing seemed to reach a whole new level of weirdness at GUADEC. First there was team BZR, whom I shall liken to a Turkish taxi driver. They seem to promise everything, they have the hard sell on, and you can never really be sure how much the cost will be. The git team seems to be like the seasoned traveller. They are showing the finger to the taxi drivers, and generally alternate between cursing at the incompetence of the taxi service, and ignoring them with glee. Instead of discussing the price with the taxi drivers, they instead have a prepared presentation on how flying cars are actually a million times better than taxis because they look so hot.
-
I actually dont really care what I use. Im not a power user. If I could somehow pay some sysadmin money to setup a unified GNOME themed viewvc that tracked both git and bzr I would. Thats all I want - to be able to track and see what folks are up to. I wrote more about this subject here.
-
I also support the notion of 'Pick the system that makes it easiest for the distributor to work with'. That likely means git. As a thought experiment, what might be the result of choosing git, or more correctly, rejecting bzr, in the wake of the Ubuntu is moving to KDE fear meme.
-
I Didnt realize the enormous (positive) influence that Nokia has on GNOME. Positive influence is a polite way of saying 'how much money they spend on Gtk+ related subcontractors, and employees'. Apparently something cool is coming for Maemo $NEXT_VERSION
-
If I have forgotten anyone, apologies. See you all next GUADEC!
-
Does anyone look like their Hackergotchi? (and can someone make me one - if you have a photo of me, and its moderately acceptable...)
-
Funniest moments would have to be
-
John Carr with a rats tail and silver necklace!
-
Me and Marks completely ineffective adventure from one side of Istanbul to the other, with no phone, no watch, no computers, no idea where anyone is, and death by hangover.
-
The humiliation/irony of singing really bad English Kareoke in a country whose official language is Turkish.
-
I have some interesting Conduit work going to land soon
-
Officially supported Windows Mobile sync support
-
Nokia phone support via gnome-phone-manager
-
Massive refactoring to improve platform abstractions
-
Which includes a move to GIO
-
Which adds a pygtkwebkit based browser
-
Which removes the hard dependency on gnome-keyring
-
Which adds and native python file/vfs abstraction
-
These improve performance and make it a billion times easier to run Conduit on Windows and Mac.
May 21, 2008
Frantic would be how I described my last two weeks. I have had very little free time to work on Conduit. Everything seems to have come at once!
Random
-
I have been playing with barpanel, a very functional GNOME panel replacement.
-
Grape is certainly an interesting UI/desktop mock up. If I had infinite spare time I migh have a hack on it, as an excuse to play with Clutter.
-
Props to Jan Bodnar for his excellent Gtk+ and Cairo tutorials.
-
My (bad) experiences with Ubuntu 8.04 can be best described by the following picture..
Openstreetmap GPS Mapping Widget
Somewhat tangentially related to my PhD, I have been hacking on a simple Openstreetmap GPS mapping/display widget. Basically because after investigating all the existing mapping programs on linux, none of them supported openstreetmap/openaerialmap and were able to be easily embedded.
It's basically a port of tangoGPS (by Marcus Bauer) to libsoup and considerable clean-up. The whole thing is now hidden behind a derived GtkDrawingArea with a nice simple 4 function api (other parameters such as zoom, lat, lon, are accessible as gobject properties)
-
set_map_center(double lat, double lon, int zoom)
-
add_gps_point(double lat, double lon)
-
add_roi(double lat, double lon, GdkPixbuf *pixbuf)
-
get_bouding_box()
Things like double click, map dragging, scroll to zoom, etc are all handled automatically as you would expect. It caches downloaded tiles and it's pretty much complete at this point. I hope to be able to post code soon.
Mar 28, 2008
I recently came across the post; why student programmers rant about business students with ideas. Putting my ideological belief in FOSS aside, I think it eloquently describes why I chose to return and pursue a PhD after a year spent studying engineering management (like an MBA - for those North American folks).
I also think it is highly applicable to FOSS. Many successful FOSS projects are born from engineers, the 'decision to execute' has already been made. As the article mentions, 'leadership and the ability to make decisions _is _valuable, but only in groups with realizable ability to execute'. As a FOSS project evolves, the (normal?) combination of a BFDL and the constant freedom to fork keep the project relatively free of the ownership style disputes described in the post.
In reading the post and its comments, its also refreshing to see a discussion on the internet so free of rudeness.
[1] The terms engineer and programmer can be used interchangeably, in this context. They are both highly skilled, creative professions, commonly only recognized as such by their respective peers.
[2] Im obviously not so naive as to rule out the influence of money on all of this. I just consider it a baseline, and a gross generalization, that monetary incentives are less important to creative professions than to those who pursue an MBA.
Jan 16, 2008
Conduit 0.3.5: Enough Excuses
I am a terrible project maintainer. It has been a full 3 months since the last Conduit release, and I have run out of excuses. First I got distracted by online desktop shenanigans, then by Opensync and Ubuntu things. I got caught up in moving Conduit to GNOME SVN. Then I got distracted by JHBuild on windows. Finally I lost my nerve and went on holiday, not touching a computer for 3 weeks. Enough is enough!
The good news however is that there is no doubt in my mind that this is the best Conduit release ever. I'm using Conduit on a daily basis for a variety of tasks, and its looking really solid. Yes there are still some bugs, but thats life. So, no screenshots this time, just a list of shiny new features. Over the next few weeks I will be doing a series of "look what you can do with conduit" type posts, as this is probably the best way to demonstrate to folks what they can accomplish with a generic sync+conversion framework, with a focus on integration with the desktop environment and great support of online services!
-
Release Notes
-
Download
-
Report Bugs
-
Whats New
-
Move to GNOME SVN and Bugzilla
-
In memory mapping DB has been replace with sqlite based one. Should reduce memory usage during large sync's.
-
Restructure code layout to allow Conduit to be used as a library by other python programs.
-
Removed Gtk dependancy in core. Conduit command line can now be run without Gtk installed.
-
Added 'always up to date' infrastructure for automatic syncing.
-
Improved n800 support for syncing audio, video and photos to the device.
-
New AudioVideoConverter for transcoding media types (uses FFMPEG and/or mencoder)
-
Include Banshee support in configure.ac - from lool
-
Support data hashes in addition to mtimes as a means for detecting changes
-
Remove twisted dependency for network sync. Uses the built in python xmlrpc module
-
Use python logging module for better logging granularity
-
Make HAL easier to extend in dataprovider factories
-
Files that did not load correctly are shown in the preferences window to help debugging
-
Experimental maemo/hildon UI (Thomas)
-
Added iPod photos support
-
Write support in f-spot using its new dbus interface (Thomas)
-
Support tags in all datatypes (useful for images)
-
Incredible improvements in test coverage. 75% lines of core code tested (including close to 100% of the core sync engine)
-
RSS Feed source now supports video enclosures
-
Many many bug fixes as a result of test focus
As more people start to use conduit I am becoming more conservative and focusing a lot more on testing. One aspect of this is a machine I have set up that runs the test suite every time there is a commit. The other aspect is more regular releases. For the former look here, for the latter please test and give me feedback!
Team conduit is well poised for a 0.4.0 release to coincide with GNOME 2.22.
Holidays
It feels strange to be back at university after a solid 3 weeks of doing very little. I had the best summer holiday I have had in a long time. Considerable thanks must go to the weather in New Zealand, its great to finally have the good weather in December. Anyway here are some holiday snaps for those that are curious about what a summer Christmas/New Year in New Zealand looks like.
My Christmas Present
Relaxing on the Jetty
Sunset at the Bay Of Many Coves
Hunter Gatherer
Jun 7, 2007
Conduit
For all those that are interested I just released Conduit 0.3.1, the second development release in the series. The release includes a heap of bug fixes and some interesting new features including;
Goals for the next release include
The thing that keeps me interested in conduit is the speed at which we are progressing. Each new dataprovider added has a benefit proportional to the number of already included dataproviders; for instance adding evolution support opened up the ability to do tomboy notes <--> evolution memos, as well as evolution memos <--> ipod notes, etc.
Gnome Link Drop
Here are some interesting things on the horizon that made me excited about GNOME and gtk. Delegated to people with more free time and ability than me!
Anyway, Im still on holiday, and loving it!
May 4, 2007
So I thought I should spice up my blog with a post about non nerdy stuff. Currently I am travelling around Europe and will continue doing that until about June/July at which time I fly to Canada.
I was initially planning on doing a University exchange at the University of British Columbia but have since decided to take up a PhD at the University of Canterbury. I will (hopefully) be working on UAV stuff, likely machine vision related, in the Geospatial Research Centre at the university, beginning on the 1st of August.
Travelling by car across Europe by car is so far been exceptionally awesome. Have me some cool characters and have certainly become a better driver. It has allowed us the freedom to go where we want, and when split three ways, has been just as economic as train travel.
Nov 15, 2006
Like many people I am becoming incredibly frustrated with the way that science is twisted for political and religions means. It is good to see that this latest pseudoscience article wrongly dismissing climate change from the Sunday Telegraph has been debunked.
"[The Sunday Telegraph Article] is a dazzling debunking of climate change science. It is also wildly wrong... In keeping with most of the articles about climate change in [the Sunday Telegraph], it is a mixture of cherry-picking, downright misrepresentation, and pseudo-scientific gibberish. But it has the virtue of being incomprehensible to anyone who is not an atmospheric physicist... As for James Hansen, he did not tell the US Congress that temperatures would rise by 0.3C by the end of the past century. He presented three possible scenarios to the US Senate — high, medium, and low. Both the high and low scenarios, he explained, were unlikely to materialise. The middle one was 'the most plausible.' As it happens, the middle scenario was almost exactly right. He did not claim, under any scenario, that sea levels would rise by several feet by 2000."
It would be hypocritical to place absolute faith in this one debunking (though I am certain it is an order of magnitude more correct than the original rubbish article). However the lesson is; scientific journals are peer reviewed for a reason, it allows people to have faith that what is published has a certain level of accuracy.
The Sunday Telegraph (a newspaper), by publishing rubbish like this, illustrates the gaping divide between what the general public thinks of as science, and what is actually science. Furthurmore, it is not a leap to assume that if the readers of the newspaper are now so content with the false assumptions they will also lack the necessary critical thinking skills to compare the original Sunday Telegraoh article with the new article debunking the claims. After all, critical thought is hard work for people who believe science articles in newspapers on face value alone.
Oct 27, 2006
Words cannot describe how much I am looking forward to the Borat premiere. Before you see the premiere make sure you watch these deleted scenes.
[youtube]Om7SkkN2T7c[/youtube]