The Caffeinated Penguin

musings of a crackpot hacker

*Personal* Computers

| July 28, 2008

I was reading the Unix Hater's Handbook and came across this gem:

If you sit down at a friend’s Macintosh, with its single mouse button, you can use it with no problems. If you sit down at a friend’s Windows box, with two buttons, you can use it, again with no problems. But just try mak- ing sense of a friend’s X terminal: three buttons, each one programmed a different way to perform a different function on each different day of the week—and that’s before you consider combinations like control-left-but- ton, shift-right-button, control-shift-meta-middle-button, and so on. Things are not much better from the programmer’s point of view. — Unix Hater’s Handbook, p. 126

Now, most of what is in this book doesn't apply to Linux, as many of these issues have been fixed. The above, however, still does, and has been cited as “this is one of the things which needs to change if Linux is to get widespread acceptance”.

While this may be so, if it ever does happen, then I would stop using it.

The fact is that I can set up my Linux box to work the way I want do (focus follows mouse, window shading, 8 workspaces, no auto flip, hotkey bindings for the stuff I use) and you can set yours up to work the way you want (everything from “works just like OSX” to ratpoison), and our two logins won't step on each other's toes.

Further, what you're talking about here is customization – making the computer work the way that best suits you. Now, if you happen to work the way the Apple or Microsoft UI designers plan, fine. However, if you don't, you'll just have to conform.

But, say the pundits, it's consistent!

I don't care. It is a personal computer, and I can set it up so that it works the way I want, and that is why I like it.

Garden stuff

| July 27, 2008

  • We're growing some eggplant this year, including some skinny Japanese eggplant. We got three of them, which made a perfect amount for some venison stir-fry.

  • I have one Jalapeno.

  • I have a pile of very spicy radishes.

  • The lettuce is doing well.

  • The tomatoes can turn red any time now.

  • The broccoli is very leafy, but not growing any broccoli florets, which is kind of sad. Venison stir fry is good.

  • The corn has started to grow ears, but I'm not sure how well these are going to come out given how the frost really whacked them.

  • The electric fence is 1/4 up. I need to do the rest, but so far the deer haven't gotten to anything.

  • The cats (lovely critters) have killed or scared enough of the birds that we have blueberries. I grabbed a couple of cups on Thursday to make buttermilk blueberry pancakes for breakfast, and then Liz and I picked about a quart of them on Saturday. She made muffins on Saturday, and I made scones on Sunday. There are still some left, so I might make more scones tomorrow night.

Staycation results

| July 27, 2008

I wish it wasn't over, but I did get some things done.

  • Primed some shelves I'm building for my office

  • Finished the drapes in my office (the strings needed to be cut to length, and the ends of the wooden rods needed to be painted black)

  • Cleaned my office

  • Cleaned my workshop

  • Pulled out the 8 80GB hard disks, and the “non server” components from my old workstation so that I now have another server which will be the basis for an asterisk box when we finally get to that project

  • Switched the border router from DD-WRT to Tomato (pretty graphs, yayyy!)

  • Implemented QoS on the router so big uploads won't kill VOIP.

  • Went to the optometrist. My eyes are fine, myopia is diminishing, got new lenses as mine are beat to hell. Also got a second pair of glasses just for computers.

  • Got insulators put up on 1 side of the electric fence.

  • Got Licorice and Heidi in to and back from the vet for general anesthesia, extractions of diseased teeth, deep ear cleanings, etc.

  • Had supper with and then went out to play mini-golf with Liz and her folks. I took them to school, with a score 2 under par.

  • Played some video games.

I think that is about it. 🙂

Yeeeeoooowwww….

| July 27, 2008

So, Liz and I are working on rejiggering things in the kitchen…

[Wouldn't it be nice if the fridge was on this side of these cabinets?

Well, if we drop the cabinets, move the electrical and the water, we could do that quite easily. Would take an afternoon.

How about Sunday?

Works for me.]

… and I get toned out to a vehicle fire. We roll up, first truck on the scene (300 gallon + foam truck), and we can see the column of smoke 200 feet in the air from around the corner (it's not far, but there are trees in the way).

[ Well, I guess we don't have to worry about the gas tank going. ]

We roll up and the assistant chief is there, puts us where he wants us. I grab an air pack as he pulls and flakes hose out. About 30 seconds later, one of our ETAs shows up (1000 gal, no foam) and a Captain jumps out, gears up, and joins me on the hose. We put the car out.

[ What kind of car is that?

Must be a Saturn.

How do you know?

It's sitting in a puddle of plastic from where the body panels melted off.

Well, that makes sense, doesn't it?]

We put it out, roll up the scene, and I come back to finish working on the water for the automatic icemaker.

We're all finished with that, and I'm working on finishing up, putting back the ceiling panels, etc… and I fall off the ladder. This is not actually very bad, since it was a short ladder.

But, I fell into a drill, including the bit. A nice, 1″ paddle bit, with the half inch spike on the end. Caught it right in the fleshy part of the back of the leg, about 6″ above the ankle.

Liz bandaged it up for me, but man, that thing hurts.

Doctor Who is good, except…

| July 26, 2008

they're a bunch of anti gun nitwits.

“I try and stay away from Torchwood, too many guns”.

“I don't like guns”.

Bunch of weenies. They're just tools. Sonic screwdriver, check. 1911, check. Ready to roll.

The state of SecondLife (and opensim, etc.)

| July 23, 2008

Okay, so I've done some more looking in to these virtual worlds, and am compiling my results here. If I have missed anything which others know about, please comment and let me know.

For the curious, my name on the Linden grid is “Fnord Bookmite”.

Servers: So, the central open source version is OpenSimulator. It is designed to be run in a grid or standalone, and there are other grids listed on their Grid List. One of the more interesting grids is OSGrid, in that they run the central authentication and bookkeeping server, but other folks can “hook up” their own servers to the grid. So, it is a distributed edge grid with a central command and control hub. This, of course, has me thinking about distributed P2P grids. Presuming a 2D orthogonal connecting “world grid”, you can have a central organizational “record keeping” structure which allows you to choose a vacant plot and plunk your server there. People connect to you via your neighbors, so really you would be peered with 4 other machines. The way you’d get “from here to there” is to walk there, passing from one server to another. Searches would work similarly – you initiate the search from where you are, and each place searches its neighbors, and the search ripples through the grid. When you have your answer, you teleport directly to that server. As individual servers drop off, it’s not really a big deal, because 3 others can get there. RealXtend has a server (based off OpenSim) and a client (based off the Linden Labs GPL-ed viewer) which has some nifty features. It is hosted on SourceForge, so the source is there. One of the nifty features they’ve added is the ability to teleport avatars between unconnected grids – a great and necessary feature. Folks will need to be able to move seamlessly (well, as seamlessly as teleporting is) between grids, bringing with you all your stuff as well. On the “non SL” front, Sun is doing one called Project Wonderland which comes at it from a slightly different angle, but also does different things. Google is also doing one, called lively, but I don’t believe they are releasing servers so folks can run their own, which means I’m not really interested. Viewers: I’m not going to go into all the viewers here, as there are a pile of them, but AjaxLife is particularly interesting. It is a pluginless, browser-based viewer. Cool Uses: IBM is using this technology, coupled with sensors to do 3D Virtual Datacenters. The idea is that you can wander around your datacenter with the “heat” overlay turned on, and visualize the collected data as to what is hot and cold. Or, turn on the “load” overlay and see which machines are getting hammered (the one spitting flames has high load).

Poor pinky

| July 22, 2008

Pinky had the sniffles. It’s okay, all the cats had the sniffles. Otherwise, they were fine. Pinky was eating, drinking, playing, and would come over and want to be picked up. He wanted to play and be petted and held. This weekend, he went to an adoption clinic. He and his sister were adopted by a little girl (probably 6 or so) who had just had to put down her 22 year old cat a few weeks earlier. This morning, I got an email from a woman at the agency which runs the foster program. Pinky is dead. It is not the little girl’s fault. Pinky died of feline distemper. The woman emailed me to let me know this, and that I should get the other kittens (the three we are keeping) checked (which they will be as part of their upcoming physical and vaccinations). Our kittens have the sniffles, but are rapidly improving. Since the momcat (who would chase our other cats) is now gone, we can let them out, and they have been wandering and exploring. Aside from rapidly improving sniffles and the one with the bad (but healing well) eye, they are all just fine. It doesn’t make any sense. I mean, this Panleukopenia virus is pretty much everywhere. Most kittens are exposed, and when you have a lot of them together the aggregate volume of virus is too much and some will succumb. It kills quickly, with 90% of kittens dead within five days. A particularly strong strain (or kitten with weak immune system) will kill within hours. If we had such a strain, shouldn’t the kittens we kept be showing symptoms? Aside from the normal “baby poop” that kittens have while nursing, all of the kittens had proper non-diarrhea poops, were eating, drinking, and playful. Like I said, no symptoms. Some thoughts: – Maybe I should have taken Pinky to the vet for the sniffles. However, I didn’t really think much of it. He was getting better. So are our other two. They’re going in to the vet for their shots in a week and a half, but I’m not going to move up that appointment, because they’re getting better. If their situation worsens, and they stop getting better, sure I will, but these kittens are not really sick – not like the symptoms which are described when talking about distemper. – I probably shouldn’t have taken him in to get neutered. He was a bit small for that, and I don’t think this helped any. I figured they wouldn’t neuter him if he was too small. I listened to the agency and took him in and let the vets running the low cost spay/neuter clinic decide. – I don’t know that it is a good idea to run a public adoption clinic with cats who have not had their shots. Reading the literature, pet owners can carry this distemper on themselves and their clothes. All the other cats who were at that clinic are getting checked. It will be interesting to see who has what. If they all are infected, and ours are fine, then it kind of suggests where they got it from. Further, it could even have been the cage used at the clinic – not properly sanitized or whatnot. – Further, if only Pink and his sister turns out to have been/be sick, then it was (unfortunately) the little girl’s house. It is kind of a shame, because they had no way of knowing this, and had Pinky not been fighting a cold, it might not have been a problem. I really feel quite terrible about all this. Pinky was a sweet kitty, and I can’t help but think that there was something I could have done to fix him. It’s part of how I’m wired – I have to fix things. If I’m this broken up over a kitten, I can’t imagine what I’m going to be like when I can’t save someone at a fire/accident scene. I know it will happen, but that won’t make it easier. I dread that day.

More kitten pics

| July 18, 2008

Linky

Take that, !

Oh, we're keeping all these guys. From left, these are: Lucky, Sunkist, and One Eyed Socks McGee. Despite the name, we're trying to save his right eye.

Putting on my pundit hat…

| July 17, 2008

For those of you too young to remember, in the early 1990’s: (1) The world wide web was a fad, and services like NNTP and Gopher were here to stay. (2) TCP/IP itself was a passing fad (even Microsoft said so). Enter Second Life. At first, I was dismissive. Sure, they’re doing some neat stuff – creator-owned content and all that, but fundamentally it is controlled by one company, and is therefore inherently limited. World of Warcraft, for example, is loads of fun to play (or so folks tell me), but I wouldn’t really call it “infrastructure”. Then I saw OpenSimulator – a BSD licensed Second Life compatible server. But surely, says you, Linden Labs will sue them and shut it down, right? I don’t think so, considering that partnered with IBM, and have successfully teleported an avatar from one world to another. At this point, it is no longer an application – it is infrastructure with an embodied application. To be clear, think of it like this. It is not World of Warcraft, it is LiveJournal. What is the difference? Well, WoW is pretty much a self-contained world – it is the end all and be all of its existence. LiveJournal, on the other hand, is a whole pile of webservers plus all the backend data storage, and all the code which makes it work. But, it speaks a standard protocol and we hit it using a random web browser. Sure, it is owned by a company, but effectively you are paying them for hosting. Similarly, as long as there is a common protocol, a multitude of clients would be able to connect to this 3D server. How is this infrastructure? Well, you’re not paying for the application per se. I can take my stuff off of LJ and move it somewhere else, and I will still have a blog. Folks are here for something else – community, the extra bits which LJ provides, the hosting, etc. Similarly, this is what Second Life is, or will be in the future – hosting, a community, etc. Other people will set up servers to serve these 3D worlds. Collectively, they will be known as something – I will borrow from Neal Stephenson (who, as I hear it, inspired the folks at Linden Labs as well), and we will call it the Metaverse. So, share this with me. You will log in to your client, and pop into existence wherever you like (think “my home page” on the web). And then you will do… what? Anything you want. What do you do on the web? You will do it here – and more. You will teleport to your power company and walk in and pay your bills. You will go over to YouTube and watch movies. You will look at LOLCats and read blogs. Why not just use the web? Well, many folks will. After all, it works. But, there will be other things – you will interact with people as you do this. See your friends. Have a work conference? You’ll go to a meeting room and share a whiteboard and applications. Think this is farfetched? Project wonderland is doing it:
The types of collaborations that can happen within the space include audio communication, live desktop applications of all kinds
Now, the biggest potential is the unknown. Who would have guessed that icanhascheezburger would have been so popular? I sure wouldn’t, but I visit it daily. This infrastructure will allow for.. whatever folks do with it. As such, there will be jobs available for those with skills. Just as folks now need websites designed and built, they will need these spaces designed and built. Artists and 3D modelers will be in increasing demand, but so will programmers. All of these objects will have behaviors and such, and that will need to be written. It is not without challenges, of course. I mean, I would expect to need to change the default behavior of servers to be that your agent (avatar, if you like) data will actually be stored on your computer, and only be teleported into the server when you connect to it – as opposed to the current model of your agent being stored on someone else’s server. Otherwise, the server wouldn’t know what you looked like. The same is true of objects and such. Of course, copyright will be a problem. Folks are going to try to fix it with various copy restrictions which will be honored by the server, but once you buy something, it is expected that you’ll be able to move it off the server and use it in isolation on your computer (I expect that your computer will be a nonpersistent node on this network – essentially where you “start” before connecting to other places, and can use things you own or have built). So, if you can get it off, you can have a server which doesn’t respect “do not copy”, and therefore make as many copies as you like. However, as with previous instances of human history, copyright will rule. This is all software, and if you steal my software, it (likely) violates copyright. Problems, for sure, but all solvable. So, where does this leave me? Well, I’m playing with it. I think it’s really neat technology to begin with, and I want to develop a skillset related to it. However, I reiterate – it is not an end in and of itself, it is a vehicle. In my case, I plan on using it to compensate for physical distance. Specifically: – My civil rights (gun rights) work. – Gaming. (RPGs and tabletop miniatures games.). I don’t expect to actually implement rules, I plan on implementing objects – dice, miniatures, etc. Want to play Stargrunt? Digital armies which you pick up and move on the tabletop, rolling digital dice. Thoughts?

Can I get a w00t!

| July 16, 2008

I have 3D on my laptop (Thinkpad T60 with a Radeon X1400, for the curious)

Full screen glxgears @ 139FPS.

Instructions.

By looking at the DRI git commits, I knew that folks had gotten this to work on a similar laptop using the same video card as I have. So, I didn't bother with the hardware validation.

I used their script described in step 2, but I had to git-revert the previous commit, since it introduces a file which breaks the build. After that, it built and installed smoothly.

All other packages were sourced from the repositories listed in the instructions, and I just did an upgrade.

And then the keyboard didn't work. Apparently, the autodetection on this bleeding edge build isn't as good as the release build, so I needed to add:

        InputDevice     "Generic Keyboard"

to the ServerLayout.

Also, the Trackpoint buttons didn't work, but that was twofold. One, I needed to add:

        InputDevice     "Configured Mouse"

and two, I needed to change the driver in that section from vmmouse to mouse, because apparently vmmouse doesn't exist anymore or something…

So, 3D works, and when I close and reopen the screen, it no longer goes all wonky forcing me to flip from one VT to another. I haven't tried suspend/resume yet, but I will let folks know how it goes.