Forgot your password?

Journal: Linux PDF readers

Journal by Sax Maniac

I finally got my beloved KPDF working again on Ubuntu! Whoever jARLAXL is, I heart you.

What an exercise in frustration this was. Now, I have a lot of scanned documents which are quite large, so a fast PDF viewer is essential. At home I use an older version (say, N-2 or N-3 where N is the most recent release) of Adobe's reader, with all the stupid plugins disabled.

But on Linux? I won't even rail on KDE 4 in general, which was so bad it forced me to switch to GNOME. But for kpdf they took a program which was blindingly fast, did exactly what it needed to do and no more, and replaced it with a generic document viewer ("okular") which was neither. Who needs a "generic document viewer"? Answer: NOBODY. Windows tried this ages ago in Windows 95 and nobody uses it any more. File formats move so fast, that making a single program try to span them all is pointless and stupid for many reasons I could care to regale you with off the top of my head.

Other possible solutions?

1. Use "evince"? The horror. Can't do image filtering, so full-page views of scanned documents are illegible. Shows "Loading..." instead a low-resolution preview when loading images. Printing is unbearably slow and you can't tell when it's done spooling. I literally could not figure out how to print for a few days, because I would tell it to print a 100-page document, and it would start chugging away with no feedback that it was busy. I'd then quit, and it abandons the printing, again, with no feedback whatsoever. Can't search or copy text.

2. Use "acroread"? A pain to install, enable this repository, import this GPG key, blah blah blah. Not as fast as KPDF with a totally ridiculous user interface, filled with zillions of options and plugins I will never, ever use. I want it to: Display the document fast. 2: Print the document fast. 3: Extra features should never ever get in the way of #1 and #2.

3. Use "okular"? Ha ha ha! KDE 4? Ha ha ha! Are you kidding?


Journal: All USB chargers are not alike

Journal by Sax Maniac

So I have a bunch of chargeable USB devices around the house, phones, PDAs, GPS receivers, and the like. The good ones these days all charge off of USB, instead of relying on a bevy of proprietary connectors. Most of the time they come with a wallwart that I more or less ignore. After all, it's USB. Why unwrap an extra wart, only to lose it? Surely USB is a standard and they are all compatible, right?

I got the first taste of this when trying to plug my wife's KRAZR into a USB charger, the device complained "Unauthorized Charger". Say what? Obviously this is a corrupt vendor's decision to make proprietary connectors, not for technical reasons, but to gouge more cash out of customers. We ponied up for the car charger. Now the nuvi (GPS) doesn't like it, as it thinks a computer is connected and switches into data mode. Bad USB citizen. We're stuck with two chargers for the wife's car.

I finally looked at the wallbricks, and lo and behold, they *are* different. Turns out the USB spec allows a device to draw 100ma when first plugged in, and up to a maximum 500ma if it asks nicely and the computer allows it.

A wallbrick has no such restrictions. Taking a quick look, I have three different wallwarts, one for 500ma (an old Palm), 750ma (the KRAZR), and 1A (G1 phone).

Try charging a device that wants 1A at 500ma, and it takes a long time! On the flip side... well, I'm no EE, but I imagine you could cook your devices to a nice toasty black, should you plug a 500ma device into the 1A adapter.

Back to a pile of wallbricks. Is it the future yet?


Journal: Android Developer Documentation

Journal by Sax Maniac

I just got a G1 thanks to my lovely wife, and I continue to be impressed by it. But the most shocking thing so far is the documentation. Here's a choice quote:

If your application needs to perform some expensive or long-running computation, you should probably move it to a thread. This will prevent the dreaded "Application Not Responding" dialog from being displayed to the user, with the ultimate result being the fiery demise of your application.

First, that's some damn good writing, and is the polar opposite of anything on MSDN. Techincal, clear, not wordy, and not too serious.

Not only that, but check out the website. How fast it is, the distinct lack of corporate frills that plagues most technical documentation. How amazing, I click a link and I see the text without waiting 5 seconds for some awful Java tree control to load, scroll my page randomly around, change the font, only to show the topic I want nested eight levels deep in some documentation set inside of some piece of useless corporate foofery like HP Solutions Center > HP DeveloperWorks > Documentation > 2008 > Alpha > AdminiTRACK 2.3 > Developer's Guide > Localization Handbook > Estonian > Command Line Reference.

I learned more about Android in 5 minutes of fun reading, than I have in untold months paging through Microsoft's or HP's documentation.

Google is going to take over the entire tech world at this rate.


Journal: GNOME leaking daemons, part 2

Journal by Sax Maniac

I think I finally have this one figured out, and, while GNOME still likes to leak daemons in other situations, this seems to be a pulseaudio problem.

If your home directory is on NFS, pulseaudio gets very unhappy. And, since gnome-settings-daemon invokes pulseaudio for you, once you have an unhappy (ah, totally wedged) pulseaudio you have an unhappy GNOME. Any GNOME app that tries to get some settings hangs. Which means an unhappy hacker at the terminal.

Why: pulse tries to do a lock on $HOME/.pulse-cookie, and this hangs hard. I don't know if it's because I'm not running the proper locking daemon or it's an attribute of our NFS server.

Solution: move $HOME/.pulse-cookie to a local disk, and link $HOME/.pulse-cookie to that.

How did I figure this out?

1. ps -ef --forest -- showed a defunct pulseaudio process as a child of gnome-settings-daemon (pid 12345), which was apparently stuck waiting for it.
2. strace -p 12345 -- showed g-s-d was hung on an fcntl call trying to F_SETLK64 on fd 21
3. ls -l /proc/12345/fd/21 shows that fd 21 was $HOME/.pulse-cookie

I actually blew away Fedora 10 and decided to play with Ubuntu 8.10 because this was annoying me so much, only to discover it afflicted both!


Journal: GNOME leaking daemons ARRRRGH! 1

Journal by Sax Maniac
This is one mains reasons I hate GNOME, but I still use it because I hate it less than KDE4. It loves to start up little daemons all over the place implcitly and then leave them hanging. When you log out, you get a pile of left over daemons:

tringali 2829 1 1 17:28 gnome-panel
tringali 2830 1 0 17:28 /usr/bin/canberra-gtk-play --id=desktop-login --description=GNOME Login
tringali 2864 1 0 17:28 /usr/libexec/mixer_applet2 --oaf-activate-iid=OAFIID:GNOME_MixerApplet_Factory --oaf-ior-fd=36
tringali 2875 1 0 17:28 /bin/sh /usr/bin/start-pulseaudio-x11
tringali 2876 2875 0 17:28 \_ /usr/bin/pulseaudio --start
tringali 2883 2876 0 17:28 \_ /usr/bin/pulseaudio --start

But wait, there's more! Log out another time, and you get more!

tringali 2829 1 0 17:28 gnome-panel
tringali 2830 1 0 17:28 /usr/bin/canberra-gtk-play --id=desktop-login --description=GNOME Login
tringali 2864 1 0 17:28 /usr/libexec/mixer_applet2 --oaf-activate-iid=OAFIID:GNOME_MixerApplet_Factory --oaf-ior-fd=36
tringali 2875 1 0 17:28 /bin/sh /usr/bin/start-pulseaudio-x11
tringali 2876 2875 0 17:28 \_ /usr/bin/pulseaudio --start
tringali 2883 2876 0 17:28 \_ /usr/bin/pulseaudio --start
tringali 3251 1 0 17:29 /usr/bin/canberra-gtk-play --id=desktop-login --description=GNOME Login
tringali 3277 1 0 17:29 /usr/libexec/mixer_applet2 --oaf-activate-iid=OAFIID:GNOME_MixerApplet_Factory --oaf-ior-fd=32
tringali 3293 1 0 17:29 /bin/sh /usr/bin/start-pulseaudio-x11
tringali 3296 3293 0 17:29 \_ /usr/bin/pulseaudio --start

It's common to find thousands of these bastards floating on headless machines we log into at work. Yep, run "gcalctool" remotely, and you too can leave piles of processes running, eventually grinding the machine to a halt.


Journal: Free box... weird packet loss 2

Journal by Sax Maniac

I got a free computer from my father's friend over the break. Not bad, 2ghz 1G RAM, good enough for the kids to use, and will be a big step up from their old P3. I haven't done much fooling around with hardware, so I figure it would a good way to finish off the rest of the vacation.

The guy was getting rid of it because it was too slow. Turns out he tried to shoehorn XP Professional in a 5GB partition. The other 95GB partition was unused! I'm not an IT guy, but I bet this crap happens all the time.

Windows was inconsolable. I tried various things to clean it up, figuring XP Pro might be worth saving. In the end it was just borked, complaining about CRC errors for mouse drivers of all things. I don't have any XP installation media laying around and certainly didn't feel like dealing with XP activation, so... out comes the Ubuntu disk. A half-hour laters I've got a snappy new box devoid of Windows garbage. If only Linux ran Shockwave browser games, the kids would be perfectly content with it.

So, I let it download updates for a while, and let it max out the DSL line for an hour or so. Worked great.

Later on that night, I notice the connection is really slow, as in 10kb/sec slow. A little poking around and I'm getting 30% packet loss on a wired connection between the box and the router about 6 inches away. Everything else on the net is fine with sub-2ms pings. Changed cables, no improvement. Nope, it's just the box's ethernet card itself.

I've never seen anything like this. WIRED! The crazy powerline ethernet and wireless links never drop packets like this!

Finally I disable the onboard ethernet and drop in an old reliable 3com, and presto, it's mostly fixed. What the hell? What changed?

Well, the only thing that changed in the meantime was I switched out the video card, replacing a GeForce MX with a dual-DVI FX. Some card I found laying around with 2 big honkin' fans on it. Could that be sucking up too much juice and screwing up the onboard ethernet? I guess I'll swap the cards tonight to see what's going on, but this is really strange.

I was hoping to keep the DVI, as I figured I'll eventually repurpose this box as a HTPC if I ever find the time.

Red Hat Software

Journal: Fedora 10 FTW!

Journal by Sax Maniac

After Fedora 9 being mostly a disaster, the upgrade Fedora 10 was comparatively smooth sailing.

My work box has a dual-head display NON XINERAMA and getting this working has been an exercise in progressive breakage. It worked fine ages ago, but as more folks get dual-displays that are driven different ways (Xinerama, dual-output-cards, etc) then the old perfectly working ways get broken.

preupgrade solves a lot manual problems with yum.
TightVNC now works again without screwing with the font path manually!
TightVNC now works on my :0.1 display without being ridiculously slow!
Everything seems a bit faster.
I can use Firefox with Flash 10.

Virtual terminals still don't work, they're blank.
KDE 4 still sucks, still is slow, and still doesn't understand dual-head. It puts a task bar in the middle of the screen. Thank you. I'm still stuck with GNOME.
GNOME has trouble starting up nautiulus, and needs to be manually started. Something about bonobo-activation-server. Jeez, GNOME has enough problems leaving these retarded daemons all over the place when you're done using GNOME, and now it can't start it?
Fonts on the second display get garbled, with Flash + Firefox.

That's pretty good. A bunch of wins, and only one new bug.

For now.


Journal: GH World Tour... teens are fun

Journal by Sax Maniac

So I was in GameStop this afternoon, and a couple of teens were trying out Guitar Hero World Tour. I was watching, and noticed some cool things. Notably, you can sustain under a other notes, which makes rolled chords look nicer -- something I've wanted for a while. GH3 fakes it, as you can do the hand motion but you don't have to leave the lower frets depressed. I pointed this out to my wife and we were chatting about it, as we both play. The kids hears us talking.

One kid: "You play?"

Me: "A bit. Since September".

The other one: "Are you any good?"

Me: "Well, define good." (It's all relative. I think I suck, because I don't FC tunes or play competitively.)

Other kid: (giggling, he's got this old fart beat!) "You play on... Expert?"

Me: "I 5* Cult Of Personality on Expert. Beat Lou." [One of the hardest tunes in the game to beat, and a high score.]

That wiped the smile off his face. "Yeah, you're good".

If they only had two guitars, I would have totally sandbagged him.


Journal: Guitar Hero III vs. Aersomith

Journal by Sax Maniac

I'm a newbie Guitar Hero player. My sister's boyfriend brought it over when visiting a while back. We fooled around with it for a little bit. It was fun, and I could do most of the stuff on Medium. So I decided to get it, you know, "for the kids". I picked up Guitar Hero Aerosmith as my first one, and I've had it for a month or two.

Which is harder, GH3 or GH3 Aerosmith? Everything I've heard says that GH3 is insanely hard, and it's dialed back on the Aerosmith.

I don't follow this. With Aerosmith, having pretty much no experience, I cleared out medium and hard in a day or two, and started in on Expert.

That kicked my ass. Wow, this is what the game REALLY is like.

Specifically, "Movin' On" and the eternal guitar solo at the end of "Back in the Saddle". I don't think I've played "Back in the Saddle" since barely getting through it on three stars. It took a few weeks, as I'd get stuck on these harder tunes for a long time.

I finish Expert, again barely, with three stars. With a lot of effort I can get four stars on a couple tunes, but it's not worth it. So the first set has four stars and I have little interest in trying to get more.

Now, I pick up GH3 and start playing. I hear it's a lot harder, so, I start on Hard. I 5-star the first song, clearly too easy, so I up it to expert. 5-star the first song again. What's going on?

I keep going. Most of the tunes I can 4-star, with the occasional 5 and 3. No fails at all. That's the first four sets, all sightreading.

The timing seems easier than Aerosmith. I can be really sloppy with the hammer-ons and it will still work, where the same timing would fail under Aerosmith.

Does it get harder??

EDIT: Holy crap, yes, it does. "Raining Blood" is one tune that I can't beat after trying it few times. After that beating Lou was a piece of cake.

Red Hat Software

Journal: Fedora 9 WTF!

Journal by Sax Maniac
I upgraded to Fedora 9, and each time I do this it gets a little more broken.

First, KDE 4.0 is really broken with dual-head displays. It used to be mildly broken (focus problems) but now it's unusable (both desktops on one screen). Come on, guys. Is having two displays really that uncommon? It's 2008! Oh, and it's also much slower than KDE 3.5. For the first time in years, I've had to switch to GNOME. The horror.

GNOME also continues their trend of making things that used to work not work anymore. There seems to be a concerted effort to kill remote X displays, even on a trusted network, thanks to this annoying nanny known as GDM. At one point, you used to be able to set "NeverPlaceCookiesOnNFS=True", and that stopped working around Fedora 7 or 8, but I could work around it. I even did it the right way. Not by doing xhost +, but by having my login script put the right authorization cookies in my per-user file.

But, now, the icing the cake: "DisallowTCP=True" is now mandatory. That's great, they implement all sorts of other pointless options, but the whole reason X exists, network transparency, is killed. No way to work around it. No remote X for you!

Jeez guys, I log to remotely to about 35 machines in our datacenter and I don't want to set up 35 SSH sessions, dammit. We're firewalled. We're a small company. X's security is just fine.

Yeah, my fault for not booting the live CD.

User Journal

Journal: The Opposite of NIMBY

Journal by Sax Maniac
There are some local issues that bring out the NIMBYs, but an equal contingent of unreasonable people of the opposite view. But they have no snappy, insulting name, that can turn a reasonable discussion of compromise into a polarized, mudslinging flame war!

You know, the people who think it's cool to ride an ATV full-throttle at midnight, but are NIMBYs themselves when it comes to own their property. People who have no sense of respect or neighborliness. People who shit where they don't eat. I've heard them called trespassers, encroachers, etc., but that's not cool enough.

So, I hereby define FURBY: I Fool-around in UR BackYard.

...for all values of "F".

Update: I have one even better... iFURBY. I love the implicit connotation of this one.

PC Games (Games)

Journal: The Man's Guide to Picking Paint Colors

Journal by Sax Maniac
Ever paint a room, finish, and... decide that the color sucks? This happened all the time to me, and for years I couldn't figure it out. Maybe you picked a color, liked it, and took it home. Maybe you even did your homework, took home a few cards, and picked from one of those.

The answer: never, ever pick a paint color in the store.

Here's what you do.

1. Buy a book of color sample cards. Not one card, ALL of them. For $15, you get all the colors you could ever want. Take it home and walk around. $15 is nothing compared to spending $50 in paint that you absolutely hate, and the wheel will last longer than you do.

2. Pick your hue, by considering the deepest color on the card, usually at the bottom. Most of the cards are different lightnesses of a single color, with the basis color at the bottom. If you want a light gray with brown undertones, look at the bottom - it should be a deep brown. Sometimes the base tone is surprising. You might find the base tone is orange when the lighter tone looks brown.

2. Pick your shade by choosing one of the levels on the card. After you pick it, go one level lighter. There is a bit of an optical illusion you need to compensate for, when you take that chip and put it on a big wall, it will feel one level darker, even though it's technically the same shade.

3a. (for married people): Spread out the next few colors card to the left and right of your chosen hue, off the wheel. Let your wife pick the particular color. This will save lots of problems later. Note that I did not say you actually need to buy that shade, just let her pick.

4. Test your color by looking at the chip in daylight, and at night with the lights on. Natural daylight is much bluer than typical incandescent light bulbs, which are more yellow. You might find that the added blue at day, or the added yellow at night, is not to your taste. I distinctly remember picking a tan-looking color in the store for our bedroom. After painting, it looked deep yellow under our room's lighting, and I hated it for years.

5. Now go buy your paints. You should know which finish you want, and let the store guy pick the can. Certain color go with different paint bases and you'll get it wrong. Before you leave, make sure he didn't screw up by looking at the color sticker. The particular base paint should match the sticker.

6. Don't paint yet! When you get home, do as they do on those stupid home improvement shows, and put a good sized splotch on the wall. This is not pointless or for show. Let it dry, and look at it under different lights as above. Let it sit for a day or two. Look how the finish covers the wall - if you have walls in poor condition, a shiny finish is going to magnify those imperfections. If you do this before prepping and taping off the walls, it will have plenty of time to dry. If you hate it now, you've wasted a few bucks, but don't have to live with that color or finish for years.

7. Now paint. When you put it on at first, it will look way too light, and you'll think that picking the lighter shade in step 3 was a mistake. Be patient. It's going to dry one level darker, and when it's everywhere, it's going to feel one more level darker.

User Journal

Journal: Stop using DOM as a windowing system 1

Journal by Sax Maniac
I tried to change my sig today and couldn't find it for about 10 minutes, because it's hidden behind a page that looks like documentation (not settings), inside a Web 2.0 in-browser miniature dialog box, and hidden below the fold accessible only by a nested scrollbar.

Help & Preferences? What the hell? Everyone knows help is totally useless, so we all mentally tune out everything that says "Help". You might as well change "Preferences" to be gray on gray.

Web programmers that use in-browser popups, animations, dialogs, fade-ins, and the worst: fake comboboxes that don't behave at all like real ones and have no keyboard access, should be shot. I'm looking at you, Facebook. Thank you.

Get off my lawn.

The Almighty Buck

Journal: Credit card company games

Journal by Sax Maniac
I always pay off my credit card bill on time, because I like Free Money. For years now, Discover and Citibank all send me $50 checks now and again for the privilege of using their money for a month. Hey, who am I to argue? This is how you get a FICO score in the 700s.

Every once in a while, something goes wrong. Most of the time it's just a brain fart on my part, and I just missed a payment. But sometimes electronic payments I really did make, just disappear into the ether, never to be heard from again... until the payee comes knockin' on your door.

Things have changes quite a bit since I started this in high school in 1988. Then, you would get a $10.00 late charge. Now they whack you with a $39.00 fee, and possibly raise your rate to 29%, charge you interest for this month and the next, raise rates on your other cards that are paid on time, and other assorted evil things that only MBAs and lawyers can think of. Clearly, they prefer gouging you for fees and really have no interest in you having your payment processed on time. But you already knew that.

Normally, if this happens, I just call up the company and whine a little bit, and try to get them to reverse the fee. Never act angry, just ask if the support droid can save your life Just This One Time and oh, thank you, you're so great! It's a bit like getting your first speeding ticket, do whatever you can to avoid that. If you can never get first late fee, then you always have a clean record, and they're more likely to forgive your "first" mistake. I can't remember the last time this has failed. Discover, in particular, has good service and always immediate start groveling a (who-cares-if-it's-faux) apology and revert it.

So, last month, I send a payment to Citibank on their website, and... poof. Gone to the great bit-bucket in the sky. I notice a few days later than my checking balance is a lot higher than it should be, and notice that payment is missing.

WHANGP! You could almost hear the $39 late fee landing on my account immediately, you know, like the big industrial metal stamp that breaks the underlying surface on those FordChevyWhatever truck commercials, leaving a pile of broken rubble and floating dust.

I log into Citibank, and sure enough, it's there. I haven't been late on any card in maybe 4 years, and probably this is the first time ever on Citibank. So, I call them up, whine, and ask to get it removed.

No sympathy. Sorry shithead, you're late, pay the piper.

Ah, you win some, you lose some. I'm up by a couple thousand, and they've got $50 out of me. Still worth playing.

So: this month. I'm all paid up, get my next bill, and what's this? Finance Charge? Out comes the phone again for another complaint. I know perfectly well that there's some legalese somewhere that allows them to do this, but I don't feel like reading 43 pages of legalese when I can call Ravi "Dave" Chandraskarapadmanaban in Bangalore and get the same answer in far less time. Turns out that if you're late you get finance charges for two months. You lose your grace period for a month.

The Indian lady on the phone offers to remove the second late fee. Bingo! Sensing that she was in a charitable mood, I press my luck. Without a beat, I immediately said that the original late fee was also charged wrong, and gave the same sob story again that failed to impress last month.

Bingo, she wipes out the late fee and last month's finance charge, in addition also this month's.

It pays to whine to your credit card company.

User Journal

Journal: Where are all the considerate motorcyclists?

Journal by Sax Maniac
I just spent a week's vacation on Long Island, driving down an fabulously warm June day. As the kids finally lulled asleep, and I was listening to the radio, the usual happened: a motorcyclist with straight pipes comes up behind me about 90 mph, weaving around everyone in moderate traffic. Par for the course is obscene volume, waking up the entire family. Yes, with the windows closed and air conditioner on.

Motorcyclists are always pointing out that the majority of riders are law-abiding, considerate people, and it just merely seems like they're complete assholes. From the AMA position paper on noise:

A minority, riding loud motorcycles, may leave the impression that all motorcycles are loud.

I can buy that. I admit you usually are not going to notice people acting considerately. But is this really true? Or is it just spin from a bought-and-sold organization?

So, I decided to do a quick non-scientific experiment. For the rest of the 6-hour trip I decided to count the motorcyclists, to come up with an obnoxious to non-obnoxious ratio.

The results? Of thirty-nine motorcyclists I shared the road with, all but two either were driving unsafely (weaving in and out of traffic, splitting lanes), or extremely loud (meaning they had aftermarket exhausts, and thus are much louder than an average car with a functioning muffler at cruising speed). Usually both.

That's 94%. Hardly a "minority".

To be fair, about three or four passenger trucks did have aftermarket exhausts, and a pair of Mercedes were racing and weaving. But against the thousands of cars I shared the road with that that day, it's well under 94%. Well to the point of insignificance.

Am I an anti-biker? No, I'd love to learn some day. But I guarantee, when I do, my bike will be silent.

In the interest of fairness, note that I have defined "loud" here as "much louder than an average car with a functioning muffler". When driving in my car, the volume of nearly all other cars is underneath the threshold of the ambient noise inside the cabin: they are effectively silent. I still count them, because even a mildly-loud bike, which is audible but not obnoxious when listened to from inside a car, can be extremely loud in quieter circumstances. Say, if you're setting sitting on your back deck, and there's a road a mile away.

I guess it comes down to how you define excessive. I say motorcyclists should be no louder than your average car that passes inspection with a muffler. As it stands, a typical motorcycle is about loud as car driving around with it's horn stuck on. Yet would we stand for that behavior? Maybe next time I'm near see a pack of motorcyclists, I'll just lay on the horn too, to join the fun! Of how about I park in front my home town's police station, and sit on the horn and find out. Or: wouldn't it be great if no cars had mufflers at all, then everything would be so loud, nobody would stick out! Why is riding a motorcycle a free pass to antisocial behavior?

I'm going to take the Maddox pledge to annoying behavior. To all bikers with loud pipes: I am going to ignore you. I won't see you, I won't hear you. I don't care if I get a ticket or my insurance goes up.

"Text processing has made it possible to right-justify any idea, even one which cannot be justified on any other grounds." -- J. Finnegan, USC.