Xaprb

Stay curious!

Archive for the ‘Commentary’ Category

Computer Science students, learn to write!

with 31 comments

The single most important skill I learned in university while getting a degree in Computer Science was how to write better.

Everything important you do in your professional life is about communication. The ability to write clearly and concisely, with at least approximately correct grammar, spelling, and punctuation, is vital.

Despite what some people say to me on a regular basis, I am not “a natural” at this. I thought I was when I entered college. People had always told me what a great writer I was. Fortunately, I took some courses with tough teachers who crumpled up my shoddy writing and shoved it somewhere unspeakable, until I became less arrogant. I still have characteristic patterns that editors correct, so don’t think that I’m claiming to be a great writer even today. I just worked damn hard at it. Some of my best teachers were not English professors. They were history TAs and engineering ethics professors and chemistry lab assistants. I still remember when my history TA read my paper aloud to the class and said, “this is a great example of passive voice and why not to use it.” I had gotten through my second year of college without knowing what passive voice is, and I used it in practically every sentence.

It troubles me that a whole generation of engineers graduating today, sometimes even with advanced degrees, simply can’t communicate. It goes beyond the difference between “their” and “there”, or “its” and “it’s,” although those are pretty rampant sore spots too. It is about the structure and process of the thought that created the writing. Their writing is uninteresting and flat at best, and complete gibberish at worst. I don’t know how they are ever going to design safe bridges or air traffic control systems, or if they do, how they will ever get anyone to take them seriously.

So my advice is to skip a CS elective or two, and take some humanities courses, preferably by asking the department chair who is the biggest pedantic miserable fascist sonofabitch in the department, and suffering through those classes. Take history, religion, English, poetry, whatever it is that requires a lot of writing and will be graded harshly. And don’t assume that your high-school courses have taught you very much. I’ve seen a lot of what passes for excellence in high schools, and it’s not good enough.

Some of the best technical workers I’ve ever met were good at their jobs because they could communicate. One of the best DBAs I know was a French major.

Computer Science students, learn to write, and it will pay you back richly. Much more richly than that plum job at Google you’re dreaming about. Or is that “about which you’re dreaming?”

Written by Xaprb

August 4th, 2011 at 10:58 am

Posted in Commentary

Measuring open-source success by jobs

with 8 comments

It’s notoriously hard to measure the usage of open-source software. Software that’s open-source or free can be redistributed far and wide, so the original creators have no idea how many times it’s installed, deployed, or distributed. As a proxy, we often use downloads, but that’s woefully inadequate.

I’ve recently begun trying to figure out how many job openings are mentioning various open-source projects. I think that this might be a better metric because it’s driven by the end result (usage), rather than intermediate processes (downloads, etc). I think that it’s likely that usage and demand for skilled people is somewhat realistically related.

To be more concrete, I’ve been watching RSS feeds from job posting aggregators for several alternative versions of MySQL: Percona Server, MariaDB, and Drizzle. It appears that Percona Server is by far the most in-demand in terms of job skills. (I haven’t seen a job posting for the others at all, so far.)

On the other hand, my sample is skewed; I think Percona Server is better known in America, but MariaDB might be more visible in Europe. And I’m not sure that the sample data set is large enough to be statistically significant. Percona Server jobs are utterly dwarfed by MySQL jobs.

There are other flaws in my method: some software doesn’t really need as much manpower to run as others. I would say that given an equal number of WordPress and Drupal websites, more of the Drupal websites are going to be trying to hire experts to manage their sites. So nothing is apples to apples.

What do you think about this metric and its merits or drawbacks? Is there a better way to figure out how much adoption a project really has?

Written by Xaprb

July 4th, 2011 at 8:15 pm

How I ended my trial of Gnome 3

with 18 comments

tl;dr version: I like XFCE better than Gnome 3.

I wrote previously about trying out Gnome 3. I’ve been using it for about a month now, and it’s time for me to make a decision about whether to keep using it or revert to Gnome 2. I’m actually on vacation, which ends soon. I need to do this before vacation ends, so I can be fully productive at work.

My ultimate impression of Gnome 3 is that it’s very slick, and makes significant improvements in some ways, but it’s not very usable for my purposes, and has too many self-contradictions. I still have the complaints I listed in my earlier blog post, such as the identity crisis between keyboard and mouse use. It is geared to keyboard control in some ways, but not enough to really work, and at the same time it’s hard to use it with the mouse. For example, it wastes space on items such as huge thick titlebars (what is that for, if not for the mouse to grab?). Yet window borders are only 1 pixel thick, which is very hard to grab with the mouse when I want to resize, and there are no minimize buttons by default. And there is a big black bar across the top of my screen, which contains a lot of useless items I normally hide. At the same time, this bar isn’t configurable and I can’t put the things I actually want onto it, so it simply sits there making part of my screen unusable.

After using Gnome 3 for a while, and trying to customize it to my liking, I gave up a couple of days ago. There are simply too many things that were either designed in a way I don’t like, or don’t work as designed (bugs). At this point, I revisited my reasons for using Gnome. I used to use XFCE, and Fluxbox before that, but I ultimately decided to use Gnome because it was the default, and I want to avoid customizing my environment as much as possible. Gnome had gotten to the point where it was about as good as anything else, for my purposes.

So instead of reverting to Gnome 2, since I’m going to customize my environment anyway, I decided to go back to XFCE instead. And now I’m happy again. It’s simple, usable, functional, attractive, and fast. It’s easy to customize slightly to my taste (e.g. moving the taskbar to the bottom of the screen, Windows style). And Alt-TAB works sanely. And, I get back some of the things I always missed, such as one-click ways to maximize windows vertically or horizontally.

When Fedora 16 comes out I’ll revisit Gnome 3 and see if it has improved, but for now I’m done with my evaluation. I also just set up a new computer for my dad, who’s a Windows user, and installed Fedora 14 with Gnome 2, instead of Fedora 15. I hope the Gnome developers are able to collect and integrate enough feedback to make a groundbreaking Gnome 3 interface that still does what people expect and works the way they work, because that is the key to getting more adoption.

Written by Xaprb

June 28th, 2011 at 10:42 am