As an experimental work project, my team is evaluating the yubikey as a 2 factor authentication device for login.ubuntu.com. The user interface suggested by Yubico leaves me wishing for something better. Here is an idea I have, please let me know your thoughts.
Imagine you have a list of categories and you want to sort them by popularity, so that the most used categories are first. Django’s documentation left me scratching my head a bit. It took some time and fiddling to work out a good way to do it, I hope this is helpful and clear to you.
PHP is a programming language for web applications but Django is a full-fledged framework that provides database abstraction, caching, authentication and a host of other services. Comparing the performance of the two is not a fair, apples to apples comparison. However I want to do it in order to better decide what I should use for an application.
I created a light-weight HTML page, a “hello world” php app (no db or sessions) and a light weight “hello world” django app using mostly default values (sessions are enabled). I then ran the apache benchmark (ab) on the three using a small VPS w/ 512 MB of RAM from localhost (so no latency is involved giving ideal conditions).
I found a great article on using mod_rewrite to send mobile browsers to a special page or site. I modified it to do the inverse as well. You can use the rules demonstrated in there to send mobile browsers to your mobile site and you can use the rules below as an inverse to send desktop browsers from your mobile site to your normal site.
This week two exciting things happened in the open source world. Drupal 7 beta was released for testing and Ubuntu 10.10 was delivered. It just so happens that the timing couldn’t have been better, because Canonical debuted a new feature that lets you test Ubuntu Server Edition in the cloud free for one hour.
If you’re like me then sometimes when you are look at an XKCD cartoon you wonder where the horizontal center axis of the cartoon is. For example, some strips are drawn in such a way that what appears to be the middle is not actually the middle.
The trick to finding the middle is to realize that the button “Random” is centered in the column and that the downward stroke of the letter D is the center of that button. Therefore just visually follow the downward stroke of the D in Random and that is the center of the strip. Here’s an example:
I don’t yet know a trick for finding the visual center of an image but I’ve never really felt compelled to do so, and I could always use a screen ruler if I did.
If you’ve tried out the just-released version of Eclipse Helios and within minutes of startup it dies with a RenderBadPicture error there’s an easy solution. Here’s the error message:
The program ‘Eclipse’ received an X Window System error.This probably reflects a bug in the program.The error was ‘RenderBadPicture (invalid Picture parameter)’. (Details: serial 22386 error_code 172 request_code 152 minor_code 7) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the –sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.)
SSDs are replacements for common (aka old fashioned) hard drives. They’re better in every way except their cost. Even the lowest performing SSDs are twice as fast as hard drives and they have no moving parts so are more resilient in a mobile computer.
For most users, an SSD is an extravagance. Until now. A typical consumer will be just fine with 30 – 60 GB of hard drive space. I base this on annecdotal evidence from those I know. A modern fresh computer installation takes about 5GB. A large photo collection adds 5 – 15 GB and a large music collection 10 – 20GB more. Documents, email and work often take under 1 GB but on a very busy person’s system make take as much as 5GB.
I’m excited to share that I’m changing jobs at Canonical. I’ve been working as the Ubuntu.com webmaster for four years. I’ll be changing to a web developer on a different team. More specifically, I’ll be kind of a front-end web developer working on theming and the likes.
When I started at Canonical there was under 50 employees and the webmaster job description was quite broad. Over time as the company has grown and more people came on to help in various aspects my role became more of a marketing job, making content changes and running web reports. I was spending less of my time doing tasks where I excelled.
It’s kind of a lateral move. I’ll be switching to the team of developers responsible for managing our internal apps. I’ll continue to work on the Ubuntu.com infrastructure including Drupal, WordPress and Moin Moin as before. However this job is explicitly about developing custom application solutions. Someone else will be hired to take on the roles of managing the content and reporting for the website.
For those of you who are my colleagues in the Ubuntu community (i.e. not Canonical staff) our relationship will not change – I’m still the contact. As a matter of fact, there is a lot about my job that isn’t changing. I mostly get to focus on the parts I love.
This suits my tastes perfectly. I’m much more comfortable thinking about HTTP headers, reducing code duplication, CSS and the likes than I am hunting for typos, ensuring headlines are sentence case and keeping on top of web reports.
There will be a job post to fill the role of webmaster. If you’re interested in it, let me know and I’ll send you the details when they’re finalized by management. If you know me you know how to contact me privately and I think that would be the best method to express interest in the job.
Today I saw two items come across my radar that were unrelated but connected when it comes to the concept of mobile device fragmentation as it relates to software developers’ API stability.




