31 Posts Tagged 'Hardware'
X automation with xte
I learned today (via a great blog post) about xte. This program lets you simulate X Windows mouse and keyboard events from the commandline. How much more awesome can you get?
Hans illustrates how to integrate xbindkeys and xte to make KDE4 effects activate. I wanted the KDE4 "Desktop Grid" to appear when I press a mouse button (because my new mouse has a lot of buttons to spare), so this is exactly what I was looking for.
xte is the kind of glue that makes Linux awesome. KDE lets you set global keyboard shortcuts for lots of things. xbindkeys lets you assign shell commands to mouse buttons. And xte ties the two together. Possibly none of the programmers on these three tools knew about the others, but they interact perfectly to let you do anything you want.
You may be thinking, "If you want to work with KDE from the commandline, why not use DBUS?" That's what I tried to do first. But I can't for the life of me figure it out. There's some indication that we might be able to do this somday, like so:
qdbus org.kde.kglobalaccel /component/kwin org.kde.kglobalaccel.Component.invokeShortcut ShowDesktopGrid
Or maybe it's already in the latest version of KDE and I haven't upgraded yet. Either way.
By the way: could DBUS possibly have a more verbose or cryptic interface? I was hunting through the available DBUS commands looking for something that would show the Desktop Grid, and I ended up having to scan through lists of crap like this:
~ % qdbus org.kde.kwin /KWin
method Q_NOREPLY void org.kde.KWin.cascadeDesktop()
method void org.kde.KWin.circulateDesktopApplications()
method bool org.kde.KWin.compositingActive()
signal void org.kde.KWin.compositingToggled(bool active)
method int org.kde.KWin.currentDesktop()
method QList<int> org.kde.KWin.decorationSupportedColors()
method void org.kde.KWin.doNotManage(QString name)
method Q_NOREPLY void org.kde.KWin.killWindow()
method QStringList org.kde.KWin.listOfEffects()
method void org.kde.KWin.loadEffect(QString name)
method QStringList org.kde.KWin.loadedEffects()
method void org.kde.KWin.nextDesktop()
method void org.kde.KWin.previousDesktop()
method Q_NOREPLY void org.kde.KWin.reconfigure()
method void org.kde.KWin.reconfigureEffect(QString name)
method void org.kde.KWin.refresh()
signal void org.kde.KWin.reinitCompositing()
signal void org.kde.KWin.reloadConfig()
method bool org.kde.KWin.setCurrentDesktop(int desktop)
method void org.kde.KWin.showWindowMenuAt(qlonglong winId, int x, int y)
method Q_NOREPLY void org.kde.KWin.toggleCompositing()
method void org.kde.KWin.toggleEffect(QString name)
method Q_NOREPLY void org.kde.KWin.unclutterDesktop()
method void org.kde.KWin.unloadEffect(QString name)
method bool org.kde.KWin.waitForCompositingSetup()
method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface_name, QString property_name)
method QVariantMap org.freedesktop.DBus.Properties.GetAll(QString interface_name)
method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value)
method QString org.freedesktop.DBus.Introspectable.Introspect()
This is line noise to me.
Dell: the aftermath
In a previous post I outlined the ways in which Dell's customer service sucks. I finally got my computer yesterday, a Studio XPS 9000. Here are my first impressions.
Dell sucks
Why did I order a computer from Dell? I guess I had a good opinion from 6 years ago when I last bought something from them.
Let's count the ways in which their customer service has failed me. (And my computer isn't even here yet.)
As documented, their website couldn't process my credit card without a phone call.
After a week of my computer being "in production", I started getting more phone calls from an unidentified phone number that Google told me was Dell. Fearing another billing problem, I called back. And I was told "Thanks for calling, but our order tracking system is down. And we're all going home. Call back tomorrow morning.".
If only Dell had some means to acquire reliable computer systems on which to build their order tracking database.
I called the next day and was told my order was fine. I was also told (per script, I'm certain) that I could check my order status on Dell's website. Which of course I knew. I know it costs the company money every time someone calls, and they try to strongly discourage calls for that reason, but their script made it sound like I was an imbecile.
I found it quite condescending. I dislike these canned scripts pander to the lowest common denominator of customer. They should be happy to take my call. I just spend upwards of a thousand dollars on their crap.
Turns out the phone calls I was getting were from someone trying to give me "free internet from Shaw or Telus for 3 months", and I was eligible because I bought a Dell computer. So I was being telemarketed before my computer even got here.
I said I already had internet service, and they said "Oh, too bad, it's for new customers only." I do not appreciate this.
I got an email saying my order shipped. Joy! 20 minutes later I got an email saying my order was delayed, and if it didn't ship in 5 days I should call. What?
It really did ship though, I have a tracking number. Why the contradictory emails?
All of my phone dealings with Dell were via some offshored far-eastern country, judging by the accents of the phone reps. I have nothing against this in principle; I'm not a xenophobe. But the phone connection is always so static-filled and laggy that it really puts a damper on communication.
My computer isn't here yet, and I just hope to God it works and doesn't break in a month. I kind of wish this article had come out a week earlier.
That'll teach me for trying to save time, I guess. Next time I'll build my own system from scratch. Dell goes onto my List of Companies Not to Buy From in the Future (LCNBFF), along with Westinghouse and oh so many others.
DD-WRT: 1, Microsoft: 0
An xbox360 wireless card is $100, and it's theoretically the only wireless card that works with an xbox, so if you want wireless internet, you have to buy that card. I guess the idea is to sell the console cheap (for sufficiently large values of "cheap") and then gouge customers on proprietary cables and addons afterward. Microsoft isn't the only company that does this, by far. (Not nearly as bad as $20 for 8MB worth of PS2 memory card. Ughhhh.)
Fortunately, if you have a spare Linksys router lying around (as I do) you can throw DD-WRT on it, put it into Client Mode, connect your xbox to the router via a bit of ethernet cable, and there you go. I can also plug my aging desktop machine (sans wireless card) into the same router, and two other devices if I can find any.
Installing DD-WRT was surprisingly straightforward if you take the time to read through the wiki instructions first very carefully. A bit of healthy paranoia of turning your hardware into a brick goes a long way.
15 minutes, $100+ savings. Thanks again, Linux and open-source community.
Crackberry Acquired
All I ever wanted out of life was to SSH to my computer from a cell phone. That dream has finally come true.
Up to this point I have not owned a cell phone. I bought one a few years back, then I returned it and got a refund because it was pointless. Communicating with other human beings via spoken voice? How trite. My current employer gave me a phone for free but I never used it.
But nowadays cell phones are pretty much mini computers that happen to be able to make phone calls as a side effect. I almost got an iPhone, but I am very wary about hype. Apple's business practices turn me off; the app store is a shystering waiting to happen, their crappy proprietariness makes me puke, their overblown marketing and "image" makes me puke even more. I don't want an MP3 player in my phone; my Cowon D2 is far superior to any silly iPod. And as I tried the touch screen keyboard, I quickly realized that the Blackberry's physical keys win in that category by a mile.
So I got a Blackberry Bold and I'm pretty happy with it so far. I have yet to make a single phone call, but I've put it to good use. I installed all kinds of silly stuff on there, including an SSH client so I can do system maintenance while driving. (Not really, don't worry.) I can look at Google maps when I get lost, which happens embarrassingly often in my car. I can look at Slashdot from the sushi restaurant. I can get the weather updated every 15 minutes, which saves me from rotating my head 25 degrees and looking out the window.
I still object to certain cell phone things on principle. Paying $3 for a 15-second song clip as a ring tone for example; the insanity of this is almost physically painful to me. The Blackberry let me set any old MP3 I wanted as the ring tone though, which is nice.
Paying for text messages is almost as painful. How can it cost a quarter to send 160 bytes of text to another phone, when the whole freaking internet costs orders of magnitude less? How do cell phone companies get away with this? It's such a racket. But I can put IM clients on my phone and use email and I have "unlimited" data transfer each month, so that's nice. (And I really grilled the salesperson about what "unlimited" means. She said some people go into the gigabytes of transfer each month without consequence, so it looks like I need to find a torrent client now!)
Maybe one of these days I'll call someone. What a novel concept.
Unicomp Customizer keyboard review
I got my Unicomp Customizer 105 in the mail today. This is a keyboard using the same technology as the infamous IBM keyboards of yore.
Why?
The Customizer is an enormous blocky hunk of hard black and grey matte plastic. It is the very antithesis of modern, soft, rounded, Apple-esque fashion. It has no "multimedia" keys, it doesn't glow in the dark, it doesn't have a built-in USB hub, it looks distinctly 80's-ish, and it costs $70. Why on earth would anyone want this thing?
A couple of reasons... one is that it's a status symbol of grizzled old hackers. This keyboard has gotten a lot of good reviews, e.g. last year on Slashdot, but I've heard the sentiment repeated elsewhere. There are stories of people rescuing old IBM keyboards out of dumpsters and selling them on ebay.
If it was simply a status symbol I would look away without a second glance. (Which is why I own a Cowon D2 and not an iPod. I like to research my purchases to the point of paranoia.)
But the popularity seems to be backed up by real functionality and build quality. These keyboards have a reputation for being great to type on due to the unique feel of their buckling spring "clicky" keys, and for being indestructible, with some keyboards still in use after two decades. So I decided why not see for myself?
A keyboard is the main tool of my livelihood and one of the main tools of most of my hobbies. It makes sense to try to get the best tool for the job. The three most important parts of a computer in my opinion are the keyboard, mouse, and monitor. CPU? RAM? Hard disk space? I'll take whatever you give me. But the things I interact with on a constant basis, I want those things to be comfortable.
Clicka clicka clicka
Yeah, this thing is clicky. Even after all the reviews, I was unprepared for just how clicky it is. You can feel the click of each keypress in your fingers and hear the clicking from 3 miles away.
I tried pushing a key down slowly to make it click without activating a keypress, and I found it very difficult if not impossible. You can always tell when you've successfully pressed a key on this keyboard: if it clicked, you did; if it didn't click, you didn't.
One bad thing about the clicking is annoying everyone in the room with you. I'm a bit worried I'm slowly going to drive my wife insane.
Finger workout
The keys have a lot of weight to them compared to the mushy feel of modern keyboards (which usually use some rubber or plastic dome under the keys). The Customizer's keys have little springs in them, and you can feel the keys pushing back on your fingers as you type. It feels much different than any other keyboard I've used.
Is it a good or bad feel? I'm undecided. It does feel pretty good, there's a lot of response to the keyboard and you can more easily tell when you miss a key or flub a keypress and hit two keys at once. I think this probably aids accuracy. I don't type more accurately but I more easily notice my mistakes.
I'm afraid the weight might lead to fatigue though; the keys are harder to press than other keyboards and my hands feel like they're getting a workout in comparison. However I've had a few long nights of typing on this keyboard and haven't noticed any more fatigue than usual, so the worry may be unfounded. On the other hand, I do often notice how annoying it is to type on a laptop which has no resistance and no distance to the keys at all. The resistance in this keyboard is a nice change of pace.
Built well?
I think "indestructible" is probably an apt word. I've only had mine for a couple days, but just hefting the thing, you can tell it's built like a tank. Very thick hard plastic all around. It weighs a ton. If I had to choose a keyboard to use as a weapon in a pinch, I'd grab this one immediately.
The keys come off easily; every key is just a cap over a smaller plastic key beneath, and that cap is a simple piece atop a tube with a spring in it. There isn't a lot of room for mechanical failure here unless you lose the springs. Everything comes off and goes back on very easily, which is nice for when I need to clean out the gunk in a year.
I have heard that if you spill a cup of milk into one of these keyboards, you may find it hard to drain. So don't do that.
Lack of features is a feature
Multimedia keys suck. I've never used them. They waste space and the only time I remember they exist is when I push them accidentally.
The Customizer is very "traditional". There are no multimedia keys, no volume controls, no programmable (i.e. useless) macro keys, no email or internet shortcuts. Just the standard 105 keys. This is a plus in my book.
Caps Lock is slightly shortened with a gap between itself and the A key, which is nice to avoid hitting it accidentally. The version of the keyboard I got has a modern Super ("windows") modifier key, but you can get a version without even that, if you like. Otherwise there are no frills.
Speed typing
I took a couple of silly online typing tests, and I got between 75 and 95 WPM with 98% accuracy, which is as good as I've ever gotten. My six-fingered typing style is a bit odd but this keyboard suits me well.
WPM is a terrible measure of programming speed, because programming has a much higher punctuation-to-letter ratio than English prose. So I also tried an Emacs session and a bunch of Vimming, and I experienced no problems. I forgot I was using this keyboard almost immediately, which is a good thing. It means it wasn't annoying me.
Very important to me, as a Vimmer, is the position and size of the Escape key. I have one other keyboard that has Escape offset to the right a half inch, which is horrendous and messes up my Vimming all the time. My other other keyboard has a tiny little Escape key, half as big as a normal key, which is equally bad.
On the Customizer, Escape is positioned off by itself in the corner as it should be, with a ton of space between itself and the number row, and the Escape key itself is freaking enormous. This is a huge plus in my book. You can't miss Escape on this keyboard.
Similarly, all the other keys are the right sizes and in the right places.
Verdict
So how is the Unicomp Customizer?
It's solid, standard, unique, and has a nice retro, minimalist style that I personally enjoy.
It's also huge, loud, and expensive. Is it worth buying? If you have the money to spend, I think it is. I don't regret the buy after a few days. When I come home from work and start typing on this guy, I'm always pleasantly surprised.
A Sad, Dark Day
Today was a terrible day. I found myself subconsciously trying to use Emacs keystrokes in Vim. I feel dirty. I took a bath but it won't come clean. : (
It just goes to show that you can get used to anything if you do it often enough. Emacs still drives me up the wall but maybe I've achieved a critical mass of enough custom keybindings to let me tolerate it.
Aside from paredit, which has no equal even in Vim, Emacs does have some vaguely non-sucky features. hi-lock is pretty nice (Vim has an equivalent of course). Once I learned a few of the shortcuts for git-emacs I actually found myself using Git much more effectively. Having to drop into a shell to type Git commands is just enough of a disruption to prevent me from doing it often enough. I never got the hang of any version control library in Vim.
I'm almost even getting used to the Emacs buffer model. I find myself C-x bing and flipping back and forth between buffers by name, rather than my Vim practice of opening buffers in certain carefully-placed windows and leaving them there.
On the subject of typing, I broke down finally and ordered a Unicomp Customizer 104 keyboard. I've heard too many hackers say that the old IBM clicky keyboards are good for typing. It should arrive Tuesday, and I'm a lot more excited than anyone should be over a keyboard.
Expect a keyboard review. Try to contain your excitement until then. I know it'll be hard.
My Poor Headphones
My precious Grado SR-80's needed some emergency surgery a while back, resulting in this disaster. They still work today, in the sense that sound is still emitted from them, but in terms of aesthetics, the situation has rapidly deteriorated. I've got bare wire and sticky electrical tape hanging all over the place. Also I'm probably one good yank away from snapping the wires off again.
If anyone reading this has a good tutorial or information on re-wiring a set of headphones, it'd be appreciated. I've never soldered anything in my life. I don't know where to acquire the wires; I imagine any wire will do, but I'm clueless when it comes to such things. I think I might like to do something like this mod and run the wire up over the top, to prevent the inevitable twisting from destroying the wires in the future, but I'm uncertain I could pull it off without complete destruction.
(At least I know enough about these things to cringe when people start talking about the "performance" of their headphone wires. $400 for a hunk of wire? Wow.)
I can't figure out my phone
I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone.
I have to agree. My phone at work is indecipherable. What do these buttons do?
- PROG
- Call Park
- DND
- VM Transfer
- AUTO
- DND/CF
- EXT
- FLASH
- Some kind of little squiggle
To the best of my knowledge, there are only so many things you can DO with a phone. It rings, and then you pick it up and talk. Or it rings, you don't pick it up and it goes to voicemail. There are also HOLD and CONF (conference call?) buttons which I never use, but I'll allow that they can be useful. But the rest of those? In my wildest imaginings I can't fathom what they might do.
The phone also has a bunch of lights all over it. Sometimes they light up one color, sometimes another. Sometimes they blink and sometimes they light up steadily. There must be some kind of pattern to them but I don't know it. When lights start lighting up I start pressing buttons and talking to the empty room like a madman, and when someone talks back to me or the lights go out (whichever comes first) I consider that a victory.
What pioneer came up with hidden voicemail options? I call my voicemail, it tells me "To listen to messages, press 1, to do blah blabbity blah, press 2", etc. But there's a HIDDEN OPTION 0 to configure the voicemail, which the disembodied phone demon never tells me about. Why is this knowledge hidden? Is it too powerful for the average phone-user? Do you have to prove yourself worthy of the knowledge first?
I'd like to read a manual for the phone, but I don't think a manual exists. No one knows how the phones work at my job. What knowledge actually exists is sort of spread around via word-of-mouth, like the tribal history of some primitive civilization passed down from generation to generation by village elders telling stories around a campfire.
Is this what people who aren't good at computers feel like when they sit down at a keyboard? Do they look at a screen and see a bunch of meaningless squares and colors and words, where I see buttons and menus and useful GUI widgets?
Stylus DIY, hand health
The stylus that comes with a Nintendo DS is a very mild form of hand torture. Not sure whose hands those were designed for, but not mine. In googling for a good replacement, I chanced upon a blog post which suggests finding a nice big ballpoint pen and jamming a DS stylus inside so just the tip sticks out. This works amazingly well. It's not as portable, but I will make that sacrifice to prevent being crippled.
I am in fact always a bit worried about preserving the health of my hands. I have no hard data to support this, but I suspect my generation may have major hand-related problems in the coming decades. What with computer keyboards and tiny cell-phone and PDA keys and lots of other techy things. Many of us use our hands to communicate almost as much as our voices. Until we have Star Trek voice-recognition software, this will be a problem.
I started experiencing a lot of aches and pains in my hands and wrists a decade or so ago, and I attributed it to computer use. Since I started paying more attention, things are better. I maintain a very comfortable typing position for my hands. I have a nice big comfortable mouse. And so on. My hands don't hurt any longer nowadays, which is nice. If I become unable to type someday, I'm completely screwed. How can I work as a programmer if I can't input text into a computer? And I won't be able to draw or do origami or play video games or do many other things I enjoy.
