Summary
- Linux user since 1998, Debian user since 1999 (mostly Debian Unstable), and started using Ubuntu in spring of 2006.
Started working for Canonical in February 2010 as a contractor working on Application Indicators.
Started as a Canonical employee on the Ubuntu Desktop Team as a Desktop Software Engineer in April 2010.
Interests
- Haskell
- Python
- Emacs
- Ubuntu
- Programming Languages
- Usability
Ideas and Wants for Ubuntu
- Latest Evolution (I hear it is faster and doesn't use as much memory)
- Ability to select a track to play from Gnome Do (not just artist or album)
- Working and non-buggy gmail/google accounts integration with the messaging indicator
- Easier and/or additional tooling around libvirt for testing and debugging of packages
- Scripts to manage the source of build dependencies of a package for easy debugging
- Including setting up gdb with proper paths
- Including setting up cscope with proper paths
- Proper syncing of gmail/google accounts contacts with Ubuntu One
Lessons and tips learned in debugging and triaging bug reports
- When there is a gap in the last known working version and the one showing the problem, either:
- start at the version prior to the reported non-working version, attempting to reproduce the error
- start at the version right after the last known working version, attempting to reproduce the error
- when you have found the version that is the boundary between working and non-working, look at the diff between the versions and start debugging there
- When debugging C code, especially event-based Gtk code, it is often easier to use printf-style debugging to trace the execution of code, rather than gdb, to find out when certain functions are called
- When using gdb, and you only want to see the value of a variable at a certain point, set a breakpoint at the desired line, and then immediately after, do something like this:
commands print var cont end
- KVM and the like are very useful for testing various circumstances like problems after upgrading from one release to another.