darkness

Monday, 30 September 2002

Didn’t accomplish much of anything

darkness @ 08:43:50

Didn’t accomplish much of anything today. Sundays seem to be dead for me lately, which is probably more than made up by the fact that weekdays seem to be more productive than they used to be.

I think I’ve pretty much scrapped the idea of a streaming Vorbis server in Python using Jython. Thread support in CPython doesn’t seem to be there yet, what with the global interpreter lock, and the idea of running an interpreted language in Java — no matter that it’s more-or-less compiled to Java, I think — seems rather silly. Instead I decided to just give up Python for this project and go with Java.

Started looking at Avalon Phoenix. The web site seems pretty out of date, but they do have a release out (as opposed to a milestone or something). I ran the demo application (which I had to get from CVS) and it kind of crashed on exit; indeed, it may have crashed all of Phoenix. I don’t know how many of their existing “blocks” will meet my needs, but the idea of the core of Phoenix is useful. I like the JMX integration as well, and I was able to see some of this in the demo.

I envision source and listener connections. More generically probably push and pull connections or some such. Source connections will have basically a circular buffer that they stuff the incoming data into. Listeners will be sent an event each time a new packet comes in. Everything will operate out of a thread pool of a user-defined size, and the act of receiving an event will cause an instance to be queued to receive control of a thread. Obviously that’ll mean some cooperative multi-tasking techniques for the workers. Haven’t quite figured out how I would resolve the idea of a syscall that locks up for a while. Maybe I can interrupt it? I don’t know how far Thread.interrupt () goes. Anyway, these are are fairly preliminary ideas. For example, sending an event to each object for each unit of incoming data might be fairly processor- and memory-intensive. I’m also ignoring any media-type-specific details, such as things that have to be done to an Ogg stream coming in from the source before it can be streamed to clients, headers that have to be sent, etc.; really I’m hoping to build a simple prototype that just pipes data in from one end and out to the other to see how it works.

Did some reading of The Pragmatic Programmer today in the interest of refreshing myself for development. I think I need to try and dig up some of my eXtreme Programming resources; I know it’s a bit grandiose for a one-person project, but certain parts of the process are still useful, such as breaking a project apart and measuring progress. I mostly use the planning portions. I’ll have to reacquaint myself with JUnit as well, since I like that from XP as well. I kind of wish I had another developer to work on this with; it’d be nice to bounce ideas off of someone else. OTOH, I’m not going to be actively looking for another set of eyes.

Also started reading about Emacs and Java. Sounds like JDEE (which I knew merely as JDE) has some good stuff that I’ve never used, and maybe some more recently added. “Intellisense” like operation, supposedly, which I’ll have to test out. I admit that sometimes this was very useful when I was coding in, for example, Microsoft Access. (Of course, the remainder of my experience with Microsoft Access was enough to drive a person to drink, drive to a clock tower, get a rifle, and let the Marines sort it out.) ECB might be useful as well, but I’m really not sure if it overrides some JDEE behavior, duplicates it, etc. Will have to check that out more tomorrow. I need to get the nice mixed tab/space editing patched cc-mode too, but the site seems to be down right now. I think I have a copy lying around that the author mailed me still, but maybe he’s updated it a bit. I remember that when last I looked at it porting the changes forward to a newer version of cc-mode was not possible with my level of Elisp proficiency; I wonder if that’s changed now that I know a bit more?

Played with Dia today too. It’s real slick, a lot like Visio but with better stuff for doing UML it looks like. The size of the objects was a bit off-putting, and it took me a few minutes to realize that I was in A4 rather than Letter sized paper, but the properties sheets for UML objects are pretty neat. Too bad it looks like it’s lacking a good interface shape, I think. Honestly I can’t remember enough UML to really be sure that there is an shape. Or entity. Or whatever UML calls it. I need to bring my books home, especially since someone else posed me with a UML question that I was unable to answer.

Probably not going to get to touch most of this stuff tomorrow, as I anticipate some work stuff to do. Not real sure why, just a hunch. Need to move the TFC server over to a different (faster) box as well, and I need to set up e-mail for codefu.org.

Friday, 27 September 2002

Perl is my bitch

darkness @ 23:16:03

Spent most of the day working on some Perl scripts and playing with Oracle. I’ve established a (fairly fragile) import process for getting data to/from a customer. It looks like it’s working, for now at least. When Emacs writes to a setuid/setgid file it seems to lose its setuid/setgid bits in the process; this might be because the owner of the file is different from the UID editing the file.

Final formatting (hopefully) done

darkness @ 08:43:48

OK, I think I fixed just about everything I enumerated last night.

  • Time zones: not happening. MT apparently doesn’t store time zones with entries. I can see why they wouldn’t do this, but at the same time I think I’d rather them go ahead and do it. This way you could calculate the correct time zone that each time stamp (which is stored in local time) is in. Yeah, I think storing the TZ with each entry makes sense. Anyway, instead of fixing this madness, I’ve gone ahead and changed MT to think I’m in UTC (hopefully). Now all entries are listed in UTC. All entries prior to this one have an invalid time stamp (UTC-0400, though they show up as UTC).

  • I changed the navigation for the individual entry pages, but not the monthly archive pages. IE 5.5 isn’t floating the box on the individual entry pages correctly; waiting to see if IE 6 does from someone who has it installed. Mozilla and Konqueror float it correctly. (Honestly it was some pretty messy CSS on my part; I was just kind of adding things in to the style sheet until I liked what I saw.)

  • Changes /blogs to /weblogs, but all the archive pages still have the old link. I’m hoping that’s because it’s stored in the DB; will check it when new pages get created (like after this entry). /blogs still works via a symlink AFAIK.

  • Added the archive and RSS links I wanted. Added the logo on the front page for MT as well; hope just the front page is enough, because I really don’t want to edit all these templates and stick it in.

I think that’s about it. I also found a bug in xml.el which basically made multiple passes of decoding entities. For example, “&” would “expand” (reduce? Translate? What’s the correct term here?) to just “&”. I made a patch against Emacs 21.2 xml.el and sent it to bug-gnu-emacs@gnu.org or some such. Whatever was in the info page. It took me forever to feel that I had read all the bug posting recommendations and followed them adequately before I was ready to send the bug report. I didn’t receive any confirmation of it.

Now I have to remember what projects I was working on before this. I think I’m about to dive into some Perl.

Update: the timestamp on this entry, too, is wrong. MT just not doing DST right at all, and I can’t really say I care to try and track down what’s doing it. I can’t quite figure out where the error is, but I kind of suspect the offset_time* functions in MT::Util. Anyway, according to MT I’m now at UTC-0100 to make everything come out OK. Someone remind me to change this when DST goes away in October or whenever.

Thursday, 26 September 2002

Free at last

darkness @ 05:37:23

Thank god almighty, I am free from HTML at last.

  • The pages all validate as XHTML 1.0 Strict, in theory. In practice some of my older comments break. Hopefully I’ll be able to avoid this in the future.

  • I’m a bit dubious about whether the JavaScript that remembers user information is working. I personally don’t care about it, so if others confirm that it doesn’t work (and don’t want to fix it *grin*) I’ll probably just remove it.

  • I tested in Mozilla 1.1 and IE 5.5 (5.50.4807.2300), and had a third party (thanks ardent and Andy) test in IE 6. Supposedly it’s readable. IE 5.5 is missing some CSS stuff that makes it not display a few things exactly right, but I’m unconcerned; go get a real browser.

  • There are inconsistencies in my XHTML and CSS2, probably. There’s also some reuse of styles and perhaps style sheets where there should be none. I would even wager that I should have named the files a bit differently. Tough. Feel free to fix it and send it to me.

  • There’s no TrackBack anything in any of these pages. If someone actually wants to use it, please get in touch with me and I’ll consider adding it.

  • If you spot things in previous entries that look formatted wrong or break in your browser, please inform me of the exact URL that is breaking and I’ll try and look in to it. (Hell, if you find spelling errors or what-not, please feel free to inform me of it.

I actually just realized I have a few things to do: RSS syndication links, some more archive links from the main page, and the “Made with Movable Type” logos or whatever. I think the license requires those last, but I don’t mind adding them since this actually seems like a pretty nice piece of software. I also need to move this from /blogs to /weblogs. Oh, I also need to dork with the navigation bars in the various archive sections, because they’re looking uglier the more I look at them. Oops, I need to fix time zones in the timestamps too. After I get these things done I hope to just use this stuff for quite some time. Note that when I started writing this paragraph it was much shorter; it keeps growing as I remember something and add it here. Blah.

Notes on IE 5.5. Stick <?xml-stylesheet?> processing instructions in your XHTML and (at least the newest) IE 5.5 and IE 6 die. In fact, I’m pretty sure it’s something to do with the most recent updates to both of these browsers. IE 5.5 doesn’t do content generation from CSS. There’s a bunch of stuff about how IE’s box model has a problem that causes all sorts of calculation errors, along with some “cute” (*cough*) hack to get around it of sorts; I didn’t run into this problem.

Sites I found highly useful while doing this web log:

  • Movable Type User Manual of course.

  • Web colors, though I don’t even know if this matters these days.

  • W3C Validator.

  • For that matter, a whole bunch of specs at W3C’s site.

  • Index DOT Html, which was the easiest place I could find to get the “normal” (default) CSS display attribute value for most HTML elements. Also had a list of HTML block-level elements.

I thought about making my Wiki-like plugin for MT do some modification of the document WRT inserting tags to ensure XHTML validity of a post (though I couldn’t really ensure it, I suppose, without a bunch more logic; more like simple steps to add the functionality). I was then distracted by a cat toy or something I’m sure. I also need to fix my PSGML patch to not insert every damn #FIXED attribute when using C-c C-a.

Wednesday, 25 September 2002

One down, one billion or so to go

darkness @ 12:24:29

Finished my Wiki-like Movable Type plugin. Now I can do things like [LINK TEXT|URL] and **strong** (to make things strong). It also does automatic paragraphs, like MT’s built-in functionality but without inserting <br>’s. It’s probably bit slow, has no documentation, and undoubtedly has some bugs. Also requires HTML::Parser (possibly a very recent one) and Time::HiRes. You can try and tell me about bugs and maybe I’ll try and fix them. There’s more functionality I could add in now, but it’s all complicated by the fact that I don’t have the one-paragraph-per-line model that I think Wiki tends to like. Because of this, things like making lists becomes nasty: I’d have to have a token to terminate the list, probably. Or force it all to be indented.

Going to work on the archive pages. After that, this web log should be in order.

Before I forget, my PSGML patch does have a problem figuring out which fixed attributes to add when you C-c C-a to edit attributes; namely, I think it inserts all of them. I’ll have to (hopefully) look in to this later.

Next Page »

Powered by WordPress