Older blog entries for wwwwolf (starting at number 29)

Sheesh. So far, nothing annoying in E2 or Slashdot. Got to be a new record or something.

Anyway, today I wrote something for XMMS-InfoPipe. I figured that since I couldn't get XMMS to tell the meta information, the metainfo could be got by other means. In other words, I added stuff to the CGI / mod_perl script instead... This should be given by XMMS, but the API document, excuse me, the header file has no word on how this is supposed to be done.

Yeah, yeah, I said a month ago the release would be "next week". Sorry. Got stuff to do. =( Well, expect it soon...

Version 1.2 of XMMS InfoPipe has been released.

I moved it to my CVS system (before it becomes entirely unmanageable), added some patches from people (late, as usual), tinkered with it, and finally kicked it out of the door. And it works!

It adds some of the patches from other people (including a highly interesting "multisession" patch) and includes some new scripts (PHP version of the info script, and my now-non-famous speech synthesis hookup).

Probably not bad. Get it if you would like the programs, too, know what you listen to. =)

Last night I was, obviously, lying in my bed.

Listening to stuff with XMMS.

And then I noticed I had put to the gigantic playlist of mine a piece of instrumental music that I had not heard before.

So, I just had an idea.

I jumped up, wrote a small Perl script that takes the song title from the XMMS-Infopipe and feeds it to Festival.

Then I bound the script to a button on my remote control I use to control XMMS.

So now I don't need to get up to see what the hell is the name of the song that is playing! =) Strange ideas in the middle of the night.

A friend told me someone had written something similar for iTunes in Applescript. Well...

Uh, it's nice to see that when I write Perl at four o'clock in the morning, I still include "use warnings; use strict;" - those are the sort of things everyone should have in their reflexes =)

1 Feb 2002 (updated 1 Feb 2002 at 23:20 UTC) »

Whoo, it's been pretty quiet on the code front in my case =)

Probably because I've been busy with Most Other Stuff, uninteresting things, and really interesting other things. Could it get any more vague than this?

Well, anyway, today I did code something.

I discovered uptimed, a much better alternative for ud. I converted my old uptimes to its format, and decided I needed to put that to web.

The problem: The machine's home page was written in JSP. Tomcat and Apache don't like each other so much that I could do a virtual include request to a CGI program... so it's all Java or nothing. So, I couldn't use the included CGI.

I used a quick "include stuff from shell command uprecords -a" until I wrote a JSP to parse the recordfile. Now it shows the thing as a HTML table.

If my machine somehow is up, you can see the results. I'll clean it up and release it later.

Too much Java.

Oh yeah: Someone in the Usenet was obviously asking for a school/course work solution for some trivial problem... in Java. I gave the answer... in Lisp....

Nothing significant from the hack front.

Ecept that I spent some 5 hours to make one smallish (only 424 lines!) program for...

...Nethack logfile summarization.

I haven't yet put that to my home page. One thing is sure: I now know how to mess with really complicated things in java and also use Hashtable, Vector, Calendar and DateFormat classes efficiently. (Java hypespeak sentence:) I now have a good, 100% Pure Java reusable codebase for developing advanced Nethack logfile analysis packages.

It's just that 5 lines of Perl, taking about 3 minutes, would have been required to make that "Monster high scores list" I wanted to put to my home page... =)

Yes, I'm insane.

Hey, I think Advogato took the concept of "black home page" a bit too far. Yes, things have been bad. Yes, great losses have been experienced. I just wish I won't lose my damn eyesight too. (I often hate myself for my ocassional cynicism, especially when it can ocassionally annoy people. Bear with me.) Believe me, even when none of the tragedies seen today have touched me personally, they did affect me. For non-code-related babble on the day's stuff, see my diary entry in Kuro5hin.org.

Aww, what the hell I'm whining about black backgrounds - I turned on the Goth theme for the day in E2, too. At least E2 had white letters, too...

Enough rambling already!

The coding stuff: I put some extremely rudimentary DocBook documentation stuff to the Schedulist CVS server... It shall, yes it shall, be Two Documents, one for the Developers and one for the Users, one day.

Huzzah!

You know, the new semester starts next week, so I decided to fix my amazing schedule generator, schedulist, before I get too busy to work on it. The problem with it was that HTML table generation didn't work at all. =(

Well, now it does work again... basically, the code had a few off-by-one counting errors and that made the HTML tables appear completely whacked. My expert opinion: HTML table syntax stinks. There should be a more easily-approachable way to this!

To Do Before 1.1 Release: I think I need to build a few more table generators (for LaTeX?) and finish the Website Meta Language support...

27 Aug 2001 (updated 27 Aug 2001 at 23:07 UTC) »
Journeyer? Well, I guess I need to get used to the idea, even though I'm not a Great Leader of A Minor Product. Maybe there should be a Mad Tinkerer qualification for people who do all sorts of wicked stuff of debatable usefulness for common good =)

Anyway, today's cool stuff, really cool stuff: I've been banging the OpenGL maze hack (it now has a web page! Well, it has had that for a while but it's not been linked to from anywhere...) I got the goddamned viewing transformation to "work". (I don't know what's up. (literally.) The up vector is 0,0,1, when it obviously should work when I say 0,1,0 - saying the 0,1,0 as the up vector turns the whole thing to horizontal state...)

I did some math: I succeeded in solving the really hard mathematical problem® ("if I stand at point (x,y), look at direction α, and walk d units forward, where (x1,y1) do I get to?") and that enabled me to make the walking routine AND the gluLookAt thing (though the 3d environment creation itself, it seems, and the viewpoint thing for some parts, is having more of the quality of the concept "buggy" than we usually say...)...

Here's a screenshot! I know, it doesn't look like much yet.... yet.

I need to make the walls cooler, implement collision detections, textures, atmospheric effects/fog, culling of faces outside player's viewing range, and so on... Ack, maybe I first make the thing actually work at some basic level... =)

PS. Oh, yeah, forgot: I dumped GLUT and switched to SDL. Hm, is there an object-oriented C++ wrapper for it somewhere?

PPS. Yeah, gnuplot really is a handy debugging tool (used it to debug my walking paths using the calculator thing when the view didn't work) - get it today! =)

Haven't had much time to hack the hedge maze thing, because I did something I thought was pretty neat...

I made a small comparision of of programming language types. It explains differences between different sorts of languages... well, it's sillier than most explanations, but more interesting than "how to count from one to ten" in millions of languages. This has several implementations of That Ol' Silly Stutter/Feedback Algorithm.

The creation of this thing was fun. Well, mostly. I finally wrote a Perl version of the program. I made a Lisp version. I made a Forth version. I thought of making a Fortran 77 version but I screamed and ran when I saw the string handling capabilities of that language. I tried Haskell but just tonight spent good three hours trying to figure out how to take slices of arrays / substrings of strings, so I think I'll stick with Lisp for my functional programming needs, thanks.

And it got 2 cools and 11 upvotes overnight. Gives a warm fuzzy feeling™.

Yesterday, I coded my maze generator hack all over. Well, actually, I just ported the C program of mine to use C++ and to use the basic facilities of the language (C version of the maze generator was so stand-alone that I complied it with cc65 to produce a working C64 binary in no time!)...

(Yeah, I haven't used C++ much, but now I first time noticed that templates do have a bit awkward syntax. Anyway, I can tolerate that - vector<vector<char> > is almost a tolerable way of making a multi-dimensional character array, compared to C way with the dreaded malloc() and some calculations... =)

It now uses OpenGL to do the display stuff, and it's going to be a fully three-dimensional maze exploration program!

The only problems I've had so far:

  • "Hedge" geneator should churn out cubes. It creates a huge bunch of triangles instead. Weird, that.
  • Yeah, the user-perspective view doesn't work at all =( either I get a blank view, or interesting "viewpoint" to the location I'm looking at. Looks like I still need to learn more of the viewing/modelview transformations.

I have read the whole red book, but that won't help me much, I guess - I haven't actually written too much OpenGL code. Plus, I suck at math. =( I think I am able to survive this, one day - I'm doing this mostly just to prove that I'm able to do insane things. In C++. With OpenGL. In Glorious 3D. =)

Maybe I should focus my stuff on stuff that actually does something worthwhile... =/

20 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!