L
Welcome to my blog. I write about lots of topics, but I mostly keep it to technical and personal things.

Linux Mint 12: Oneiric Revisited

Jan. 8th 2012 21:30:55

After my disastrous experience with Oneiric left me with an ugly and half-working xfce/compiz amalgam, I promised myself that when the next version of Linux Mint shipped with the erstwhile Gnome2 fork "Mate", I'd give it a go.

It shipped, and while it changed some things that I didn't need changing (like un-unifying the gtk3 application menus), the Gnome3 experience was still unfortunately pretty terrible. The Mint folks warn that MATE is still a beta quality experience (much unlike Ubuntu, who foist their broken shit upon the masses and expect congratulations for it), and that was unfortunately a bit of an understatement.

Mint's modified Gnome3 was a decent effort, but the most annoying things about Gnome3 were the muscle-memory workflow-destroying unconfigurable changes: auto-workspace-management, completely dominating the super-key breaking any other apps that might use it, lack of true HUD support, a clock/calendar app that ditched the world-clock which I actually came to rely upon to deal with coworkers in other continents, alt-tab switching apps and changing my workspace, and broken multi-monitor support when using multi-desktops.

What did Mint fix? Well, it got rid of the shared menu, it installed some necessary things like gnome-tweak-tool by default (and gave it the unscary name of "advanced settings"), and it made everything pretty attractive by default, and enabled icons on the desktop by default. This, given the previous paragraph just wasn't enough. So I started my search on the internet once more; I knew people were living with Gnome3, but how?

Gnome3, because of it puts its eggs all in a single mod-key-bound basket, requires graphics hardware acceleration to function properly. If that's not available, it runs in a fallback mode. Some clever people discovered that the Gnome3 fallback mode is better than Gnome3 itself, tweakable under Linux Mint to give an experience almost identical to Gnome2; specifically, you get two panels, with an applications and places menu, many of the same applets from Gnome2 (perhaps this is a 3.2 or a Mint addition because earlier adopters complained the applets were all gone), a functional world-clock calendar with weather, a functional heads up system monitor, proper window and virtual desktop management, and (what I wanted in the first place) python2.7!

The very last thing I got working was mousewheel desktop workspace switching; under CCSM -> Viewport Switcher -> Desktop-based Viewport Switching, I had Button4/5 bound to "Move Left" and "Move Right", which didn't function, but swapping them out for "Move Next" and "Move Prev" got it working like a charm.

Doubts remain about how much love this fallback mode will continue to receive from Gnome as they continue to work on their terrible full version. Hopefully the distributions can step in and start to fix the remaining niggles (the unattractively large top-panel chief among them), and perhaps some will start to ship a tweaked fallback mode by default.

Err 01 on Canon 500d w/ Tamron 17-50mm lens

Dec. 29th 2011 04:55:01

On a short jaunt in Okinawa last week, I was perplexed/upset/disappointed to see that my trusty Tamron 17-50mm F2.8 lens had apparently crapped out, giving an internet-famous "Err 01: Communication between the camera and lens is faulty."

I've been using this lens for a few years now, but since I had a perfectly nice Canon 28-135mm USM (gosh is USM nice) lens with me, I just decided to use that and skip on the wider shots for the rest of my trip. Today however, I had a small bit of time to investigate.

At first, I tried cleaning the contacts on the lens and then the contacts in the camera. But they were pretty spotless already, and polishing them didn't do a whole lot. I searched around on the internet a bit, and found a tip from a telescope user who said that unseating the lens might worked. I had nothing better to do, so I held the lens release button, turned the lens slightly until "F00" showed up on the screen (meaning that comms had been lost) and snapped a photo.

It didn't error! I snapped the lens back into place, auto-focused, then unseated again and snapped, and it worked still. Bravely, I snapped the lens back into its full seated position and took a photo without argument. Finally, I completely removed the lens, then re-attached, and it worked!

I don't know exactly what was going on here. Perhaps there was some kind of software comms issue that got reset when the camera snapped the photo with the lens unseated. Perhaps I did permanent damage to my camera by using it in this way. Perhaps there is no scientific explanation for why this worked, but my lens seems to be functioning quite readily again.

Now that my service to the internet has been completed, I'm off to tst to see if I can't snap some photos!

Education and Entitlement

Dec. 15th 2011 15:56:11

A friend of mine recently left a life in an industry he never wanted to be in to become a teacher. It wasn't the university professorship he was hoping for when he put in the long yards to get his PhD, but it was a position teaching CS at a prestigious escalator school in a wealthy area.

During a recent conversation, he lamented the extent to which the parents of his students had put pressure on him to modify his course for their children. The pupils tested into the school, and the parents argued that since they were always able to get good grades in the past, the reason for their poor grades in his course was poor instruction. My friend remarked that he was not teaching at a particularly fast pace, and he expected even moderately bright students to be able to conquer the work load provided they invested a modicum of effort.

But instead, most students were failing to keep up. Not only did they struggle, but they seem to be completely unprepared to face obstacles that were not easily surmountable. You see this sometimes during the latter half of University in students for whom High School was not remotely challenging. After half a semester of vigorous complaints (shouting at parent teacher meetings) and implicit pressure from the schoolmasters, he's started to modify his curriculum significantly. On a recent test, he offered the exact problems to take home and complete, with the option of bringing in the answers to copy into the exam booklet. Students who would normally fail in a straight grading system were given high marks (in the A range), and still protested in an attempt to get more points.

This is, of course, a dangerous precedent to set in any educational setting. The point of instruction is to raise the students to some level of mastery over a curriculum, not to lower the difficulty of the curriculum to the level of the pre-educated students.

But worse than that, it reinforces an extremely unproductive behavioral response to challenge. These children will fail to develop crucial internal problem solving techniques, and fail to experience the highs of overcoming and mastering something which previously seemed alien. Students will instead learn that you can "succeed" (in the abstract sense, since the grade is not reflective of knowledge imparted or gained) through politicking alone, and will never develop the discipline and tenacity to advance the economy, let alone the frontiers of human knowledge.

The whole discussion reminded me that in order to grow in any facet of life you must at some point face difficulties head on, despite the unpleasantness incurred.

Python serialization

Nov. 1st 2011 23:56:24

Python has lots of built-in serialization methods. It has had a standard module called pickle for a very long time, and exposes its built-in trusted data marshaling routines in the marshal module. Since the release of Python 2.6 in October, 2008 it has also had a standard, well-tested json library.

Oneiric First Impressions

Oct. 14th 2011 03:15:49

Shit. Utter unusable shit.

Steve Jobs

Oct. 6th 2011 19:39:58

Buggs Bunny promised me a future that never materialized; a future with flying cars and rocket boots and Illudium Pu-36 explosive space modulators. As 2000 approached, it became clear that the world I thought I'd live in as a child would never come to pass.

What is Node.js for?

Oct. 3rd 2011 14:07:18

Ted Dzubia, an internet-notorious opinionated windbag and adept comedic writer, recently wrote a scathing post about Node.js, which was half in reply to a somewhat bizarre rant by its author Ryan Dahl on the state of software and a desire to retreat to the simplicity and stability of the Unix Philosophy.

Darkening a color

Sept. 11th 2011 22:11:14

I recently wrote a small patch for gvim to display text shadows for all text. The idea was there are lots of interesting dark background color themes that suffer from decreased color contrast by not being on a black background, so adding a text shadow would make it look better. I grabbed a very naive and fast "color darkening" algorithm from a StackOverflow response:

FP Militancy

Sept. 10th 2011 13:35:48

I really like the idea of Lambda the Ultimate, a blog/community/forum of people interested in and in many cases actively pushing the boundaries of programming languages. But there's this caustic edge to the people there that is pretty shocking.

Zeroes and Ones

Sept. 5th 2011 18:32:50

I recently went to a family gathering where a cousin of mine who was just finishing up some schooling for aviation maintenance and repair was asking me what bearing binary had on programming. He confessed that binary logic, as you'd encode on a circuit board with gates, was a difficult concept to get his head around, and he wondered how much of that was really necessary in "modern" programming.