The occasional scrivener

Being the thoughts and writings of one Gustaf Erikson; father, homeowner, technologist.

Tuesday, 2024-10-05

No Piker

For some reason (probably because I feel an itch to hack) I was thinking about Plan 9 today. So it seemed an omen that /. had a call for questions for Rob Pike, co-creator of Unix and Plan 9.

I read some of the links in the article, and this pessimistic view left me thinking. Pike's point is that (academic) software research no longer matters. We're in a sterile wasteland of Windows, Linux, and the Web. No new ideas are being explored.

Well, that's fine as far as it goes, but a meme that's brewing is the coming dominance of mobile devices and content -- quite different from desktop or server computing.

These points from the article show some possible fields for research:

Only one GUI has ever been seriously tried, and its best ideas date from the 1970s. (In some ways, it's been getting worse; today the screen is covered with confusing little pictures.) Surely there are other possibilities. (Linux's interface isn't even as good as Windows!)

Ties in nicely with this post.

There has been much talk about component architectures but only one true success: Unix pipes. It should be possible to build interactive and distributed applications from piece parts.

Again relevant in the mobile space.

The future is distributed computation, but the language community has done very little to address that possibility.

Who knows? Mobiles are getting more and more powerful. GPS, encryption need processing.

The Web has dominated how systems present and use information: the model is forced interaction; the user must go get it. Let's go back to having the data come to the user instead.

Also very relevant from a user perspective. Data must come to you, when and where you want it, with a minimum of fuss.

Will academia pick up the thrown gauntlet? Lets hope someone does.

Sunday, 2024-10-03

Debian revisited

I need some way to backup the ailing windows box upstairs, whihc is suffering from an advanced form of WinXP palsy. So I grabbed an old 266Mhz box from the closet, installed a bigger disk, downloaded the sarge iso via Bittorrent and installed Debian for the first time in 2 years.

I'm using OpenBSD for the most part these days, but I couldn't be bothered to find diskettes and boot from them, then install via the network. So I went the easy route and installed Linux instead.

Debian is still hard to understand. In some ways it's more limited than OpenBSD -- you can't say that your box will get its network configurations from DHCP if you're not hooked up to a network already, and the partition program is hard to fathom. The replacement for the infamous dselect, aptitude, is really just more of the same, but a bit less counter-intuitive.

But in general, I know my way around Debian well enough to get going. Now I have to decide whether just to copy everything in the "Documents and Settings" subdirectories over via FTP, or to trust the Migration wizard in Windows.

Thursday, 2024-09-23

Teaching kids to code

Matthew asks how one goes about to teach kids to code. Viking is too small yet, but it's an interesting question. I know Hanna is quite proficient in HTML, mostly by copying and pasting, but Leo has shown no interest whatsoever in coding.

Part of the problem is the polished and complex nature of todays computers. In our day, you could slavishly copy pages of code and get something that worked. Even if it was just copying, you got down and dirty with the code. Some of it stuck. A curious kid (which I was not) could explore further, learning more and more. Whether learning Basic and VIC-20 assembler was a good thing is another question...

But now? Who can feel that they can produce something like Doom 3 by themselves?

Having said that, I believe a programming environment should have a graphic component. A former co-worker's son loves (loved? it's been a while) a DOS-based program for scripting dungeon adventures. A language of that kind could introduce the building blocks of programming -- loops, conditionals, events -- in a fun way that gives instant feedback and makes debugging fun.

An OO component could make it easy to "clone" your succesful monster, trap, whatever, and re-use the code. Introducing test cases is perhaps overkill at this stage...

I haven't seen Lego's Mindstorm stuff, but if anyone can make IDEs for kids, it should be them.

Update 2024-10-04: Bill Ward writes in a comment:

For me it was BASIC on the Commodore too. But today's kids have options as well. I think Javascript may be a good choice. My wife is taking a Flash class at the local college, and teaching me what she is learning. That could be a good choice too, except for the fact that it's rather expensive.

I remember someone prophesying that Windows Scripting would be the next "laymans programming language", but I haven't seen MS promoting it that way. Having an easy to learn powerful scripting language built into the OS would introduce lots of people to programming, not just kids.

Monday, 2024-09-20

Eye candy

Thanks to Frank for tipping me off to Macdesktops.com. I now have a classic nerd desktop consisting of a pair of colliding galaxies.

Wednesday, 2024-09-01

Shit and Windows 98

Guess which is more fun to work with?.

Friday, 2024-08-27

Changing machines

Arghh!! Engineering a hardware upgrade suddenly doesn't seem worth it when you have to contend with re-installing every little damn piece of software that's needed to make Windows bearable.

My gnus can't display HTML mail anymore, and trying to fix that leads to installing lots of little packages from cygwin just to compile a program that dumps core.

The Oracle client is the install program from Hell.

The new monitor can only do 85 Hz @ 1200x1024, but then you get weird moving Moir� patterns all over the screen. Higher resolutions don't have this, but then you only get 75 Hz.

Firefox will export bookmarks, but not the ones in your toolbar -- which are all the ones containing the weird internal application URLs that no-one can remember.

Update: all of the four monitors we bought have the same defect. As I generously traded in my previous monitor to a co-worker who was suffering under a execrable Dell 17" "short-neck" (read as "shit-neck") I now have to put up with an older 17" Dell monitor which is much worse than my previous one.

Also, re-packing monitors suck. They are heavy and hard to fit into the boxes again.

Friday, 2024-08-20

Take that, RIAA

From the article:

"The Copyright Owners urge a re-examination of the law in the light of what they believe to be proper public policy, expanding exponentially the reach of the doctrines of contributory and vicarious copyright infringement," the court wrote. "Not only would such a renovation conflict with binding precedent, it would be unwise. Doubtless, taking that step would satisfy the Copyright Owners' immediate economic aims. However, it would also alter general copyright law in profound ways with unknown ultimate consequences outside the present context."

Exactly.

However, this means that the RIAA/MPAA will continue to go after individual file traders, instead of trying to cut down the software behind the networks.

Tuesday, 2024-08-03

Defragmenting madness

The desktop upstairs won't start normally, and I've got a hunch that the hard drive is too fragmented. This is propably not the case, but Windows encourages the feeling that your system is getting crufty and needs to be cleaned. (Unlike Unices, which just putter along, maturing like fine wines:

[ ger@openbsd: ~ ]% uptime
 9:17PM  up 284 days, 13:04, 5 users, load averages: 0.21, 0.32, 0.32
[ gustaf@ultra5: ~ ]% uptime
 9:17PM  up 34 days, 14:45, 1 user, load averages: 0.23, 0.15, 0.10
[ gustaf@oddjob: ~ ]$ uptime
  9:18pm  up 42 days, 10:11, 16 users,  load average: 7.84, 6.61, 5.40

(I probably shouldn't have used a parenthesis here.))

The question is: why do I have to defragment my hard drive manually? (and don't mention Task Scheduler -- I trust that app about as far as I can spit a rat). Why can't the operating system -- the piece of software I paid good money for, the prop keeping Microsoft's profit margins in the double digits each freaking year, the "bastion of innovation" that each and every citizen of this planet should use instead of "viral, Communist" free software -- why can't this fabulous piece of tech handle this simple task itself?

For crying out loud, Linux, developed by long-haired geeks in Finland, never neeeds to be defragmented manually. Neither does OpenBSD.

Wednesday, 2024-07-21

`Content-Type` soup

So here I am, validating all my pages as XHTML 1.0, when I read these links:

Basically, XHTML 1.0 isn't mature enough to use on the web. Use HTML 4.01 instead.

The problem is that I'd like my blog to be readable on mobile devices, who expect XHTML content. And the mod_rewrite trickery mentioned is way overkill according to me.

Who knew it was such hard work being a good Netizen?

Monday, 2024-07-19

Windows braindead wireless

I admit it, the new Toshiba is way nicer to use than my pokey old Thinkpad. But one thing bugs me a lot. We have a wireless network, and every once in a while, I lose connection to it. This is in the exact same place as where I use the Thinkpad running OpenBSD, and it never has this problem.

When Windows loses the connection, it won't reconnect automatically because the network isn't secure. This is a Good Thing, of course, but still highly irritating to lose all the ssh connections at once. Thank god for screen . The question is, why does the connection go away?

Tuesday, 2024-07-13

The BSD license explained

A concise definition of the BSD License.

Thursday, 2024-06-24

Historical perspective on Microsoft's APIs

This followup to Joel Spolsky’s piece on Microsoft’s future APIs is worth reading for the historical perscpective.

Computing is older than Microsoft, and even a 800-pound gorilla one day gets old and tired.

Friday, 2024-06-18

Bring on the spam!

Well, despite my punditry Gmail is real.

And now, thanks to Terje, I have an account!

I opted for the staid gerikson, instead my university Marathon nicknames of “Baskerbosse” or “Ebola”. So, bring on the spam! I’ve got a gigabyte to fill up…

It’s chilling to think that with Google’s grip on search, blogs (via the blogging tool Blogger), social networks (via Orkut), and now Gmail, they have a pretty good way of finding out everything about your online activities. I wouldn’t recommend planning starting a company or having an affair via Gmail. But I think it’ll be a great spamtrap.

Why DRM is bad for everyone

Cory Doctorow speaks at Microsoft about DRM.

DRM systems are broken in minutes, sometimes days. Rarely, months. It’s not because the people who think them up are stupid. It’s not because the people who break them are smart. It’s not because there’s a flaw in the algorithms. At the end of the day, all DRM systems share a common vulnerability: they provide their attackers with ciphertext, the cipher and the key. At this point, the secret isn’t a secret anymore.

Wednesday, 2024-06-16

Goodbye, aliens

I uploaded my 2,001th work unit to Seti@Home today.

That’s it. I expect I’ll hear about it if they find anything anyway.

Friday, 2024-06-11

Join the evolution

Let’s face it, Outlook Express and Internet Explorer are more or less orphaned by Microsoft today. They went flat out to crush Netscape, and now MS is resting on their wilted spinach leaves (laurels are too grand for this kind of thing).

Martin says it best, and Jim agrees. Join the evolution. Install Firefox for web browsing and Thunderbird for mail.

I’m an inch from saying “I don’t support that” when someone complains about IE or Outlook Express.

Tuesday, 2024-06-08

Near the end

As of now, I have 1,995 work units reported at SETI@Home. I've decided to stop at 2,000 (or more likely 2,001, since I may forget to check the status... besides, 2001 is more symbolic).

It's been fun, but rather open-ended. No end in sight, unlike the distributed crypto challenges out there. And in the end, it's just about egoboost -- I've got more WUs completed than you, nyah nyah.

So I'm quitting while I'm ahead.

Thursday, 2024-05-27

Your operating system is your girlfriend

Charles Miller has written a funny post on why the Mac is so desirable. That post, and this, makes the implicit assumption that you are male.

The Mac as mistress metaphor is very good, but I find it mildly offensive to use the metaphor that Windows is a prostitute. I don't disapprove of prostitution per se. It's just that for this metaphor to work, 90% of the computer-using population of the world would be having most of their relationships with prostitutes.

I would rather say that Windows is a female co-worker. Not unattractive, reasonably efficient (in her Win2000/XP guise), but prone to gaffes and embarrassing behaviour that kind of makes you dread meeting her in the hall or having lunch with her.

Linux on the desktop could well be a psychotic girlfriend. I wouldn't know, I've never used Linux as a desktop system, and I've never had a psychotic girlfriend. I do know that my laptop running OpenBSD and blackbox is a female co-worker that I would feel very comfortable with, even though I am married. Perhaps a hyper-efficient personal secretary.

Windows as a server is a female relative in a old peoples' home who calls you in the middle of the night and rambles senilely. You're happy to pay other people take care of her, and secretly wish that she would just die quietly.

Linux or *BSD as a server, on the other hand, is like a grandmother who is a world-class cook with a physics degree. You can always drop by her house, she is endlessly supportive and helps you with your life, without asking much in return. You love her all the more for it.

Wednesday, 2024-05-26

why I know perl

I learned Perl in my first real consulting gig at Agero. A large business directory company in Sweden wanted to synchronise their print catalogue with the Web. Additionally, they wanted an interface for customers to create their own ads on the Web. This was the sexy part of the project. I wasn't involved there.

The synchronisation didn't work yet, so every Monday my colleague had to take a 650 MB XML-file and feed it to a Java program that inserted the contents into a big old Oracle database running on a Sun Starfire. She was much more billable than I was, so as I incautiously admitted to Un*x knowledge I was asked if I could take over this job.

The XML was full of errors, unescaped ampersands, invalid characters... The Java program choked if it couldn't parse the file, so you had to manually search for the error and fix it, then try again. A successful run took about 9 hours.

I started by chopping up the file into the component entries and checking for bad stuff. This is trivial, just set $/ to whatever end element suits your fancy, but it took some reading of the Perl Cookbook before I had it nailed.

Then I started looking at how to automate this stuff. I eventually wrote a sophisticated run-control program that could be started with at, and that sent email when something went wrong.

Just when I had cut down the effective load time from three days to about 11 hours, the whole project got axed. I later learned that this was the third attempt to integrate the print version with an online database.

The contractor more or less blamed the whole debacle on us, even though it could be fairly laid at bad project management and unrealistic promises from the client to its customers. Oh well.

In the middle of my next project, I was cding up from a directory over a slow ssh link and accidentally rmd all my perl code. When I called the admins of the machine they helpfully informed me that as the machine wasn't in production it didn't have backups.

So now I know more Perl than I really want to. But I'm still learning more every day.

Monday, 2024-05-24

the dark side of java

Anyone who reads Erik's linkblog will be astounded about two things:

  1. damn, there's a lot of Java projects, and

  2. how the hell does Erik do it?

The list of projects is impressive, and for me as a novice Java maintainer, a bit daunting. How can one person keep up with all this? And everyone seems to be on first-name basis, not just with the developers, but with the projects themselves. What the heck is Maven, anyway?

But it's not just one happy family. There's a dark side to the Java development scene, and it rises to the surface here.

This person probably has a name, but I prefer to consider him or her as a cry from the collective subconscious of those Java programmer who're having trouble just staying on top of Java, never mind all the whimsically named frameworks and tools.

Both Erik and Russ are on the Bileblog's shitlist. But so is everyone else.

Tuesday, 2024-05-18

serendipity

Googling around for an emacs implementation of the Blogger API, I stumbled over color-mode.el by Don Knuth, and pmwiki.el by my old university friend Christian Ridderstr�m.

Knuth violates the emacs interface guidelines, but I guess he can get away with it. On the other hand, a celebrity deathmatch between RMS and Knuth would be something I would see on Pay per view...

The world is a small place, at least if you like emacs.

Tuesday, 2024-04-27

today's microsoft rant

Part of my responsibilities is taking care of new computer installs at work. We have recently purchased several top-notch Dell Inspiron 8100s. These have 15" widescreen displays.

To prevent ridiculously small font sizes, Dell ships with the DPI settings set to 120. This means that fonts look bigger, but also that Internet Explorer also scales the images on websites. These appear blurry and jagged.

Not surprisingly, this is a top issue at Dell's support forums. The "solution" is a registry hack: change the value of the key HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\UseHR from 1 to 0.

Additionally, when I tried to read an article on MSDN about this, IE froze when trying to load the page.

I will recommend Mozilla for our users in the future.

Wednesday, 2024-04-14

ordering email

After a tip from Rui, I've started to sort my work mail (mail addressed to me personally, and the support box) into quarterly archives.

Long experience has told me never to throw away mail, and the quarter seems to be a good time period in which to ask yourself "when did I get that mail?"

Wednesday, 2024-03-31

dilbert newsletter goes html

The Dilbert newsletter has gone HTML. I guess that's so they can sell more adverts. I wouldn't know, because I read my mail in gnus. So this just means I have to resize my ssh window so that the text doesn't wrap.

But the really bad thing about it is it isn't funny.

Tuesday, 2024-03-30

fudgeability

Kasei: The Importance of Fudgability is an interesting "common sense" view on how to design an application.

Wednesday, 2024-03-24

HTML typography

Learn about the fifteen spaces defined in Unicode at this page.

Wednesday, 2024-03-03

the litany of hate

In the interest of my co-worker's sanity, I have resolved to concentrate my hatred and loathing of Microsoft products to a five-minute period each morning.

This way, they will not be upset by my outbursts of anger at the crappiness of MS products, business practices, advertising, or general view of computing.

The actual litany is not finished, but I find the following to be restful:

We hates them, hates them forever!!!

Friday, 2024-01-23

compiling 3.4 on a sparc64

So I need emacs 21.3 to be able to use ange-ftp to update this blog. I just can't go around ftp:ing by hand, losing all sync, missing one measly comma and having to do it again.

I download the src and run configure -- it can't figure out which arch I'm on. No problem, I get the package from the openbsd server. Hmm, can't run, missing some libc .so file. Huh. Well, the machine should be running 3.4 anyway.

I get the src and ports packages, untar them, run the whole CVS update thing, and start to read the upgrade minifaq. Lot'sa stuff to do, but I follow the steps. Config the kernel and try to compile. Won't even let me run make depend. Seems to be expecting a file swapgeneric.c somewhere -- but that file should be somewhere else entirely.

So now I'm waiting for reply on the sparc64 mailing list. We'll see what happens.

Update: turns out to have been some kind of problems with my CVS update. Works now after a fresh get.

Copyright © 2024 Gustaf Erikson
Original design by Michael Merritt for OSWD
Powered by Blosxom