Apr 30, 2004
In struct tm, tm_mon goes from 0 to 11, but in strftime, the %m flag goes from
1 to 12.
The Ingredients page wasn't complete without adding in a barcode. So I wrote a little program to generate them for me.
Apr 27, 2004
New colophon page for pell:
List of Ingredients
Apr 25, 2004
Or at least the back end of one, stuffed into the pile of engines (Eng!, according to Silas) at the Brooklyn roundhouse.
The last picture I've got of a SDP40F was taken a while ago, when Amtrak was still running them on their passenger trains:
And, to my intense dismay, it appears that the Maersk unit is not a SDP40F, it's the only SDP40F, and the only reason it's around is that the people who saved the F40PH that's parked at the Brooklyn roundhouse (and some associated people) kept pestering BN/SF to sell them an engine even after the railroad decided that, no, it wouldn't be prudent to allow people to preserve one of them.)
Now works (bbs-reindex -a) and found a buglet; I need a way to regenerate all
of the archive YY/MM/index.html pages, but I don't have the reindex code to do
it. -f(ull) should also reindex all the monthly archive pages.
Just for a change. you understand. I'd not want to make it a habit, you know.
I also need to write the routine to do the end of month
generation of the archive pages and, maybe, tweak the indexer so I can
put <-[next article] [previous article]-> links on article pages.
Oh, look, it's gotten confused about blockquotes vs. P. Nope, that was a stupid coding mistake on my part.
Apr 24, 2004
New look for the webpages (up to and almost including the PV&T webpages, which are a far scarier thing to tweak with because I want them to look like they date from the 1960s.
The new look is all done by cascading style sheets, and all of the formatting tables are gone. The only place where they don't seem to be working out yet is here; there's something in the CSS support of IE that doesn't like to resize images to fix max-width: constraints, and that seems to gum up the rendering of the various title elements. Plus, if the screen gets too narrow, the bookmarks vanish to points south. I might be able to fix that by doing explicit widths of the bookmarks, leaving the content (for lack of a better word) to float off to the right.
And, of course, it's a real pain in the ass to get a two column display (like, uh, this one) to work properly. Wide images (like the retired streetcar) toss a huge bloody axe into the works of the layout, causing it to render in a whole bunch of interesting ways (none of which actually work). So I've had to drop in a pretty kludged up layout that uses g-ddamn pixel alignment to fit. Bleah. Perhaps it's time to drag out a table for alignment.
Looking at the final result inside Netscape 4 is, um, not quite as pleasing as IE 6 and Phoenix .8
Apr 19, 2004
At least I'll get to see how the comment function explodes.
Or not, as the case might be.
To see if I can do more than one comment per message.
Apr 18, 2004
each message is now 4 files:
- message.ctl (header information)
- message.txt (htmlized body)
- comments.txt (htmlized comments)
- index.html (body+comments, wrapped up in theme)
Does edit still work?
Apr 16, 2004
If I'm ever frogmarched out of my office and hurdled into the street, it's because my Corporate Masters saw the source code to my weblog program. It's so horrible that it makes theme (not the best written code on the planet) look like it sprung fully-formed from Knuth's forehead.
Apr 15, 2004
I need to embed paths so I can put up , [post], and [comment] buttons.
What I REALLY need is to generate three different copies of the html;
- 1 copy which is the toppage, with a [comment] button.
- 1 copy which is the post page, with a [post] button at the top and
 and [comment] buttons by each page.
- 1 copy which is in the archive, with a [read comments] button.
So reindex will need to be patched to not write out a whole html file for
theming, but to write out a half-baked file that I can then substitute in
for the buttons as needed.
And I really need a  button so I can fix dumb errors in a post.
And I should really write a Bl*gg*r compatable xml interface so all the point
and drool weblog clients can post and save me from more user interfaces.
I modified mkbookmarks so that it doesn't use tables anymore, because the old hybrid table + floating index page wasn't getting along too well with IE6 in that it would always return to the top of the page when I backed out of a link. So I tweaked it; my bookmarks are now, on browsers that support CSS (and if the browser window is wide enough), a nice three-column index with garish yellow headers and a dotted line between each row.
My signature line on that page has also been CSSified and doesn't include any table goop. It's a little more readable than the signature line that used tables, but it's probably hopelessly confusing if you don't know about CSS.
Oh, and the W3C validator does not like the bookmarks page one bit. Oh well.
Apr 14, 2004
Alweg put a demonstration monorail line along fifth Avenue in Seattle for the 1962 worlds fair, and it's been running from downtown Seattle up to the fairgrounds ever since. The monorail loonies have been pushing to put in a bigger monorail system in Seattle ever since (a good idea) and have finally got a plan, money (that's not ripped off from the so-called light rail system that's allegedly being built), and city approval of the route. And they're going to include the demonstration line!
Well, no. They're going to run their line down Fifth Avenue, and it's going to be a straddle-beam monorail, but it's not going to use the same beam design so they're going to scrap the existing monorail line and replace it with brand new track that the Alweg cars can't run on.
Now that's a compelling argument for putting in monorails. Rip out something of some historic significance, something that works and that has been working safely for 40 years, and replace it with some incompatable modern crap that won't allow the old vehicles to even use it.
Idiots. They're all idiots.
Update: Yes, I know that some trolley lines in the United States started off their construction by ripping out perfectly good railroad track and then putting their own track down where it used to be (I'm looking at you, Los Angeles), but you can run old streetcars on this track without any trouble (except the occasional pothole-like jar as the tramway profile wheels bounce in and out of flangeways. But in Portland, where we've got a multitude of new streetcar lines, we've also got 3 new wooden trolleys that are running on PCC trucks that were used to move 6000-class EL cars from place to place in Chicago. But they don't look like Disney toy cars, so I can understand why nobody would like them.)
I still can't think of a good way to do the privileged interface to the weblog. The best way I can think of so far is to put magic cookies into the index page and have a cgi script in post that expands them to little [post] [update] [delete] buttons.
But instead of that, I've been tweaking on the POSTOFFICE program. I found a bug in the local delivery code that would not go back to being root if it failed while opening the mailbox (I found this while trying to put in code that detects if a file is actually a symlink (executive summary; no, it's not easy. If I fstat() a fileno(), it's already skipped over the symlink and is pointing at the actual file. I'm not really sure what's the best way to beat up on this problem is, so I'll just have to stick with the current security policy of refusing to write to any files except /var/spool/mail/root if I'm root.
I've also added a goodness() function to POSTOFFICE so I can have a crude indication of how ill-behaved a SMTP client is. It keeps a little list of how bad or good a client is (successful mail is GOOD, unsuccessful mail is BAD, repeated attempts to send mail to bogus recipients (or mail from: someone while they're in the greylist) is BAD, and if you're bad enough, you get ipfwed away until tomorrow.
Be that as it may, I don't want to forget the ob railroad picture:
Taken on Sunday while we drove by the NW Portland BN yard on the way back from St Johns.
Apr 11, 2004
Easter time, aka the spring festival of tooth decay. Everyone else trots off to the park while I stay at home and "hide" eggs, then dig out an ancient Nikon Coolpix 100 to photograph the scene of the crime.
... Don't forget to write the reindex program, so I can clean up after horrible coding and html errors by simply washing the evidence away.
Aside from the obvious things of comments, a nice little screen of things that a special user can do (other than post by typing in the url to the post program) and the documentation, I need to modify the simple stupider than a rock defaults so that articles all live in the same-width boxes.
I'm published a new version of postoffice now; 1.0.2, which is running on pell, has reached the state of being edible dogfood. I've tweaked and hacked the greylist code until it's gotten to the point of being too annoying for a lot of spam but no so annoying that it won't accept real mail, I've added in auditing code so you can see, in more detail than you want to know, that, yes, you're getting approximately 500 dictionary attacks, attempted virus deliveries, and pieces of spam per single real mail message.
It's more impressive fullsized but this is already big enough.