The weekend. Let me tell you about it.

So this weekend had me out to Ubercon down in NJ. All in all, things went pretty well. It was the second time I took Zach with me to an event, and he and blk’s son Justin had a riproaring time gaming, socializing, and geeking.

On a personal level, this wasn’t one of my banner events. It’s been a while since I ran at at-con registration of a reasonable size, and a lot of things conspired together to fail so that, by today (the last day of the con), I felt pretty down about my showing. Let me esplain. No, there is too much, let me sum up.

  • Mame – My MAME cabinet, which I’d been hauling down to Ubercon for now the third event, gave up the ghost last week. deathstar refused to boot, and I almost cancelled bringing the machine. The UC folks happily offered up some spare hardware, and I decided to bring the machine down. Early Friday morning I did an emergency load of Kubuntu 8.10 on a spare laptop, installed my MAME drive that has my roms in as an external drive, and configured up KXmame. The end result? Unstable, video modes not working right, and general bleah. I managed to keep it limping along through the weekend, but it was not the glorious, elegant machine of the last event. There needs be work here.
  • CONGO – Hardware – The server I use for events, ‘endor’, has been running faithfully for almost 20 events now. I’ve done one full OS reload, and for the most part it has been dependable as all git out. This weekend however some hardware twitches started to come up. First, the CMOS battery died, which causes the ‘things have reconfigured!’ message on boot. What I didn’t realize was it had also reset the dates, so that all the log entries for CONGO this weekend have a datestamp somewhere in 2006. This will require manual fixing. We also lost power twice due to a flaky outlet. The last bit was I attempted to cut back the amount of hardware I bring to events, and in doing so managed to arrive short 2 keyboards. Fortunately, Ubercon loaned me a pair so things were fine, but Grr.
  • CONGO – Software – For the most part, CONGO behaved appropriately and did all we asked of it. I’m itching to get v2 up and running, because of all the deficiencies I keep seeing in v1. But, the old tried-and-true still chugs along, and we cranked out hundreds of badges over the weekend.
  • Organization – I normally have a very competent reg manager running the event with me. This time, the normal Ubercon chap I work with was unavailable (due to health issues). While other folks helped man the desk (we were never short on people), not having an “In charge” Ubercon person with us really pointed out weaknesses in the process control in CONGO (things like cash drawer management).

Despite my grumblings, the convention was a success, and I think we did a bang-up job on keeping everything flowing nicely. I am utterly, 100% exhausted – the drives up and down take their toll, and caring for a 9yr old while running an event can be a bit taxing. Would I do it again? Absolutely, and will next year. For now, I’m going to go fall over.

Chairs!




Picture 018

Originally uploaded by eidolon

When we first starting putting Mosaic together, I was all excited to exercise my basic scrounging skills and start accumulating stuff to fill out all our new spaces.

Alas, Mosaic took a LOT longer than expected to come to fruition, but now we can finally start getting all the bits we’ll need. Since we have a great room that can seat 60 or so folks for meals, we needed a lot of chairs.

Through the magic of the Harvard Recycling Program, yesterday morning we picked up 84 very sturdy ex-restaurant (or hotel, we’re not sure) chairs. They’re in great shape, if a bit orange, and very sturdy.

We have chairs!

CONGO Progress and Pretty Pictures

Another good night of coding!

After finishing a hefty project at work, and a busy week of Life Fun, I took 4 or 5 hours last night to hack into CONGO and try and get some rough edges worked out. I really feel like I’m approaching a useable system, with workflow doing what it’s supposed to, database tables updating the way they should, and crashes being few and far between.

I’m a visual person, so I wanted to come up with an up to date ERD for the v2 table structures. Ages ago I used DbDesigner4 to create an ERD for v1, but the tables have shifted a lot since then, and I wanted to see if I could auto-generate a diagram from table structures

Hunting around, it looks like DbDesigner has been absorbed into MySQL Workbench. I downloaded the latest version, and found myself bewildered by it’s interface until I realized what this thing was. It’s a tool for creating and designing databases, as opposed to a passive maintenance tool. Not… quite the approach I was shooting for – I was hoping for something like dbVisualizer that had a button that said “Make an ERD of this.”. While dbVis does have that to a certain degree, it’s pretty weak.

Eventually I figured out the incantations necessary to create an ERD with MySQL Workbench from existing table structures (it involves dumping the MySQL tables to a .sql file, and ‘reverse engineering’ the structures from that file). A few more mutterings and a dead chicken later, I had a visual representation of all my tables and their relationships to each other. Score!

Alas, the tool isn’t really a ‘reporting’ system, so the resulting graph needed some fiddling in Gimp to add titles and other text. Naturally I realized after the fact that I didn’t move a couple tables into the view before snapping the picture, but it’s still a pretty good representation of where I am.

Coding wise, v2 is missing a vital component – the Properties system is not yet working, and this is critical for basic operation. I started into it last night, building up new DAOs and domain objects representing a Property for a registrant and an associated PropertyDefinition. What’s left to do is write all the management tools around them to make them workable from Coconut, and start testing.

The last big project will be the public interface. In many ways, that’s going to be the simplest and most rewarding – it’ll be the outward facing side of CONGO. Essentially what registrants see when they want to attend a convention. Previous stabs at this worked reasonably well. Attendees at the various events were able to do the basics of what the event needed, but I’m really looking forward to going the ‘next step’ and offer a full service deployment.

My delivery date for CONGO v2 FC is December 1st. So far, I think I’m going to make it.

ENSMB at Honkfest!




IMG_6687

Originally uploaded by eidolon

Today Zach and I stopped by Davis Square to take in Emperor Norton’s Stationary Marching Band‘s performance at HonkFest. There were zillions of people around, with at least 3 different bands playing at any one time (far enough apart so they didn’t overlap at all), and tons of great costumes, dancing, and just plain fun.

Naturally, ENSMB’s show was awesome as ever, taking place out on the greenway along the bike trail. There was plenty of room for the band, the Madcap Rumpus Society and an audience hundreds of happy, dancing folks.

Handsome Chuck threw his always exceptional level of energy and drive into the show, and the band kept the kickin pace up for the full hour I was able to watch them.

Thank you ENSMB and Honk!

Jay Walker’s Library

I’m certainly a collector. Scouring eBay looking for another odd component to add to my esoteric toy collection is an age old pasttime.
But Jay Walker, the founder of Priceline.com and entrepreneur extraordinaire, has taken it to the ultimate.
Wired.com has an article and pictorial about his private library, containing centuries old books, originals of the milestones in technical and intellectual history (one of the spare Sputnik satellites, Enigma machines, an Edison kinetiscope, a 1960-era vacuum tube processor from IBM), all housed in a custom built 35,000 sq foot room.
Magnificent.

The Weekend, Redux

A couple quick notes from this past weekend.
First, Rock Band 2. ZOMG. I absolutely understand that the PS2 version of Rock Band vastly outsells the Xbox version, but going from our PS2 setup at home (which, admittedly, is pretty good), to a full Rock Band 2 setup on an XBox 360 with about 100 downloaded tracks added to the mix? No comparison, whatsoever. Thanks Doug, I think. 🙂
This may break my self-imposed ban on buying an Xbox. I understand the money situation, but I still don’t like having to buy a Microsoft product just to use one of the best console titles I’ve ever seen. Grump.
Second, thank you blk for a great weekend of hiking, socializing, and hanging out. And for anyone else who ever has the opportunity to visit Pittsburgh, don’t miss the pancakes.
On geeky personal news, I made a bunch of progress on CONGO, as well as thinking about project planning and deliverables. I managed to get Browse working properly while on the plane (why do I do my best coding while jammed into a plane seat? It’s weird), just before my battery died 🙁 I’m on track for my self-imposed schedule of having an FC release by December 1st. I just have to give up sleep. *nod*
Continuing the mental rambling, I was disappointed to note that an idea I had while watching the hustle and bustle of a large airport has already been patented. At least it’s a fairly recent patent, so it’s not like I came up with something and discovered it was considered and discarded a few decades ago.
Last but not least, I continue to love my iPhone. This was my first real trip with it, and having full time access to my email, as well as some intarweb and a few games was awesome. I’m disappointed in the battery life (it requires a complete, full topping up charge -every- night, no cheating), and a couple hours of serious use can deplete it, but it’s a solvable problem. I just have to train myself to charge it regularly.
I have, however, managed to lose my headphones. (The iPhone has a modified set if iPod headphones, adding a microphone dongle). Since I haven’t been a big fan of the iPod style ear buds, I’ll be hunting around for a set of mic-enabled travel headphones now. Any recommendations would be appreciated. They have to fold up nicely. I think I’d like to try a set of on-the-ear headphones again (I’ve been using a variety of in-ear phones for a while), but I’m not interested in the “hang the headphone on the earlobe” style. I don’t mind the bracket-style, as long as it folds up.
Enough rambling for this morning, off to code…

Alternating Row colors in tables in Struts

Have to share this one. I’ve been wracking my brain trying to figure out how to get table rows in a struts and JSTL supported page. I haven’t found an easy example anywhere, but I finally sussed it out. So if you do JSTL and struts based stuff, and want to do those nice ‘greenbar’ like lines on a table, here’s an example of how to do it:

<c:forEach var="rows" items="${registrantList}">
<c:set var="cellColor">
<c:choose>
<c:when test="${cellColor == '#f0f0f0'}">#ffffcc</c:when>
<c:otherwise>#f0f0f0</c:otherwise>
</c:choose>
</c:set>
<s:url id="url" action="coconut/gotoUser" >
<s:param name="rid">${rows.rid}</s:param>
</s:url>
<tr bgcolor="${cellColor}">
<td>
<s:a href="%{url}">${rows.rid}</s:a>
</td>
<td>${rows.lastName}</td>
<td>${rows.firstName}</td>
<td>${rows.company}</td>
<td>${rows.badgeName}</td>
</tr>
</c:forEach>

See? Simple!

Dreaming…

Apparently Zach can walk through walls. Yep, it’s easy for him, he even almost got me to do it, he said it was easy. I kept having him do it over and over again, then went over to the common house, and showed Diana, and she didn’t believe it either, until I finally convinced him to stick his hand through a door. “See?!?!” I said. She was flabbergasted.
Now all I had to do was figure out how to film it so it didn’t look fake, and to convince Zach to keep doing it for people (he was getting bored). Once I had it filmed and the like, that million dollars would be ours, and it would solve a lot of our short term problems.
Then I woke up…