Category Archives: General

Catch-all category

General

When I get a time machine

When I get a time machine, I’m gonna go back to the 1600s. I’m going to gather together all the texts, blueprints, plans, code, etc. I need to get people started working on reproducing the following technologies:

  • electric generators
  • digital computers
  • rockets
  • satellites
  • radio transmission
  • LCD monitors
  • video cameras

and, ya know, whatever other infrastructure is needed to effectively support those. When the inevitable question arises about motivation for pursuing these projects, I’ll explain to them that when this is all knit together, everyone in the known world will be able to sit in their homes and watch a bunch of strangers compete to lose the most weight.

General

100-word zombie story

Sometimes sheer boredom, not a virus, spurs the dead into action. Dave had been dead for about 8 months when he decided to pop out for a little walk and chat with friends. Of course, in that time, he’d changed, and his friends had changed. Had they been ready to accept him back into their lives, even his closest friends couldn’t get past their prejudices, and they reverted to that old zombie script, wherein they insisted on killing him again. Anyway, his fresh perspective led him to realize that death wasn’t really any more boring than his life had been.

General

Brother MFC-9320CW

Just bought a Brother MFC-9320CW. It’s good so far. I use Ubuntu 9.10 for almost everything, and Brother actually supplies Linux drivers and source for both the printer and the scanner. The printer driver is just a PPD, but the scanner driver has some code-y components. But they provide a scanner .deb, even for 64-bit. In addition, the scanner is smart enough to be able to scan directly to a CIFS share, so if there are ever problems with the scanner driver, there’s still a decent way to scan.

The onboard web-based configuration software is pretty lackluster, but it does seem to do the job if you know what you’re doing and/or are curious enough (like, if you want to set up the CIFS parameters for scanning, don’t look under ‘Network Configuration’, and don’t try to find a ‘Scanner Settings’ like the ‘Fax Settings’ and ‘Printer Settings’… You have to find ‘Administrator Settings’ and the subpage ‘FTP/Network Scan Settings’ then ‘FTP/Network Scan Profile’.).

Since it’s all network-based and the onboard computer seems to be pretty smart, I can share it with all my computers easily and with Mac or Windows when I happen to be in those sort of modes.

The hardware is also good; the automatic document feeder is a big reason I got this model, and it seems to be robust and fast. Prints look very nice. I like the fact that it’s a toner system rather than an ink system, because I use my printer so seldom that inks would dry out on me between uses (though I haven’t used an inkjet in about 5 years, maybe they’re better now).

I’m not much for writing comprehensive reviews, but I just wanted to make a note for those who use Linux and were looking at this model. I’ll answer questions should any such person come around…

General

Unexpected/expected

Have I mentioned before how much I love libraries? If there’s a single scene that summarizes me as a person, it’s me walking a couple miles to a library to read about some stuff I don’t need to know.

I love the insider’s view of things. Even if I don’t want to be an insider in a particular field, I really like to immerse myself in their views and language, when I have the time to, rather than sticking to the strictly outsider accounts (popularizations). So a library (especially a university library) is a perfect place for me: it’s mostly full of insider accounts of fields and topics within those fields. If I had to go out and spend $50-$100 per technical book, I wouldn’t be able to frequently dip my nose in a field for a few dozen or few hundred pages and then put it aside again.

I ran across an unexpectedly interesting book in the ISU library today. I did a search for “domain specific language” in the catalog. Since their computing collection is a little slow to catch up to the outside world, they didn’t have any of the several books on domain-specific computer languages published in the last few years. But they did have one on “Domain-specific English”, which turns out to be pretty cool for reasons that I won’t really go into too deeply here. Go find it at your library if you want to know more about that…

There’s a bit in here that was particularly relevant to me:

I remember one winter afternoon, mothers chirping in a corner of the playground as they waited for the bell to announce the schoolday’s end. Their talk focussed on homework – a subject of daily comments – but the conversation sounded more lively than usual. The topic of discussion, and of much stigmatizing, was the reading assignment for that day. Since my own child was in the class, I was aware that the purpose of the assignment had been to encourage children to read for global comprehension and to guess what unfamiliar words could mean. To my surprise, most mothers had missed this point entirely and were indignant. In their opinion, the assignment featured too many difficult words. Some complained about having to consult the dictionary to help clarify the precise meaning of the new words: wasn’t it too early to face such vocabulary? How surprising from an experienced teacher like our maestra!

(And yeah, I know it’s pretty meta to be quoting that in this context.)

I was lucky enough to have parents that would have been among the dissenters in that conversation. They never acted like or told me that some particular text might be ‘too hard’ for me, and they never would have recoiled in shock that some assignment had caused me to use a dictionary. I don’t know that they ever positively subscribed to a pedagogic theory that included the idea of reading for global comprehension and guessing, but the fact that they didn’t discourage it allowed me to develop my own unconscious theory of learning along those lines. If I had to guess, I’d say that children tend to want to explore the world according to those principles, and only discouraging them would stop that short.

Anyway, what was I saying? Oh, yeah: I had fun at the library today. That’s all.

General

Another reason that ad-supported == teh suck

This article from ‘MicroISV on a shoestring’ (which is a blog worth keeping up with, if you ask me) has an interesting insight. Patrick says that ad-supported sites are less likely to craft a good user experience, because if the site is better than the ads, the site doesn’t make money. Oversimplified, sure, but it does point out one of the forces at play in the overall dynamic.

I guess that’s a variation on something I’ve been thinking about, that I should get paid for the value I bring, rather than for the value that my advertisers bring. Or my ability to get people to look at little come-ons that give them the perception that there is some value elsewhere, to be more precise.

‘course, setting aside the absurd logic and perverse incentives, I’m glad that somehow ads occasionally work out such that people make good content and also make money from it.

General

Worked up

Y’ever get worked up about how much you ought to get worked up about something? And then at some point you have to evaluate the inequality about whether the effort of evaluating how much to get worked up, plus the effort of getting worked up itself, is greater or less than the effort of just getting maximally worked up about the original thing from the start. If you know what I mean.

General

More evidence that ‘shopping is hard’

Huh, I thought shopping for computer-telephony interfaces or scalable web-hosting infrastructure was hard. A little research lately has convinced me that shopping for any sort of insurance must be at least as difficult and probably more.

There is one inherent fact about insurance that seeds the complexity: you’re trying to predict complicated and rare events. The more predictable an event is, actually, the less likely it’s going to be insurable, or insurable at a rate you’re willing to pay. I mean, if you can predict an event with some certainty, you should be using a bank account instead of an insurance policy.

There’s also the psychological twist that these are events that you just plain don’t want to happen. That probably tends to make you undervalue the little information you do have that helps you make your predictions, and causes you to want to just hurry up and get done making the decisions.

On top of all that is, I’m pretty sure, a general tendency for insurance companies to purposely make it harder to buy their products. A great tension exists between the generally communal idea of insurance (we all pool our money together to help whoever needs it) and the capitalist imperative to profit. Basically, insurance companies can only profit to the degree that they hide their actuarial knowledge from their customers.

I was looking at health insurance tonight and was presented with a painful interface to choose a policy. I specified a few parameters in very general terms, and they presented me with dozens of possible policies to choose from, with a ‘comparison’ feature that did little to enlighten me about the differences. It kind of reminds me of that game Black Box where you’re trying to discern what’s in the box by shooting a tiny number of rays into the darkness, though this particular game of black box is probably 80-dimensional instead of 2D. My choices would still not be easy even if I had a full view of the model(s) they use to design these policies, but…

General

Branching is hard

Ya know, for all the conceptual elegance of the idea of branching/merging in software revision control, it sure can be a pain in practice. Just in the last while, I’ve run across the following situations:

  • someone mismerged my code because they merged based on files rather than revisions
  • had to decide whether to merge someone else’s code because mine was dependent on it, but they hadn’t merged theirs
  • had to decide when to merge my code, which was part of a larger feature and was not a complete feature in itself: do it now and possibly introduce instability, do it later and possibly have it get delayed in the shuffle
  • stuff I’d merged disappeared because the branch was remade after I merged
  • conflict while merging my code because the branch was based on a way older revision than I was informed (so other changes I’d made previously were not there to merge against)
  • not knowing whether my changes were to be merged because it wasn’t decided when the feature was to be released
  • a special case of the previous situation, when it was first decided the feature was for later, then it was moved earlier
  • work for a future feature ended up causing a conflict when trying to merge a current feature because the two changes were made in the other order on the same code
General

Web Services interop

I wonder what the current status of Java < -> .Net Web Services interop is. A year-n-somethin’ ago, it was a bit of a mess, and for the project I was working on we had to create a proxy running on a Windows box to make the calls. Ugh.

Actually, I don’t really wonder. I don’t care, because I’m not having to deal with such right now. Java/Python/Flex interop, yeah. Passin’ them AMF packets around like a wild man…

General

Simplifying my mail management

Here’s a simple thing I did today that will save me some annoyance when dealing with new mail.

I manage my mail in Thunderbird by the simple rule of: if it’s something I need to respond to or reread soon, it stays in the inbox. If it’s junk, junk it, if it’s totally ephemeral, trash it, otherwise it goes to the ‘old’ folder. There are already keyboard shortcuts for junk and trash, but I was still dragging and dropping to put stuff in the old folder. Until I installed keyconfig (and yeah, that link is as close as there is to a project page for the thing, unless you count the author’s homepage). I then installed a script on O that says
MsgMoveMessage(“mailbox://nobody@Local%20Folders/old”)

No more drag-n-drop to manage my email. Nice.

(Update: now Thunderbird has that nice ‘A’-for-Archive button, so I use that instead. Had to archive everything from my ‘old’ folder to make that happen, but that wasn’t too bad. I did have one problem, though: I had stuff in my ‘old’ folder addressed to, for example, acct at ourada.org, which was an alias I used to use. Thunderbird got confused and tried to archive that to my gmail account. I just set the archive folder for all my accounts to a Local Folders one, and that problem went away.)