May 2006 Archives

The Weekend that Was

| No Comments

P5290091.JPG
Originally uploaded by eidolon.
My goodness, what a couple days. I'll try and write a nice long pictorial history of the trials and tribulations that were AnimeBoston. All in all, a successful, if exhausting event. By far the largest deployment I've ever done, with our fastest throughput ever (over 500 badges printed per hour). Next year we'll go even faster!

This picture is from Sunday, getting close to closing registration. The lone security person (whose name escapes me, but she was awesome all weekend) is directing the few last-minute registrants to either pre-reg or at-con registration lines. We did have a few hundred show up on Sunday, even some who had pre-registered.

Spectacular mad props to Ben and Barb for pulling 12+ hour days all weekend, and dealing with my own crotchetiness.

Spring Storm

| No Comments

Spring Storm
Originally uploaded by eidolon.
We get some lovely storms coming up the coast. This one was the leading edge of a storm front that just whipped through Worcester county. The radar image looked just like a boomerange. Nothing in front of it, nothing behind it, heavy rain and wind and clouds at the front and rear edge.

Zach and I went down to the edge of the lake and took this picture just as the front edge was moving over us. Within 90 seconds of this picture, we were being pelted with pretty heavy duty hail.

Ooblick and a vibrator.

| No Comments

No, not that kind, you warped weirdo.

This is a video of what happens when you take ooblick (a mixture of cornstarch and water), and put it on a vibrating plate.

It behaves... very strangely.

Thanks to frobzwiththingz for the pointer.


Barcamp Boston! June 3-4, Maynard

| No Comments

Looks like I'll be doing registration work for Barcamp Boston at Monster.com's offices in Maynard. BarCamp is an un-conference - a sort of on the fly get together for geeks to talk about geeky stuff and hang out. Sounds like fun, and sounds like an opportunity to talk about CONGO to an appreciative audience.

This is a pretty low-key event, but if you have something you like to present, or just want to come by and help with reg and yammer about various linux-y things, cmon down!


Fruit Bowl!

| 4 Comments

P5210003.JPG
Originally uploaded by eidolon.
I rarely get the chance to create something in the kitchen, but somewhere I got a reputation for making nice fruit bowl sculptures. Since we're going down to a birthday party for Catya's grandmother today, I had a request to make another fruit bowl.

This was a smaller watermelon than I usually use, so instead of the 'built in handle' I usually do, I decided to make it sort of more 'cradle' like. I cut the melon down and removed the 'lid, and hollowed out the interior (after cutting watermelon balls using a 1tbspn measuring spoon). After that I cut up pineapple, honeydew melon, grapes, kiwis (with Zach's help!), and strawberrys, and mixed those in. The baby pineapple was _TOO CUTE_ to cut down, so I fitted it into the top part of the watermelon.

Toothpicks are used a bit to hold the things on the top of the melon, but mostly this is just a bowl full o fruit. We have about the same volume again to refill as folks eat, carried in a seperate set of bowls.

Dog added for scale.

The Geek Farm

| 1 Comment

Following along my comments earlier about following in Steve Ciarcia's chatterings in his column in Byte magazine called Ciarcia's Circuit Cellar, I've decided to do something similar.

I frequently talk about the machines I run here at Chez Geek, without really having a library showing them. Each of these machines has filled a specific niche in what I do and helps me pursue my various n sundry projects. As I go on about various tinkerings, I'll try and keep the pages up to date with new upgrades and changes, and link to them whenever mentioning them.

So, without further adieu, I give you... The Geek Farm:

  • hunter - IBM T40 Thinkpad
  • endor - AMD Shuttle
  • yawl - Dell GX-260
  • winxp - AMD Shuttle (the only windows box)
  • deathstar - Old AMD box, running MythTV

There are others, but these are the primary machines that live here in my office. Good eggs, all of them :)


A Wikipedia evening

| 1 Comment

Tonight I spent some time working on Wikipedia, specifically finally creating my own user page, and cleaning up a few articles I had contributed to.

The big change though was I actually found a topic for which there appeared no Wikipedia article. So I went ahead and created a page about the AT&T 3b1, a computer I spent much of my time using back when I was learning many of my early Unix admin skillz. Feel free to check it out and add / change anything you know or don't know about this machine.


I saw a reference to this while looking at the new feature list for Firefox 2.0, and decided to give it a shot. I rather like it. It's a plugin for FF 1.5 or later that uses the addressbar as a progress bar for loading a webpage. You don't have to keep an eye on the statusbar to see what's going on. This is similar to how Safari under OSX works. I'm rather liking it.

The plugin is called 'Fission' and is available here.


Volleyball in the Boston Area?

| 1 Comment

So thanks to blk dragging me to a couple pickup games on Saturday while visiting scenic Pittsburgh, I've gotten the urge to look for some evening volleyball leagues in the Boston area.

I found the Boston Area Volleyball Players forums, which I'll be posting to shortly, but does anyone have personal groups they play with? Would be good to share the court with some folks I know. I'm a knowledgeable player with very rusty skills, though they seemed to coem back okay on Saturday. Playing weekday evenings would be best. Metro Boston (Framingham / Natick) would be ideal. :)

Update 5/14/06 - Found this listing on Yankee.org of local groups and pickup games.


Travelling in Style

| 2 Comments

This week I'm on the road to scenic Pittsburgh for a few days. While there are various wonderful aspects of this trip, there is also the bonus of being to test out various geeky projects that have been percolating around.


If you weren't angry before...

| 1 Comment

... there's no reason to hold back now.

I've avoided political discussion for a while, mostly because the world pretty much knows how awful Bush is, and commenting on it just makes me angrier. But this article from the Boston Globe has to be read by anyone who thinks that Bush is still acting in any way fairly, legally, or morally in the right...

WASHINGTON -- President Bush has quietly claimed the authority to disobey more than 750 laws enacted since he took office, asserting that he has the power to set aside any statute passed by Congress when it conflicts with his interpretation of the Constitution.

How can anyone possibly defend the actions of this man, who has taken on the role of sole arbiter of what is 'right' and what is 'wrong', no matter what the Constitution or the laws say? The Signing Statements have never been abused to this level before in the history of United States. No wonder Bush has never vetoed a bill. Had he followed the law and vetoed something he disagreed with, the Congress could have overruled him. These notes have no oversight. He can choose what laws he wants to obey that CONGRESS HAS PASSED, and which ones he doesn't feel like enforcing.

This is not the way the US Government should act, folks. Congress makes the laws, the President approves them or vetoes them, he doesn't get to pick and choose which ones he likes or dislikes. That's called a Line Item Veto, and the Supreme court in the 90's rules that that was unconstitutional, even WITH congressional oversight.

Why is this man still trusted with the keys to the White House?
It's always trouble when you start out conversations with "You know, why can't I just..."

15 minutes later, I did.

This screenshot is of a 'virtual' desktop. In reality, the display is being handled by 2 computers working together to drive 2 different screens. A single 'proxy' program called XDMX is managing the 'single' X display, and farming out the actual rendering of the pages to 2 different machines (yawl, my normal desktop machine, and 'endor', a server I bring with me to conventions.

By running Xdmx on 'yawl', and telling it 'endor' was an available screen, and yawl itself was another one, Xdmx provided a 'virtual' desktop spread across multiple screens and computers. I can slide a window from one screen to another without noticing any change.

The biggest surprise came when KDE noticed the Xinerama-based desktop without question, and enabled features like "How do you want these multiple screens oriented" "Woudl you like the toolbar to extend across all your screens", etc etc. Very pleasant!

In theory, Xdmx can handle any number of monitors in any configuration. I may put that to the test soon, but for now, having one extra large desktop is a fine place to start.
By the way, if you're considering doing this on your own, I highly recommend this article on IBM developerworks. Very informative and helpful.

JRemoteforMyth Released

| No Comments

Folks, family, and friends may have noticed I've been fairly absent from posting, chatting, and general socializing for the last few days. A chunk of this mysterious quietness can be attributed to digging my fingers into a coding project I've been thinking about for a while.

I've just released JRemoteforMyth. This is a webstart-enabled app for folks who tend to hang around on their laptops or desktop machines, with a MythTV box nearby. It allows for a small 'remote' application to sit on their desktop and control the Myth box remotely via normal "up" "down" "enter" buttons.

There were a number of challenges writing this. I haven't written Swing applications in a few months, and I'll be needing to get back in the saddle shortly for some consulting work I'm doing. This was a great 'simple' defined application I could whip up that had a fairly definite design, goal, and completion metric.

The second challenge was this was my first full webstart-enabled app written entirely inside Eclipse. For the most part, this didn't present any particular problems, and went quite smoothly. I'm still ecstatic about Eclipse' SVN and CVS repository integration. Using CVS to hold my working files, I was able to switch from my laptop to my desktop machine with only a Project->Team->Commit on one machine, and a Project->Team->Update on the other. Yay!

Last but not least, a grump. When writing a Webstart enabled app, the resulting 'jar' file that containst he app is published onto a webserver, and the JNLP descriptor file tells webstart well to download it. Webstart, however,will only install and run 'signed' jar files. Eclipse provides no mechanism for signing jar files internally. It can generate the jar file for the application, but several command line tools need to be run to actually sign the file. Very annoying.

I've announced the app to the mythtv-users list, and I'm seeing downloads, so SOMEONE is interested in it.

Next will be some basic enhancements to it, adding things like keyboard entry, an multiple tabs so the 'keypad' can be displayed along with normal navigation keys.


Article Subscription fixed

| No Comments

A week or three ago our wonderful blogmaster installed the subscription module into Movable Type. Unfortunately, a configuration wasn't quite set right, and subscriptions were not working.

If you want to receive mail notifications when a thread updates or changes, you can now subscribe to the thread (see the article detail for the field). You'll get a piece of email asking for confirmation (this is to avoid spammers), and then you're in like flynn.

Sorry if you tried to subscribe before!


Oh sure, why not

| 5 Comments
Just because math education is something I'm curious about - how much do folks really hold on to later in life?
You Passed 8th Grade Math
Congratulations, you got 9/10 correct!
I even know which one I got wrong. And no, I'm not going to tell you.

Coding horrors from the past!

| No Comments

It's nice to be back into coding for a while. Of course, one of the drawbacks is coming across code written over half a decade ago that should never have seen the light of day. Take for example this gem I ran across while continuing with my updating Keystone project...

$pq = db_query("select dtable,dcolumn,dflags from dictionary $wclause");
while ($pd = db_fetch_array($pq)) {
        $varname = "op_$pd[dcolumn]";
        eval("\$oval=\"\$$varname\";");
        $varname = "sp_$pd[dcolumn]";
        eval("\$sval=\"\$$varname\";");
        if (empty($oval)) {
                        $oval=0;
        }
        $active = $sval ? "1" : "0";
        $subtable = ($pd[dtable] == $proptable) ? '' : $pd[dtable] ;

It's been said there's a special hell for people who write code that uses the eval statement in production code. Apparently I'm headed there already. This was a very bad coding decision, but I remember actually writing this particular snippet. It was around 1998, and I was flying to California to talk with the company that would eventually buy Keystone from me. I seem to do some of my best coding work while flying on airplanes, though this sample isn't exactly a sterling example of it. It did, however, enable one of the cooler features of the product - the ability to, using any of the various data sets, set up a custom browse view based on the structure of the table.

Using 'eval()' statements and depending on global variables was NOT the way to implement it though. Now that I'm converting all 12,000 some odd lines of Keystone code over to support running on a system that doesn't have register_globals enabled, it was time to update this particular code snippet. It took a good 1/2 hour to figure out exactly what it was doing, but once I did that, it was a simple change to:

            $pq = db_query("select dtable,dcolumn,dflags from dictionary $wclause");
            while ($pd = db_fetch_array($pq)) {
                $oval = $_POST["op_" . $pd[dcolumn]];
                $sval = $_POST["sp_" . $pd[dcolumn]];
                if (empty($oval)) {
                    $oval=0;
                }
                $active = $sval ? "1" : "0";
                $subtable = ($pd[dtable] == $proptable) ? '' : $pd[dtable] ;
              }

Don't see much of a difference? It's a big one from a code security and design standpoint. Don't sweat it too much, it means a lot to me at least.

The conversion is moving along nicely though. I think I can have eval versions ready for folks to test out within a day or three, if I keep this pace up. I'll be curious to see what sort of response I'll get on the net to the system. It's been a while.


Dusting off the Old

| No Comments

Back in the dark ages, I wrote a very successful ticketing system called Keystone. This was a successor to another reasonably successful program called PTS, which I wrote while working at Fidelity using this new fangled thing called 'PHP/FI'. Online ticketing systems were still something of a novelty, and none existed in the opensource world (save for GNATS which, at the time, was an abysmal piece of code.

PTS, and later Keystone - flourished. In the dotcom runup, Keystone was a hot item. Whenever I posted a new version and announced it on Freshmeat, I would see thousands of downloads of the updated package within days. At conventions, I was well known. "YOU WROTE KEYSTONE? HOT DAMN!"

Alas, the dotcom era came along and an opportunity to sell Keystone dropped into my lap. I took it, along with a sizeable check, in exchange for an agreement with the new owners, that they would continue to support the product, as well as let me continue working on it.

Neither of these things actually happened. When the bubble burst, the owners found themselves holding a piece of software that they were not using, and still owed money on. The crunch came, I called in the debt, they couldn't pay, so the entire system reverted back to me, lock stock and copyright, in exchange for me foregoing the outstanding balance.

On the one hand, yay, I got my program back. Hard to argue with that. On the other hand, 2 1/2 years had passed. The new owners had not touched the code, the industry had advanced a LOT in that time, and the competitors, which had excellent products at the time of the buyout, now had a 2 1/2 year jump on me.

Keystone languished.

Over the last few months, several people have been poking me about the code. Some clients have been running versions for YEARS, and are asking if there are updates coming. Others would like to set up new installations. I've half-heartedly worked on updating Keystone off and on a few times, but never really finished the changes into something I could release again.

Tonight I spent 2-3 hours dusting off the old code and continuing the updating process. Files with revisions half a decade old are coming up in my editor, with me vaguely remembering even writing them. But, the system works. It has some interface designs that I still find intriguing and useful, as well as it's share of "WHAT WAS I THINKING?!?!?" elements. Like an old friend, though, the motions and patterns started up again - edit, save, flip, reload, flip, edit more... a dance step long disused, but not forgotten.

I fixed 4 bugs reported by the new users, committed and posted the changes, and updated the users' vhost. Fixed. Problems brought up and addressed. Happy users.

I remember this.

It's nice to be back with you, my old friend.


Twitter

Sponsors!

About this Archive

This page is an archive of entries from May 2006 listed from newest to oldest.

April 2006 is the previous archive.

June 2006 is the next archive.

Find recent content on the main index or look in the archives to find all content.