No Title

Technology TopicI’m looking at working with a few Java packages for fun things on the
side. I want to develop some small Java Servlets running under Tomcat,
preferrably using Velocity as
the template engine and Cayenne as
the database connectivity/persistence layer. We’re looking at using
the latter at work, so I’m getting a little experience with it. I
found a pretty cool article on building a weblogging tool using much
of the above (not Cayenne though) at Oreilly’s Onjava.com website in
this article Building
an Open Source J2EE Weblogger
. Cool stuff.

No Title

Ha! I got it done! I now have a function that will execute a save on
all the .txt files in my directory. This will make everything have the
full calendar, as well as redo everything when I change the
template. I found a function called “weblog-map-directory” which
allowed me to pass an anonymous function that gets mapped for every
file in the directory. No brilliance on my part, I just reversed
engineered similar looking functions elsewhere in blogmax. The upshot
is the links to the source .txt files are now gone, and all calendars
are fully filled out. Nice.

No Title

It’s true – I have a bit of a lisp, and I’ll be doing a bit of
programming in Lisp. I have so little Lisp experience, though, that
everything is frustrating. I barely know how to do anything. The task
I want to do is so simple, yet it has taken me months to tackle it
because I have to relearn how to walk in this language.

No Title

Turns out that I did have my wifi card with me, but I didn’t realize
that until I got home. I didn’t dig deep enough into the bag. I opted
to read Ghost World instead of the Chomsky. I did
read the introduction though.

No Title

Here is something that I’m looking at using in the V2 version of the
WREK automation scheduler, a simple XML file configuration handler
called XMLConfig. It looks
like it can serialize arbitrary Java objects as XML. I was thinking
about doing XML configuration files the way that the Ant project does theirs with
the neat way properties can either be defined as attributes in a tag
or as an element that is contained within the tag. The XMLConfig might
be better, though, since it is simpler. I’ll have to think through if
I really need the more complex stuff.

Optical Delusion

Ian McDowell perpetrated this one on me via a Dueling Modems post, in
which he writes:

Apologies to anyone who’s already gotten this lots of times
from well-meaning but annoyingly-forward-happy friends.
This photo purports to depict an actual ghost, that of
a widow who died in this house
while waiting for her husband
to come back from the Civil War.

As with most such optional illusions, you have to stare at
it awhile. Don’t focus on any one point, but you can
concentrate on the general area around the chair.

No Title

I’m going to be doing some phone calling this weekend for Max Cleland. Although I
always (and I mean ALWAYS) vote in every election, I’ve never done
anything like this. I’m not a political animal, I don’t take up
causes. At this point in time, though, I really feel like I should do
what little I can to avoid or minimize a Republican congress. I think
an opposition Congress is the only thing protecting the country from
the bastards in the executive branch. I don’t fear Saddam Hussein or
Osama Bin Laden nearly as much as I fear John Ashcroft, Dick Cheney
and George Bushes. His father was the first presidential candidate I
voted against after turning 18. So, I’ll drive out to Chamblee and sit
in a boiler room making phone calls for a couple three hours. At this
time, it desperately feels like I need to do something to try to
prevent the future I so fear.

No Title

I really really need to brush of my Lisp programming skills (ha) and
figure out how to have this weblogging package go back through and put
in all the daily links in the calendar. It will add them when those
days exist, which means for any day, nothing in the future is linked
unless you are saving an old day’s entry after subsequent ones are
written. For someone who Googles to the entry for August 2nd, there
are no links if you wanted to read the next day and so forth. You
can’t navigate forward. If I were to go back and regenerate all these
pages now, the links would be there. What I want is for the Blogmax
package to do that for me. It doesn’t, so I might be modifying
slightly. Wish me luck.

No Title

Forwarded by a coworker: an examination written up in Design Pattern
style of the pattern that occurs most often in the actual development
process: The Big Ball of
Mud
. This includes such morsels of wisdom as

engineers will differ in their levels of skill and commitment to
architecture. Sadly, architecture has been undervalued for so long
that many engineers regard life with a BIG BALL OF MUD as
normal. Indeed some engineers are particularly skilled at learning to
navigate these quagmires, and guiding others through them. Over time,
this symbiosis between architecture and skills can change the
character of the organization itself, as swamp guides become more
valuable than architects.

No Title

It’s that familiar feeling for a Braves fan, the thought that despite
having a rock solid team, great pitching, great bats our team might
not advance. It’s hard to believe that Glavine has given up something
like 15 runs in 8 innings in the playoffs. I wish I could go, but
we’ll be packing up my wife’s stuff and getting her ready for 3 weeks
in Boulder.

No Title

Did a little work at WREK today. I went in and did an hour on the air,
testing my new interface that allows live DJs to enter their music the
same way the robot does it now. When this is in use, the current song
will always be up on the WREK page, which I find really cool. Not sure
what you heard? Look it up on the web, it’s there.

I’m at Georgia Tech right now, logging in (blogging in) from my wife’s
computer in her office. We are doing something that involves cycling
vacuum pumps in her lab. Actually, I’m doing Google research on
icecast MP3 streams and the metadata thereof. She’s doing whatever
with the pumps. This is all moral support. I hope I can get home and
mow before it rains. I’ve been waiting since the grass is so wet, and
will have to mow it that way even though I don’t want to. It looks
like we are growing alfalfa for livestock in our yard, the grass
is so high. It’s been raining every day and always too wet to mow. Must
bite the bullet and do it today. One minor upside of the drought was
that I didn’t have to do a lot of mowing.

PHP lessons learned

I did a little more work on the WREK web pages today. I do believe I’m
to the point where I can bat out PHP pages that do a number of DB
tasks pretty simply. I’m at the point where I have the hard won
knowledge. Here are a few of my nuggest that I’ve learned, all the
hard way.

– At least for Oracle and mysql, use the FetchInto type functions and
get your results as associative arrays. There is a runtime hit, but it
makes your code much much more readable than cryptic index based
functions like “OciResult(, 3)” that force you to count columns in
your original SQL statement to see what the hell is going on.

– If you are getting a number of results to present as a table or
list, save them off into an array of the arrays from above. This
allows you to do your own sorting which might be different from the
database’s “order by”. It also enables cool things like
allowing people to sort differently via HTML forms with minimal
coding.

– Create one or a set of files you include in standard pages. If you
have a utility type function that you find yourself cutting and
pasting into another page, don’t. Put it in the utility include
instead. Otherwise, you’ll one day find yourself fixing a bug and then
having to grep to find all the files you put that bug in. Past it in
the include and remove it from all your PHP pages.

– Use source control, even for your own trivial projects at home and
even if you are the only person touching the files. There is nothing
like having that history to fall back on, and just being able to avoid
having all those “file.old”, “file.backup”, and crap like that is
worth it. I’m on the cusp of installing Subversion to try it out.

No Title

I’m learning more about various logging packages – Log4j for Java and its
Perl port, Log4perl. I’ve gotten tired
of doing ad hoc logging/debug statements in my programs. I think as an
experiment I’m going to look at using both of these packages.

No Title

Between the road rage stuff, some work things I can’t go into
publicly, Zevon’s cancer and now this namecalling, I’m really down. Secret shameful
confession – I’m not much of a badass. More of a candyass, really. My
entire life, I have had a hard time shaking off insults even when I
know better than to take them personally. I used to get a lot of that
in high school and junior high since I was an easy target. I try to
grow a thick skin and seal it with a coat of apathy, but I never do it right and
the negativity leaks right in. I am determined to not be bothered by
this. Here I go, not being bothered by it. How’m I doing?

No Title

I can’t say that I would have ever predicted that I’d be vacationing
in Dawsonville, GA but I
will be. Life is funny. I’m going to be taking my printouts of the
Michael Moorcock interview to do the first
pass of a copy edit on it (Storm Constantine is already done). Next
week, I’ll be e-mailing the texts to
both him and Storm Constantine and writing intros to the interviews
and the whole volume. To do’s include getting a lawyer to vette my
simple contract with the interviewees (basically the same contract as
for an anthology), doing a preliminary assembly of the volume and
getting a word count, and contacting Literacy Volunteers. I
am going to donate 10% of my proceeds to them (which might be 10% of
squat, but should be more than 10% of nothing) and the contracts have
a check box that the authors can check to have their nominal fees
included in the pool that goes to LVA. I might up the percentages
higher, but that’s what I’m committing to at first. I just need to
find out what parameters they put on things. If they don’t want me
using their name, I’ll just quietly send them a check periodically. I
would like to put on the webpage and perhaps in the endmatter some
information about their organization and links to web pages but I’ll
abide by their rules.

We have new cellphones as we switch from Verizon to Voicestream. It
feels kind of like the move from a frying pan to another frying pan,
but We Shall See. Our Verizon plan wasn’t good, having no roaming or
long distance in it. The one month we really used roaming when Darlene was
in San Francisco, the overages ran close to $150. We could have
paid $10 a month for something we only used once and still come out
ahead. The downside is you are supposed to charge the phones for 24
hours before use, but not much more than 24 hours. With the
spontaneous trip upon us, we have to wait until we get back to fool
with them. As a geek, it bugs me some to have new electronic toys that
I have to wait to play with. Oh well. Plus, these new Nokias have much
better games than the old 6100 did!

No Title

I’m listening to the song from the very first
band of the day,
the Kropotkins (have I been doing this a month already? wow). It has the
line “She wears short short dresses up above the knee”, but the first
time I heard it I thought it was saying “she wears short short dresses
up her bumblebee.” I had thought it a brilliant euphemism that I
couldn’t quite fathom, until I
realized that I misheard it. I still deliberately hear it that way
because it’s so damn amusing.

No Title

I’ve been reading some of Paul
Graham’s
writings on Lisp. I had read some time ago his account of
how he used Lisp in Viaweb (later Yahoo Stores) to beat the
competitors. With this renewed interest in Lisp, I had it pointed out
to me that he is now giving away his book
On Lisp
for free. In one of his many articles, he talks about how
pointy-haired bosses always want you to use what they perceive as
being the “hot” language. Towards the bottom of his hilarious essay
Revenge of the Nerds
he includes this little nugget of wisdom:

If you want to trick a pointy-haired boss into letting you write
software in Lisp, you could try telling him it’s XML.

I’m enjoying his essays. I might as well give some Lisp a shot. My
editor program of choice includes a Lisp interpreter anyway, so why not?

No Title

OK, I am definitely going with CSS for this site. Yesterday I decided
“I want all the timestamps to be bold, not italicized.” I’d rather
make one change in the CSS than rewrite all the damn tags, so thus it
goes. I’m going to alter the BlogMax templates to reference logical
names and move all formating to the stylesheet. That way, I can change
something in one second and have it apply to every page the next,
without regenerating anything.

No Title

Music TopicToday’s band is linked to yesterday’s
band
, both musically and personally. Well, the “band” is actually
a person, Diana
Obscura
. She plays cello, amongst other instruments, and her music
is medieval, ambient, haunting and beautiful. I took some of her MP3s
and added them to WREK’s
Atmospherics rotation. I really like her music. Years ago I met her
when she was the one working the Changelings table at
Dragon*Con
and later when she was doing her Creepy Puppet
Theater. She’s very nice, cool and I love her music. Here is
her MP3.com download page.