turn, and face the strange

Wow. So today was the first ultrasound . Turns out that it’s a girl. Woohoo! I hadn’t had much preference in the boy/girl debate. My grandfather wanted a boy, to “carry on the family name”, but he was being morbid about how we needed to get this accomplished so that he could die in peace. Since I’m not real enthusiatic about my grandfather’s death, having a girl means he has to stick around for a while, and I’m all in favor of that.

Not to say that I haven’t wanted to pass on the family name, and all that, but I’m really excited either way. You get this sort of familial pressure particularly when you have an obscure surname, and you’re the only male of child-raising age. I imagine if you’re named “Chen” or “Smith” or “Gonzales” the pressure is significantly less.

Also, it looks like the house is going to go through, which is pretty cool also.

In the blog-engine project, I got Mason installed today. (Previously this seemed hard since I use Apache2, and didn’t have the Mason prerequisites installed.) It turned out to be relatively easy. I also stumbled across Alzabo, which is described in a article in LinuxJournal. Alzabo is a perl-based RDBMS-OO mapping tool, (among other things,) which is basically what I’m looking for. I did some prototyping over the last few weeks on a “Brokerable” virtual class, but I wasn’t very happy with it. (I was trying to avoid building an actual “Broker” class (i.e. by hiding the broker methods as class methods). I wasn’t very satisfied with the result, largely because of the ugly hacks I’d have to do for initialization at class-load time.

For decent performance, a broker needs to cache it’s database connections and/or prepared SQL statements. When a brokerable class is first loaded, the database connections aren’t necessarily set up yet. So you have to prepare your database connections and queries in a lazy fashion, and it ends up being a big mess.

design issues

29 May 2003

So, I’ve been wrestling with some design issues, and also wrestling with some time-management issues.

The design issues involve a typical RDBMS-backed application design question: how should I store my objects in the database? On one hand, I could do the obvious thing, which would be to just design the tables the way I want them, and then instantiate my perl objects from that. This is the approach I took when I designed PAESSO , and the path that I’ve started down so far on this project.

I put a lot of thought into the PAESSO design, and in a many ways, I basically recreated a lot of the structure of J2EE in Perl. Which leads me to another approach: adopt whatever has been done to mimic J2EE, which turns out to be P5EE . Sadly, P5EE doesn’t seem ready for prime-time yet, nor is it clear that I’d have any fun traveling that path anyway.

On the gripping hand, I could steal a page from JWARS and store my objects as “blobs” in the database. (Of course, I’d use the Storable representation.) This has a certain simplicity, but I always railed against it in the JWARS meetings, simply because it breaks the beauty of language independence in the RDBMS. For JWARS, only Smalltalk can understand the objects; for my app, only Perl could. Admittedly, in either case, it’s unlikely that many people would want to parse the data with any other language. But there may be some. It would certainly be nice to get at JWARS data from perl. Or C++, or Java…, or anything but Smalltalk.

The time-management issue is my perpetual whine that I don’t have the time to work on these things. This is largely a result of my recent marriage and impending dad-hood. (About which I’m delighted, I must say.) I am a bit melancholy at times that I don’t have the time to really focus on the little projects that I’ve set myself; to include writing this Blog-engine.

Despite a crappy weather forecast for the week, when I left work today it was great sailing weather. But Zette had arranged to go look at houses, which is both good and bad. Over the holiday weekend (last Monday was Memorial day) we went to visit Niagara Falls, as well as her relatives in Rochester. Her cousin Mike has a small sailboat that has been in his garage for the last eight years. Cool as Mike is, I don’t want to be him.

eureka

19 May 2003

So, the blog engine is now to such a state that the articles actually show up on the page. Now, as you might point out, I could have done that with a plain ol’ HTML file. And you’d be right. But it does have a RDBMS backend. And it has a Perl front end. And therefore it’s showing promise.

All the perl code is just hack to make sure the module would talk to the database. I have these grand visions of writing my own templating engine. (Doesn’t everyone?) Except that mine will be more of a perl IDE than anything else. But there you go.

Suzette and I started house hunting today. It’s somewhat amazing to be shopping for something that is in the half-million dollar price range. Ah well.

pain and suffering

9 May 2003

So, in terms of writing a blog-engine, I have to admit that progress has been glacial, by which I mean non-existent. Or almost anyway; I’ve done some thinking about it, and I’ve done some research into Mason, which looked somewhat promising, but I don’t think I really like it that much.

Of all the templating engines, they’re basically allowing you to write code in your HTML pages. The problem is I don’t particularly like to write HTML at all; I’d much rather write code. The overall metaphor of templating engines seems to be that they are intended to extend the process of writing web pages into writing dynamic web pages. Instead of that paradigm, I’m more interested in writing applications that happen to use a web browser as an interface.

So I’m tempted to write my own templating engine, which would be more like a source code control system. I can definitely see some utility in having a framework to help keep components sorted out, but I’m not settled on the form I want it to take.

In other news, Suzette and I finally got our wedding bands back from the jeweller that made them for us. They’re really pretty, but we have some reservations about the quality of the work. Sigh. On one hand I appreciate how beautiful the design is, and on the other I can see how much better the execution could have been. The rings we had were cast, but they’re from a mold of a filigree pattern, and it’s hard to get the little details right in a casting. I’m on the verge of trying to learn to make filigree.

1st post

27 April 2003

So, my name is Dan Risacher, and I’m intending to start a weblog. Or perhaps I should say that I’m *starting* a blog, since here I am, typing the first entry.

At the same time, I’m also intending to start writing a blog engine, because I’m not particularly satisfied with any of the ones extant. Why not? Well, I’m a perl guy, so I want something I can hack on in Perl. And all the perl solutions that I saw were not mod_perl based; which means they are cgi, which means that in theory, they’re slow. And comparatively kludgy.

One of the problems that I have is that I have a lot of projects going at any given time, and inevitably, something gets pushed to the back burner. Sometimes I’ve got so many projects that I can’t keep track of them all.

So right now, here’s everything that I have in the queue, high enough that it gets some brain-cycles put towards it:

  1. writing a blog
  2. writing a blog-engine
  3. writing a webmail engine
  4. writing a mp3 streamer
  5. fixing my sailboat
  6. buying a new house
  7. fixing the framing on my front door
  8. re-organizing my house so there’s room for all my new wife’s stuff
  9. finding time to take my cats to the vet
  10. making some bagpipes
  11. doing some reading to learn what it takes to be a new dad (we’re expecting around November 2003)

And that’s just non-work stuff.