Older blog entries for chromatic (starting at number 114)

A World-Weary Treasure Hunter:
I'm packing for a trip to OSCON, where I'll give two short presentations. We'll see. In addition, I've just scheduled a meeting with Krow to discuss the last chapters of the book.
Speaking of Books:
I haven't found a decent XML authoring tool on Linux. Emacs would work, if I weren't a vim junkie. Really, having to enter entities by hand and search for <para> tags when it doesn't validate is yucky. Maybe there's a syntax highlighting mode that respects a DTD. Maybe I'm super behind the times.

It's painful, though. Writing a book is far harder than writing an article or an essay.

Speaking of Essays:
I've been on a philosophical bent lately. The latest essay was a thought experiment about emotional connections between people, as related to a rubber-sheet experiment discussing gravity. It turned out sort of an astrophysical Annie Dillard thing. No, it's not up for public consumption. I'm not that brave yet.
Making Good:
I feel a little guilty. Early this afternoon, Jacob Moorman from SourceForge e-mailed me on my support request. After verifying my identity through induction, he was able to update my registered e-mail address. After that, it was supremely easy to change my password and log in to SourceForge again.

Perhaps the moral of the story is, an obscure, two sentence rant by an obscure writer and hacker in a *journal* on Advogato gets results. Or the moral of the story is that I should have been patient. We can all agree that not noticing that your redirector service has suddenly vanished will result in important mail never arriving.

So thank you to Mr. Moorman and to SourceForge. I recant my doubts.

The Bean Goes On:
Plan for Jellybean 0.14.

That's an awful pun. You're welcome.

Tonight's Task:
I'm reviewing four books from Plan 9 Publishing. It does my heart a little good to see that they're printing stuff on familiar machines. I knew the color pages looked familiar. (Yes, I recognize toner patterns. My coolest hack ever was swapping PPDs between a buggy and working PostScript driver to fix a nasty artifact issue. Buy me a root beer and I'll tell you about it sometime.)
Long Time No *WHACK*:
My radio silence (for the two or three fans out there who really need a better hero) has several reasons:
  • Emotional issues -- I had a really miserable experience nearly three months ago and it's taking time to recover. Yeah, it knocked me down pretty well. A wise man once said, "The tough times are a chance to learn a lot." Being a wise man, he said it a lot better than my paraphrase.
  • Physical issues -- I've been struggling with a half-nauseating headache for a couple of weeks. I can't work out, which hurts things, and it's probably related to stress and an inconsistent sleep schedule. Lots of nosebleeds, too, which is a bad sign. I had this before at the first (insert name of large technology company) job, and it seemed mostly stress related. It went away with rest, relaxation, medication, and switching jobs -- no need for an MRI. It's no fun.
  • Work issues -- the book is coming along, though I'm still waiting for the tools guys to convert the Framemaker sources into DocBook Lite. This is tough, as the deadline for those eight chapters is Sunday. I'll make it, as much as depends on me. I'm even a little ahead, having started on the next deadline already. Writing a book is a lot tougher if you have to teach yourself as you go along.
  • Family issues -- my family is aging. Grandma has Parkinson's disease and has good days and bad. Grandpa can barely walk (though that's not news) and shouldn't be driving. The other Grandmother has several physical ailments, though she's probably better off than the other two. It's a strain on my parents, and it's hard for me to imagine going through what they do in twenty years.
  • Programming issues -- not much to report. Jellybean needs some serious project manager lovin' and soon. SourceForge still hasn't sorted out my login issues. It's not funny after two months, guys. I have parts of a revised version of Perl's File::Find on my hard drive, awaiting a nicer interface and some object oriented goodness. I cleaned up a Squid redirector called 'adzap' and it needs a little more work. I wrote a couple of patches for Slash and had them accepted. Finally, I wrote out the stories and tasks for a collaborative Poem server. Should be cool.

So why does it feel like I'm not getting anything done?

Still More Deadlines:
I also need to revamp my slides for my OSCON presentation, finish reading the XP study book, and polish up my presentations. Gosh, two weeks away. Where did time go?
WHOMP!:
Jellybean version 0.13 escaped tonight. If I could only log into SourceForge via the web, it would have escaped sooner.

The weird part is that I updated Jellybean@SF by logging in to jellybean.sourceforge.net with my supposedly invalid username and/or password. Foo.

Cold Cereal:
My best cuilinary contribution today was the raspberry juice bar I just had. Tasty.
Feeling Artistic:
If I could draw, I'd turn this narrative into a three-page comic. Alas and alack, the world is spared yet another quasi-supernatural steampunk goth-fest. (Okay, I made up the goth part. I'm nowhere near as cool as Neil Gaiman, nor does the presence of an alchemist make it Faustian.)
More Cookery:
I'm getting better at this. Tonight's sweet and sour pork and rice had a good blend of spices and caused no fires. After cutting the pork into bite-sized pieces, I rinsed and dried it, then coated it in flour. That made it super tender and juicy, and it browned more easily. There's still much to learn (especially timing), but it's an enjoyable foray.
Jellybean:
Here's the kicker. I can update CVS via SSH (ssh keys are very nice) and I can ssh to jellybean.sourceforge.net using my regular login name and password. I am utterly unable to log on to SourceForge via the web interface. This is a problem as version 0.13 is all ready to go but I can't make a proper file release. Hopefully Sunday night's trouble ticket will be resolved shortly and the world can rejoice that life is much cleaner in the world of syntactic sugar. Hopefully.
Other:
I'm still awaiting DocBookLite versions of the book chapters to revise. Life will be much easier when I can edit the source directly.

Otherwise, I received CodeWarrior and Kylix yesterday. Time to review....

Projects:
I marked myself as a Documenter on Slash based on the fact that the book contract awaits my signature. Hooray!
Hacking and Cooking:
While I have set several things on fire, only rarely does that extend to hardware. There was one time someone turned on one of my projects as I was cleaning contacts with steel wool. Another time, they had to evacuate the whole lower floor of my building because the magic smoke escaped from a hard drive I was working on. Let's not discuss that one.

The point is, I shouldn't be surprised by two things that went wrong during cooking last night. First, I put olive oil in the skillet while it was heating. Good idea. The bad idea was pouring water in there before putting the meat in. For those of you who don't know any better, this will cause hot oil to spray out of the pan. It sounds like small fireworks, and my cats now have a justifiable fear of me in the kitchen. Of course, there was oil all over the stove and the counter. Luckily, it didn't burn anything.

That is, until I started to wipe it up with a dishtowel. Again, I intellectually knew that oil was flammable, and that heat sources could catch things on fire. I didn't make the connection between 'oily towel' and 'pre-heated burner', and noticed that the towel had sprouted flames. Luckily, I threw it in a pan full of water in the sink before it could do more than singe the edges just a bit.

To top it all off, I misunderstood the directions, and put a teaspoon each of pepper and ginger in with the meat, instead of a quarter-teaspoon. Some people like it hot. It was... interesting.

At least the mushrooms and green peppers soaked up the brown sugar nicely.

To sum up, I learned valuable lessons about fire and how to brown sirloin strips with mushrooms and peppers. The noodles turned out okay, though.

Oh, and, yes, when cooking rice the other day, I melted the ladle handle. I'm as dangerous a cook as I am a programmer.

Contributing:
I uploaded Devel::TraceMethods to the CPAN last night. It should show up soon. How do people get anything done with languages that don't allow run-time access to the symbol table?
Deep Hack Over My Head Mode:
I like having a Squid proxy. It lets me block annoying stuff and speeds up my browsing. I've had trouble accessing stuff on my local machine, though. I'd have to disable the proxy setting in at least one web browser. Besides that, the other people who use the home network here could possibly subvert the cache and the blocking, and I'd rather everything go through both.

My bright idea was to set up an iptables rule that anything going out through the external interface on port 80 would be redirected to the Squid proxying filter. A simple redirection to port 3128 should do it, right?

The problem is, my main development machine is the router and is running the caching proxy. That is, I can write a nice iptables rule that all packets coming in on eth0 with a destination port of 80 should go through the proxy. Very easy.

It's writing a rule that says all packets originating on my dev machine, not destined for machines on the local network, headed to port 80, should also be redirected. I get caught up in forwarding loops, and acl denials, even though I have 'allow all' specified.

Bizarre. It may not even be possible without turning another machine into a dedicated router/proxy/cache. I've been through the little HOWTO several times, and it seems like that's the only configuration it allows.

It would be nice if I could do it, though. Any ideas?

Personal:
Now I know what happened. Mostly. I don't completely agree with the other person's conclusions, but I can understand them. It's nice to have some sort of resolution, even if it's not what I wanted.
The Problem is, Words Mean Things:
Here's a different tack. Instead of fighting FUD with FUD, how about fighting it with the truth? Okay, I flatter myself.

Is Steve Ballmer Lying about Open Source?

Now I'm not a big Open Source guy; I care more about Free Software. Still, I sent this off to my mother earlier today, and she thought it made sense. Yeah, she and Dad have a Linux box for their regular use, but they're not what you'd call hackers by any sense of the word. (She still has to look in her notepad to remember how to kill Netscape when it dies.)

Anyway, it's nice to be able to bang out a couple of thousand words in a couple of hours without worrying about deadlines, editors, payment, and writer's block. I miss that sometimes.

1 Jun 2001 (updated 1 Jun 2001 at 22:57 UTC) »
Squeaking In At Deadline:
Two goals accomplished this week:
  • Slides for my OSCON talks made it to Vee. On time. Now he doesn't have to kill me.
  • My article on acme's Linux Kernel Janitor project. It should run on Monday.
Besides that, I scanned and annotated three photos from last year.
More on the Photos:
It seems like this would be a good chance to use XML and XSLT in the real world -- coming up with a workable DTD for the photos and descriptions, then running them through a processor to create nice HTML and a table of contents would be a good application.

The trick is coming up with the DTD then the transformations. That makes a nice weekend project, if you're motivated. Unfortunately...

Weekend:
With three reviews to do, a module to package for the CPAN, and miscellaneous Jellybean cleanup, I'll probably enjoy the thunderstorms and wonder why next weekend is so busy. As usual.
More:
(send money)
All Hail the Conquering Hero:
I got my scanner working. Now the world can see how a travelling programmer/writer sees the world through the lens of a camera. (Obligatory link here.)
People:
Yes, I'm still a grump. I'm getting better. Thanks to everyone who noticed and asked about it. Maybe I'll finish my article and slides, and work up a small program to display and allow annotations on some poetry this weekend. Maybe not.
Obligatory Symbol Table Abuse:
Where does something like this put me on the ranking ladder of Perl hackers? Hopefully somewhere above some of the people who've written dismal books about it.

105 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!