The Advisory Boar (page 6)
One of the two most annoying things about
my Thinkpad X120E is that
the touchpad buttons are flush with the outer edge of the chassis, and
very easy to press inadvertently. I like the touchpad, so the
option of disabling it in the BIOS or with "synclient TouchpadOff=1"
did not appeal to me.
After reading the synclient man page, I was forced to accept that there
was no easy way to disable just the hardware buttons. That left digging
into the source code of the X.Org Synaptics driver ("apt-get source
xserver-xorg-input-synaptics", and I had to install xorg-dev,
xserver-xorg-dev, and xutils-dev as well).
The code is quite pleasant to read, and a single pass through
synaptics.c and some quick grepping suggested a likely approach.
ReadInput() handles each packet received from the device, and it calls
SynapticsGetHwState(), which in turn calls a device-specific
ReadHwState() function (ALPS, PS/2, etc.) to fill in a SynapticsHwState
struct. All I did was to set the left and right click flags to 0 after
--- synaptics.c~ 2012-07-22 13:40:01.522703354 +0530
+++ synaptics.c 2012-07-22 12:30:16.498811737 +0530
@@ -1255,8 +1255,10 @@
SynapticsGetHwState(InputInfoPtr pInfo, SynapticsPrivate *priv,
struct SynapticsHwState *hw)
- return priv->proto_ops->ReadHwState(pInfo, priv->proto_ops,
+ Bool s = priv->proto_ops->ReadHwState(pInfo, priv->proto_ops,
+ hw->left = hw->right = 0;
+ return s;
I built and installed the result (by copying src/.libs/synaptics_drv.so
to /usr/lib/xorg/modules/input), and now I have a working touchpad with
disabled buttons. Tap-to-click is implemented in software, so it works
perfectly. The trackpoint is a separate device altogether, so its
buttons (just above the trackpad) work fine too.
One oddity is that tap-to-click doesn't work at the lightdm
screen, but it works fine inside GNOME. I didn't bother trying to
figure out why.
I have been less active than usual for several weeks due to poor health,
and it came as a surprise to discover that Mojolicious 2.82 deprecated
waypoints, a feature that I used in more than one app. I couldn't find
any explanation of the reasons for the change (the commit message says
only "deprecated waypoint support in Mojolicious"), hence this note.
Waypoints were earlier considered for removal because they were poorly
understood, but were retained because sensible uses of them were found
in the wild at the time. This time, they were deprecated because their
special-case handling was in conflict with providing more control over
format detection, and because their lack could be worked around easily.
Unfortunately, subsequent changes (after the deprecation) seem to have
broken waypoints, which I discovered when going from 2.6x to 2.9x in a
single step. I chose to get rid of my waypoints rather than investigate
the problem more closely (because I suspected that the "fix" would break
It's easy to rewrite code that uses waypoints. Here's an example from
one of my apps:
The above code can be written as:
my $logs = $internal->route('/logs');
Depending on the situation, other alternatives may be available. For
example, you could just as easily declare one route for /logs, and
another for /logs/tail.
It's an easy workaround, with only minor disadvantages. If you use the
nested routes, you need a new temporary variable ($logs). If you declare
separate routes, you have to repeat the prefix unnecessarily. But that's
a small price to pay.
I was worried about the breakage at first, but Sebastian points out that
nobody else has complained in the month since the change. Given that few
people ever understood or used waypoints, perhaps nobody was affected.
My mother has been using my old Lexmark printer for many years, but it
is no longer possible to find toner cartridges for it (which is such a
shame, because it's a good printer). When the last cartridge became so
flaky that she could no longer print her tickets, she asked me to find
a new printer for her.
I thought about a cheap Samsung ML-16xx laser printer, but my recent
experience with SPL led me to
settle on the
instead. This printer ticks many of my boxes: it has Ethernet support,
automatic duplex printing (surprising, for a relatively inexpensive
printer), and a proper output tray. The downside is that it supports
only PCL6, not PostScript.
It was easy to set up the printer under Ubuntu 11.10. I chose the
generic PCL6 printer driver, and everything just worked. Delightful.
(Brother's web site does have some CUPS drivers for Linux, but I did
not bother to try them out.)
Not surprisingly, the printed output looks fine too.
I've been on the lookout for a
ever since I read
glowing review in early 2011. It was not available in Nehru Place
for several months, and I'd almost forgotten about it when I happened to
find it on Flipkart some weeks
ago. I ordered one, and have been reasonably happy with it. Here are a
The first thing I noticed was the weight. I've become so used to holding
my 1.2kg Ideapad that the extra 300g of the X120E startled me. But I got
used to it quickly. The six-cell battery and slightly higher resolution
screen (1366x768 vs 1024x600) are both pleasant upgrades, as are the
much faster processor and the extra 1Gb of RAM.
The chiclet keyboard is nice, but the spacebar refused to cooperate
until I trained my thumbs to press down very deliberately. The
trackpoint/touchpad combination does its best to make everyone happy,
but it takes up space and the touchpad buttons on the outer edge of the
chassis are very easy to press inadvertently if you use the machine on,
say, a lap. Another annoyance is the lack of an LED to indicate that the
machine is charging (there's only a power-on LED and a suspend LED).
The machine is listed on Flipkart as having FreeDOS installed. In fact,
it ships with an empty hard disk. Ubuntu 11.10 installed easily, and all
the hardware worked fine with no fuss (wireless card, audio, Bluetooth,
etc.). I was prepared for some pain, but there wasn't any.
On the whole, this is a nice little machine, and I'm glad I got one.
After the court's stern admonishment to Exide at the
last hearing, I really
thought today was the day when my arguments were finally going to be
heard (since Exide has made no attempt to settle in the meantime).
But I didn't expect today's strategy. The lawyer sent his minion to say
that he was "on his way", so my case was passed over. Then I was called
again at the end, when he had still not arrived. I requested the bench
to hear my arguments, but they said it wasn't possible today (apparently
because only two judges were there, and the panel's composition would be
changing again). So they gave me a date one month later, and I
left… and two minutes later, the Exide lawyer walked in. But even though
I saw him and turned back, the two judges were already getting ready to
leave, and weren't inclined to tarry.
I walked down to the market this evening to buy some textbooks for my
daughter's new school year. I bought three out of the six needed at the
first shop, and another one at the next. The third shop I went to had an
old man slowly adding up the prices of a stack of items, while a crowd
of customers gathered around.
In the shop was also the man's young daughter, who was doing much of the
fetching and carrying. She darted out to ask for some change from a shop
nearby, then returned and started dealing with the waiting customers. I
asked for the two remaining textbooks, and she checked and said they had
only one. Another customer asked for a certain kind of pen, and she went
to see if they had any. A third customer gave up on the man and stepped
around to her side of the counter.
Throughout all this, the father was (while still adding up numbers)
grumbling about her. When she left to find change, he complained that
she had not braced the flip-top counter correctly. When she asked him
where something was, he would reply as if greatly put upon (paying no
heed to the customers). He ignored some of her questions, and snapped
at her when she repeated herself to double-check if they had the other
She brought the textbook from a shelf to the counter. Then she took a
sheet of plastic and a roll of sellotape, and covered the book with a
few swift, well-practiced movements. She took my hundred-rupee note, and
politely asked another customer what they wanted while looking for
change in the till. When she couldn't find change, I offered to come
back for it later; but she asked if I was sure I didn't need anything
else (pen? notebook? file?), and I realised that I could use a new pen.
By this time, her father had finished with the stack, and moved on to
the next customer. Then he scolded her for being in his way.
I've always been bad at judging ages, but the girl looked only a couple
of years older than my fifteen-year-old daughter. Or perhaps it was her
spectacles that made her look older. I smiled and thanked her when she
handed me the neatly-wrapped textbook and pen, but she was already
turning away to attend to another order.
I never did get that last textbook.
I have lived without a printer or scanner for many years, but the number
of things I need to print and scan has grown to the point where going to
the market each time is painful. I am a firm believer in buying printers
with PostScript and network support, but our needs are modest and do not
justify spending enough to get a "real" printer. So I resigned myself to
paying extra in terms of dealing with CUPS.
I found two or three MFPs that suited my budget on
but was unable to find anything about Linux support for those models.
Eventually, I chose the smallest one, the
SCX-3201G, based on some positive reports about the SCX-3200 series.
Fortunately, it was easy to make it work. Thanks to tweedledee's
Samsung Unified Linux Driver
Repository and the odd
post, I installed the PPD file and the SPL filter under Ubuntu
11.04. Printing with CUPS and scanning with SANE both work fine now.
The printer itself works all right. You can tell it's meant for low
volumes. There's no output tray—it just spits paper out from the front,
and there's a non-zero risk that it'll get sucked back into the input
tray below. I would have been happier with a "real" printer, but this
one works well enough that I'm glad to have it anyway.
Update: I'm glad I don't need to print photographs. Libreoffice
and the GIMP print fine, but output is very dark and the quality is a
bit disappointing even at 1200dpi. The fault may lie with the printer,
the driver, or GIMP—or a combination thereof. The GNOME image viewer
causes the printer to spit out several mostly-empty pages with a few
control characters. I assume some CUPS incantation is needed, but I'm
happy to ignore the problem entirely. Text and line-art print fine.
Update: Sometimes, printing a PDF will also print many pages of
garbage. Most of the time, printing it a second time will work fine, but
some files always result in garbage. Unfortunately, I have not found any
way to predict when it might happen. I blame the interaction between
CUPS and Samsung's SPL filter. I have set "LogLevel debug" in
cupsd.conf, and will keep an eye on the logs.
<subliminal>Life is short. Get a printer with PostScript and
Exide's lawyer, who had asked for an extra two weeks at the
today asked for another three weeks because the Exide head office
in Kolkata has not yet approved my offer for settlement.
The forum members took a dim view of this delay, and grilled him a bit,
upon which he promptly changed his story and claimed that my offer was
unreasonable, so he didn't know yet if it was possible to settle or not.
They finally agreed to give him a last chance at reaching a settlement.
Really final hearing in April.
The downside of
always using SSL for web
sites that require authentication is the need to buy SSL certificates.
I usually don't need anything stronger than "domain validation" (which
assures you that you're talking to the server you think you're talking
to, but says nothing about how trustworthy that server may be). I'm not
a fan of the current PKI, but there are now many more choices for cheap
SSL certificates than there were a few years ago.
The last time I bought a "proper" certificate was early last year, when
I upgraded the
30-day trial certificate I was using in development to a
certificate for production. That was fast and painless, and cost about
$40. (I've also used RapidSSL a few years before that.)
Recently, I learned that
(to whom I have now transferred all my domains from GoDaddy) is a
reseller for various SSL certificate providers, including GeoTrust (the
CA behind RapidSSL). Their pricing is very attractive, and I ordered a
three-year RapidSSL certificate for $9.95/year today. That was fast and
painless too (and it didn't include the phone verification step that my
earlier RapidSSL purchases did).
I'm happy with RapidSSL so far, but I still look forward to the day when
I can distribute encryption-only certificates through the DNS.
In my last hearing at the
consumer forum, I was asked to present oral arguments again today. The
Exide chap also asked me for my phone number so that the lawyer could
discuss a settlement. He never called.
I wondered if they'd try to spring it on me in court today, and that's
exactly what they did. Their lawyer (the same one who wrote the response
to my complaint) waited until the last possible moment to ask me what it
would take to settle, so that when my case came up for hearing, he could
say he wanted to discuss a settlement, and I would be unprepared.
I protested to the bench that it was a delaying tactic, but that made me
look unreasonable (just as he wanted, I'm sure). I eventually did agree
to another hearing in two weeks to see if we can reach a settlement.
When he asked me what I wanted, I referred him to my complaint, which he
dismissed as being
always exaggerated. I said I wanted all three
batteries replaced, plus compensation amounting to a bit less than what
I had originally asked for. I also said I was very offended by what they
had said about me in their response (
unclean hands etc.), and he
just a part of litigation.
Anyway, he went off saying he would try to
bring some harmony
between Exide and me. Meanwhile, I will prepare my oral arguments again,
based on what I learned from listening to a somewhat disorganised lawyer
presenting hers in court today. I learned a lot about what not to do,
and what the forum members look for.