Confessions of a hoarder


2009-12-30 01:53
Comment [1]

So, it turns out, I’m a hoarder.

This is one of those revelations at a scale similar to that of a cat who suddenly realizes it’s covered with fur.

I’ve been cleaning my office, and I’ve been finding Stuff. Stuff that’s been sitting in boxes for about two years (since we moved here), and which I haven’t had any interest in or use for, but which I am eerily resistant to throwing away. I have, however, made progress towards understanding why I’m so resistant to throwing things away.

There are two criteria by which I am judging things. One is whether or not I have any use for them. The other is whether they are replaceable. I recently discovered a device called a “SoundMaster ™”, made by Aegis, a division of Oxxi, Inc. It’s a sound digitizer. For the Amiga. (Yes, I still have my Amigas.) It’s a parallel-port digitizer which, in conjunction with software I probably still have the original disks for, can, well. Digitize sound. It can digitize sound from line inputs, or microphones, and it has a volume control. As I recall, it could digitize at rates up to around 56KHz — a bit better than CD quality, in terms of sample rate. … In glorious 8-bit sound. Which is to say… I think nearly everything I own can do better out of the box. Maybe a few of them don’t actually have stereo line inputs, but I’d guess nearly all of them do. It’s easy to downgrade audio, so even if I really, really, wanted to use sound software on the Amiga (no reason for which I should want to do this suggests itself), I could just record audio on something else and downsample it. I think I have a 24-bit USB audio sampler and playback device sitting around my room somewhere, probably. I can’t find it because of all the stuff.

So why do I have this thing? Because I can’t replace it. Nevermind that I probably have things which are unequivocally better.

For instance, I still have all the parts for my video gizmo for the Amiga (not a Toaster, the GVP competitor) which, with an external box I got for it, can transcode from component to S-video to VGA and so on. Awesome. But… I also have a gizmo which can take any of those formats and convert them to FireWire, at which point I can store it digitally. (The old Amiga thing could, I believe, digitize a single frame every few seconds.) Again… It’s not that I can conceive of a use for a device which, given about fifteen seconds, can load a single 24-bit frame at TV quality. Not when I have several machines which can display video like that at full 30/60 frame per second rates without noticably loading up their processors.

But… I can’t replace it. If I throw it away or toss it out, it’s GONE. If I get rid of my 7-port serial card capable of a princely 19,200bps transfer rates, there is NO WAY I could ever get it back. I can’t buy one of those. And, uhm… Well, again, that’s the problem. There’s no reason I should want to. But since I wouldn’t be able to replace it, I’m very unwilling to toss it out.

I haven’t really gotten anywhere towards figuring out to what degree this behavior has any rational justification. It’s the same thing as overpacking. And yet, while people make fun of me for overpacking, the first convention I went to with Rah, she ended up having a bit of artwork which, for reasons unknowable, she had ONLY as a JPEG file on an actual floppy… And looky here, I brought the floppy disk adapter for my laptop even though I’d probably never once used it before that day. So every so often it pays off… Every so often.

I don’t know whether I want to change this hoarding behavior, but I think maybe I need to try to rein it in a bit. There really is a problem with being able to find things I really DO have a use or need for because there’s so much stuff I don’t have a use or need for in the way. I just, you know, worry. Because some of this stuff is irreplaceable.

Peter Seebach

Comment [1]


Why Sony's losing to Nintendo, revisited


2009-12-27 15:14

So, I used to hang around on a video game forum devoted to the PS3. It was… interesting. Imagine a room full of people all of whom were 100% convinced that the PS3 would outsell both of its competitors, put together, and would sell more units faster than the PS2, leading to massive and total domination of the console market.

Now, if they’d thought this back in 2006, hey, that was understandable. Sony had by one means or another dominated the home console industry twice in a row. It made sense to imagine them succeeding again. By 2007, it seemed a little questionable. In 2008, it was silly. In 2009, it was completely ridiculous.

Here’s the underlying problem: Sony’s pretty good at business. They’re very good at hardware. They totally suck at usability. And it turns out, that’s gradually come to be a serious problem. The reason the Nintendo DS runs rings around the PSP in sales is that Sony focused on making powerful gaming hardware, and Nintendo worked on making a portable gaming device. Sony’s focused on things like firmware updates to add tons of new features; Nintendo’s focused on making the system easy and convenient to use.

I actually have a PSP, and the other day, I wanted to do something with it. I hooked it up to a TV (you have to go through a special menu item to enable the attached display — there’s no detection of whether you have a display attached). I went through the elaborate menu system, found “system update”, and decided to check for updates. It found one. This is where things went… wrong.

So, we download the update, which takes a few minutes. After downloading the update, I’m prompted to press “X” to continue. (Sony’s convention, in the US, is that the “X” button is usually used for OK, in direct contradiction of every other user interface I use. It’s different in Japan. The idea of adopting a single consistent convention apparently never occurred to them.) I press X. I’m informed that the update cannot be run while using an external display (???), so I’ll have to try again.

Okay, navigate back through the menu, switch to internal display, and… uhm. Where’s the update? Nothing on the system menu refers to the update I downloaded. So I go download it again, try to run it. Hit X when prompted. That gets me to the licensing agreement. Somewhere around here, there’s a screen where X doesn’t accept or enter or continue… instead, you have to notice the small right arrow on the side of the screen, hit the right button on the directional controller, and slide over to a different screen where you can click X for OK. So I do that… and it informs me that it can’t run because the battery’s low, and it’s not enough to have AC power, I have to have a fully charged battery.

Okay. So a couple of hours later, I come back. This time, I do actually figure out where the system update is. It is, of course, under the “game” menu. Because, uhm. Well, there’s no real reason for it. Run the update, etcetera, all works.

But what a giant pain.

On the DS, I navigate to the “update” menu, click okay, click “I agree” and click OK, and I’m done.

The fundamental difference here is the same one that’s plagued Windows/Mac debates for years. Microsoft, and Sony, view software as a checklist of features. Here are the twenty things it must be possible to do; verify that each of them can be done. We’re good, let’s go home. Nintendo, and Apple, view software as an experience a user has; what is it like to try to do this? Will the user be able to do it on the first try, without frustration? If not, we have more work to do.

This kind of thing is visible at every level. The array of four buttons on Nintendo’s DS that are the primary controllrs are A, B, X, and Y. A and B are the bottom two, X and Y are the top two. B is left of A, Y is left of X. Every game, and every part of Nintendo’s system, uses A for confirm/OK, and B for cancel. Sony has square, circle, triangle, and X. Experienced players often end up knowing what order those go in, but there’s no particular pattern to them. You just have to memorize them. There’s little in the way of further conventions. Some games use triangle for menu, others square. Some use X for OK, O for cancel, some use O for OK, X for cancel. Some use X for OK, square to back out of menus. One game I played used both square and triangle to open the menu, but once you were in it, there was a submenu accessed by triangle, but square would back out of the menu.

Human factors, too. The DS is a clamshell, and a fairly durable device as such go. Close the lid, it pauses itself instantly, toss it in a bag, you’re good to go. The screen is protected by the case. The PSP has no clamshell. If you want to take it somewhere without scratching it, you have to buy a separate case to keep it in. The DS gets much, much, longer battery life — probably two or three times longer. The DS’s cartridges load data nearly instantly, while the PSP’s design was originally built around optical media — meaning huge load times. The PSP is a more powerful system, certainly; it can hold more data, it can render more impressive graphics. But… It was not designed to be portable, only to be small. No thought was given to the user experience of trying to play video games for the entire duration of a long flight, without access to a wall outlet for recharging, or to anything else that would come up while actually USING the system.

The PS3 has similar issues. It’s no surprise that, even though it’s dramatically more powerful than the Wii, my PS3 hasn’t even been plugged in for close to a year, while the Wii gets played by everyone in the house on a fairly regular basis. Fundamentally, it’s about user experience, not about checklists of features. That’s why Apple is able to grow market share with devices which are, quite frankly, incredibly expensive by comparison… Because they are so much less trouble to use. More on that in a while; I have to think a bit before I can write up the story of the installer that had to download the downloader for the installer for the installer for the download. (I think I got that right.)

Peter Seebach



But plumbers are EXPENSIVE.


2009-09-07 14:10

Observation: There seems to be a bit of a leak in the downstairs bathroom sink. Turning off the shutoff valves to it stops the leak.

Solution: After experimenting some, determine that the faucet itself has a leak. Remove faucet, replace with standard issue faucet. Faucet no longer leaks.

Observation: The cold water shutoff valve now drips. (I suspect roomie over-opened it, and it was ~30 years old, so it was already on the verge of failure.)

Solution: Obtain replacement shutoff valve. Turn off water main, replace shutoff valve.

Difficulty: The compression rings were pretty much stuck on the tubes. The one on the larger tube came off easily, the other one took a bit of doing.

Observation: The smaller tube side of the shutoff valve now drips.

Solution: Obtain pipe cutter and replacement compression ring, etc., shorten pipe past the area which was noticably scratched and dented.

Problem: The pipe no longer reaches to the shutoff valve.

Solution: Go buy five feet of flexible copper pipe and a replacement for the valve at the OTHER end (the one connected to the sink.)

… So, okay, put the valve on the pipe, run it through the floor, connect everything up.

Observation: Very slight drip on that side of the shutoff valve.

Solution: Another quarter turn.

Total cost: About $80-90 in materials plus about two hours’ time. (I’m not even including the saga of the silicone caulk, the search for a reamer, or some of the other side quests.)

… But at least I didn’t have to call a plumber, right?

Peter Seebach



Facebook: Congregational, not parochial

(Personal, GeekStuff)

2009-06-20 18:54
Comment [5]

Got sucked into facebook by some friends. Fascinating toy; I can have lists of people I know from all over and watch updates about their lives, see news things they think are interesting to share, and so on.

This is very cool, in some ways. It allows us to create our own community — a community containing the people we want to be in touch with, no matter where they are.

This is not all good.

Screwtape once wrote (perhaps prompted by C. S. Lewis):

Why have I no report on the causes of his fidelity to the parish church? Do you realize that unless it is due to indifference it is a very bad thing? Surely you know that if a man can’t be cured of church going, the next best thing is to send him all over the neighbourhood looking for the church that “suits” him until he becomes a taster or connoisseur of churches.

The reasons are obvious. In the first place the parochial organization should always be attacked, because, being a unity of place and not of likings, it brings people of different classes and psychology together in the kind of unity the Enemy desire. The congregational principle, on the other hand, makes each church into a kind of club, and finally if all goes well, into a coterie or faction. In the second place, the search for a “suitable” church makes the man a critic where the Enemy wants him to be a pupil.

This applies directly to toys like Facebook. If the bulk of my political news is forwarded to me by people I get along with, who generally agree with me, I’m going to get political news weighted towards presentations that support my beliefs. If I hang around with people who are “fans” of the Marriage Equality campaign, while someone else hangs around with people who are “fans” of a hypothetical “Traditional Marriage” campaign, we end up seeing different worlds. We view ourselves as fairly middle-of-the-road and moderate, because our friends agree with us, and we don’t run into many people who don’t. We filter our experience of others to agree with us, then calibrate whether we’ve gotten a bit silly by how well we agree with our friends.

This has some real potential for serious harm. That isn’t to say it’s bad to hang out with people you like — to stick with your comfort zone, so to speak. What it does mean, though, is that you should be aware that you’re living in an echo chamber when you do that — that you are surrounding yourself with people who support your views. And you should probably make a real effort to find people you don’t agree with, and keep in touch with them, read what they think is interesting, and remember that they are not necessarily as “far out” as they look from the comfort of a community populated by people who were selected based on how comfortable they make you feel…

Peter Seebach


Comment [5]


Thoughts on "neurotypicality"

(Personal, Autism)

2009-04-19 13:05
Comment [1]

The term “neurotypical” as a catch-all for non-autistic people really bugs me. It bugs me because it’s patently untrue; someone with severe bipolar disorder is not neurologically typical.

That said… It’s the word everyone got used to, so at this point we just have to overlook the etymology and accept that this is the word that got picked. Language is like that. Words are the words we use, not the words we should have used if we’d had someone carefully pick the right meanings.

The classic source is, of course, the Institute for the Study of the Neurologically Typical. This site seems to me to be the origin of the term, and has the unusual trait that it’s among the least smug and insulting of the pages I’ve seen using the term. A lot of autistic people like to be pretty harsh on the “NTs”; I’ve been thinking about why. I think it has roots in how people, especially non-autistic people, think about autism.

The term researchers like is “autism spectrum disorders”. As the term suggests, there’s a pretty broad range of autistic people. They aren’t all the same. What this means is that it gets pretty frustrating for people who are basically able to function to get lumped in with people who can’t dress themselves. A recent article in The Economist referred to autistic people as lacking “Theory of Mind” (the awareness that other people have separate minds and knowledge). It is obviously untrue that all autistic people lack theory of mind. But it is true that some do, apparently.

Failure to make that distinction is frustrating. I think that’s one of the points of writing about “neurotypicals”; part of the point is to make claims which are just a bit too broad, to help communicate what it’s like to be part of a category that gets all lumped together. It’s also, of course, a natural human quality to tend to lump things together once we have a name for them. Part of the brilliance of the thought of talking about normality in the terms we’d use for a disorder is that we unconsciously assume that things which fit in a category are more-similar than things we haven’t categorized. (This is one of the reasons many people seem to think that “gays” have much more stereotyped and similar sex lives than “normal people”.)

People argue over whether autism is a disability or merely a difference. In mild cases, it seems to be both an advantage and a disadvantage. Is it good or bad? Why, yes. It’s both. Making it work better or worse depends on making informed choices about personal strengths and weaknesses — the same thing everyone should be doing, really. It’s a disadvantage that I have trouble reading faces; it’s an advantage that I can make decisions without being driven to unconsciously agree with people.

I think it’s useful to recognize that there’s a real disability here — there are things I can’t do, or at least can’t do without exceptional effort. There are things that I can only do if I think of them, which other people would do automatically and without effort. At the same time, it goes the other way. I don’t particularly need the government to support me as though I couldn’t earn a living, but it’s helpful if people just accept that I’m not “a people person” very much, and let me get on with being good at the things I’m good at.

But think about how it would work if we tried to do the same thing for non-autistic people. “It’s okay, we understand that you’ll never really be much good at mathematics. Just be sure you smile a lot at the students and connect with them personally.”

Peter Seebach


Comment [1]


Disabling Emulate3Buttons on Ubuntu


2009-02-21 14:35
Comment [5]

Okay, this might be just a bit specialized, but it took me long enough to figure out.

Basic problem: X needs 3-button mice. It really does. Many machines don’t have them. So, X has a useful feature; you can set it so that simultaneous (or nearly) left+right clicks produce a “middle” click.

In recent Ubuntu, this sometimes gets enabled because the system isn’t quite sure that ALL of your “mice” have this feature — say, if it perceives a KVM switch as two mice, or if you have a built-in mouse and another mouse, or something.

The problem is that you can’t just override this in xorg.conf anymore. You need to use xinput. xinput’s powerful, clever, flexible… and totally over the heads of a lot of users. Here’s a script to run from .xinitrc or the equivalent which disables Emulate3Buttons on any input devices which have it. (It’s now called “Middle Button Emulation”, mind.)

xinput list | sed -ne 's/^[^ ][^V].*id=\([0-9]*\).*/\1/p' | while read id
        case `xinput list-props $id` in
        *"Middle Button Emulation"*)
                xinput set-int-prop $id "Middle Button Emulation" 8 0

How this works: We first obtain a list of ID numbers, disregarding those where the second character on the line was V, because xinput list-props doesn’t work on the "Virtual[...] lines for the generic keyboard and mouse. For each such device, we check to see whether it has the feature; if so, we disable it. (The number 8 indicates that we’re setting an 8-bit value; it doesn’t really matter. The disabled state is 0.)

The elaborate dance is done because I have no obvious guarantee that the id of a given mouse device might not change from one server restart to another under some future circumstances.

Peter Seebach

Comment [5]


Portable shell scripting: Review up on Slashdot!


2009-02-11 13:15

Beginning Portable Shell Scripting got a review on Slashdot. In the interests of full disclosure, I should mention that the author of the review, Joe MacDonald, is one of my coworkers.

I think it’s a pretty fair review.

Peter Seebach



Rep. Bill Young, of Florida: Constitution was a bad idea.

(Personal, Politics)

2009-02-03 02:12
Comment [1]

Read the story.

Here’s what got me:

Rep. Bill Young, R-Florida, said he has “quite a bit of anxiety” about the possibility of transferring detainees to U.S. facilities.

“Number one, they’re dangerous,” Young said. “Secondly, once they become present in the United States, what is their legal status? What is their constitutional status? I worry about that, because I don’t want them to have the same constitutional rights that you and I have. They’re our enemy.”

Oh, Bill. Silly, silly, Bill. Didn’t you read any of this stuff before you signed up? Let’s start with the question of why we are talking about “Constitutional Rights” to begin with. Let us read a passage together.

We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness. — That to secure these rights, Governments are instituted among Men, deriving their just powers from the consent of the governed, — That whenever any Form of Government becomes destructive of these ends, it is the Right of the People to alter or to abolish it, and to institute new Government, laying its foundation on such principles and organizing its powers in such form, as to them shall seem most likely to effect their Safety and Happiness.

Does this document (it’s the Declaration of Independence, Mr. Young) say “all citizens of the United States”, Mr. Young? It does not. Do you know why it does not? That is because the central, foundational, point of the American experiment was not the idea that Americans should be treated better than other people. It was that it was wrong of the British to treat other people unfairly; for instance, to treat colonists as second-class citizens.

It was not that we should have these rights because we are in America. No. Our foundational belief is that these rights, these fundamental liberties, are unalienable. They are universal. They apply not only to the privileged elite, but to everyone. Not only to British aristocrats, but to Colonial commoners.

Not only to us, but to them.

If you have a problem with this concept, I urge you to step down, and let your seat in our goverment pass to someone who believes in our government. You would throw away the entire foundation of our nation in order to imagine yourself safer? If you have your way, there is nothing for us to defend but some land and a bunch of immigrants to it.

You are so wrong as to astound and amaze. First, you hold the ludcirous notion that somehow putting these people on our soil, rather than on soil we rent from Cuba, somehow changes anything. The courts have not usually agreed with you, but then, neither does the plain language of the constitution. Let us read that again, too, since it seems like you’re unaware of it:

Amendment 5 – Trial and Punishment, Compensation for Takings. Ratified 12/15/1791.

No person shall be held to answer for a capital, or otherwise infamous crime, unless on a presentment or indictment of a Grand Jury, except in cases arising in the land or naval forces, or in the Militia, when in actual service in time of War or public danger; nor shall any person be subject for the same offense to be twice put in jeopardy of life or limb; nor shall be compelled in any criminal case to be a witness against himself, nor be deprived of life, liberty, or property, without due process of law; nor shall private property be taken for public use, without just compensation.

And don’t even start on the “public danger” line. Even if we grant it, to even be talking about it we have to admit what is plainly true: This amendment recognizes the rights of any person. If these prisoners are granted to be members of our species, then they have these rights. They must have these rights, the same as you and I, because they have done the same exact things to earn them — they have been born human. That is all it takes to qualify for this amazing offer!

The only enemy of America’s principles in this picture, Mr. Young, is some jerk from Florida who thinks that the unalienable rights of all humanity can be tossed away on a whim.

Peter Seebach


Comment [1]


Learning Rails, Round 2: Well, that was easy.


2009-01-19 21:24
Comment [1]

My ideal situation, given that I already know Apache, would be to have Rails work within an Apache server, because then I’d be using an existing server I understand instead of trying to learn and debug a new web server AND a new toolkit, but the pages I found were full of stuff about setting up FastCGI and embedding stuff in it, and so on… So, I finally had this idea: I’d try IRC. Because the IRC channel folks, while they may be rude sometimes, are at the very least current.

So I asked in #rubyonrails (on Freenode):

Okay, time for my newbie question. There are thirty million web servers out there. If I just want to start playing around with Rails, and I have an existing Apache server, is there a nice easy way to just plug Rails into the apache server?

Within under five seconds, three separate people had told me to look at “passenger”. I did, and found Phusion Passenger, aka mod_rails. So I looked at their install instructions, ran them, and BANG, Rails application on my local Apache server. Well, not really an application, just an empty and unconfigured install.

(Special credit to anathematic, who triggered a bot to give me the link and a brief description, and who said “I am fine being quoted as long as you mention my rugged good looks” when asked about being quoted. Consider them mentioned.)

So, if you include only time I spent actually working on this, that’s about another ten minutes. If you include time spent getting cussed at by someone who apparently hates Debian Linux, a lot, it’s probably closer to half an hour, but trying to help people answer questions is how you justify other people spending time answering yours. :)

Haven’t actually figured out what I need to do yet with regards to, say, creating databases for the Rails application to be to access, or any of that. I think that’ll be tomorrow, though, today was already long enough.


Actually, I figured it’d be really easy, and it was. Created the various databases, and now I get:

Ruby version	1.8.7 (i686-darwin9.6.0)
RubyGems version	1.3.1
Rails version	2.2.2
Active Record version	2.2.2
Action Pack version	2.2.2
Active Resource version	2.2.2
Action Mailer version	2.2.2
Active Support version	2.2.2
Application root	/Users/seebs/src/rails/test
Environment	development
Database adapter	postgresql
Database schema version	0

… so it’s WORKING! Hah!

Big surprise so far: After generating a file, navigating to it produced nothing until I kicked Apache. This is apparently normal, but I don’t understand it.

Peter Seebach

Comment [1]


Rails, round 1: Initial setup


2009-01-18 20:06
Comment [1]

The initial setup is mostly easy.


Here’s the essential problem: Rails, and Ruby in general, are in the midst of some fairly active development. In fact, extremely active. The bulk of the how-to guides and writeups I found in casual searches, though, are older. The result?

Outdated information. As an example, I want to use Rails with PostgreSQL (because MySQL is really not even in the same class, frankly). So I went to look up how to do this. I found a bunch of different guides, for a bunch of different versions of Rails. Some talked about the “new” support available in Rails 0.10 or 0.13 or so. Some talked about the two different PostgreSQL adapters available for Ruby, the older “postgres” and newer “pg” adapters. (Only the old one works… Or worked?)

It turns out that, so far as I can tell, current Rails (version 2.2.2) works fine with the current “pg” adapter. So a whole ton of information out there is at best a little obsolete.

On the other hand… It works, so far as I can tell, pretty much without substantive effort. Now I have a “rails” project, such that if I run “script/server”, I have a program listening on port 3000 that says welcome to Rails.

I’m still a bit confused about all the options and choices being offered. I haven’t yet gotten far enough into this to know how I would decide what “models” and “controllers” I want to generate, but apparently there’s a script to do this. From here, this is all a bit overwhelming — of course, it doesn’t help that I’m off my meds and getting interrupted a lot. But I think I have Rails installed, and I have a database server running, so I’m probably pretty close to being able to start playing with it. I’ve put in about half an hour, maybe forty-five minutes, so far.

Peter Seebach

Comment [1]


« Older Newer »