Recent blog entries for kwoo

15 Aug 2003 (updated 15 Aug 2003 at 20:33 UTC) »
They told me so

I'm sure that rillian and a few others are probably chuckling, saying "I told you so" under their breaths, but here it is: I like Python 2.3. I really like it. If I had known that it was (in some senses) a stealth Lisp with infix notation and fewer parentheses, I might have given it more of a chance sooner. Instead, I bashed it mercilessly for having an exception dedicated to indentation errors.

In short, I now feel very foolish for judging a language by its exceptions.

Nope, I'm not dead

Just resting. Many things going on in my life (check user kwoo on LiveJournal if you're interested), and very few have anything to do with coding.

Curses!

Actually, it's the lack of them that's driving me nuts -- namely, curses bindings for functional languages. I know that functional language purists scoff at such ideas, but I'm darn close to digging into O'Caml's FFI to make such a thing happen.

Barter and Blister

Barter and Blister are now officially dead. Major changes have gone on in my life, and I am left with no desire to finish them.

Major changes

I am now a resident of Hay River, NT, CA (formerly of Vancouver, BC, CA).

I am now focusing on the mathematical underpinnings of computing science and cryptography/cryptanalysis rather than writing yet-another-horrible-CGI-application.

I am no longer working with computers professionally. This may change, but for the moment, I am working in shipping/receiving at a local department store.

I am now focusing on Ruby and O'Caml, rather than Scheme, Smalltalk, Lisp, C, C++, Perl, Modula series, shell scripting, and the scads of other languages I've cycled through. These are the only interpreters/compiler that seem to work on all of the platforms and OSs that I do. I no longer give a rat's ass what anyone thinks about my choice of languages. I even wrote a prime number filtering program in Ruby. It's slow, but it does the trick. If I have a big prime, I'll just run it as I sleep. No biggie.

I am now impossible to find on IRC unless you know the two channels where I hang out (and the network those channels are on, for that matter). They are non-technical channels, so if you see me there, please don't ask for technical help. Do that through e-mail.

I no longer follow Usenet. I don't even think I can get access to it up here. If you're posting something you think I would like, please Bcc it. Even the comp.* hierarchy is driving me crazy these days.

I will only post things that are actually interesting to Advogato in the future. This message is not considered interesting, but rather is here to let the few that look know what's up.

Haskell

SyntaxPolice: Haskell is one of those languages I've always wanted to get into (if for no other reason than to explore yet another functional language), but have never had the time. It does look pretty sweet, though!

Java

Okay, my certs and diary ranking are going to take a serious drop. I've started learning Java.

I contacted someone I used to work for at a local university, mostly to say hello and ask about possible positions at the company he's now with. It seems the company needs Java programmers. This is a trend I've noticed recently -- there seem to be more Java jobs than everything else combined in my area.

He pointed out that the development cycle at his company is very short, and that does not make for a good learn-on-the-job environment (for the company or for me, for that matter). But it did give me something to think about.

Vancouver is a sort of bass-ackwards city. The Java gold rush that has probably faded other places is still alive and well here. Since I can hardly get anyone to look at my resume without being a Java or Microsoft guru, I figure I'll take the lesser of the two evils.

That being said, does anyone know of a good resource that lists the differences between the 1.3.1 and 1.4.1 APIs? On my current most-used platform (Linux/PPC), I can only get access to 1.3.1, and it would be handy to know what I'm missing from the latest spec.

Also, a question to those who work in Java -- what are the things I should learn? Are Beans still being used? Is J2EE knowledge helpful, or should I put off learning it until I have to use it? How 'bout JSP? Servelets?

Thank you for reading this far. :)

O'Caml

SyntaxPolice: Thank you for the link! The link I was talking about was for another book on the subject. The two should complement each other, though.

GNU Smalltalk

Got a mail from brondsem announcing success in building 2.0k on Solaris/SPARC, so it's not a generic big-endian issue. I'll look into this more when I have time -- right now I'm rushing through some housework in the hopes of getting more of the grass cut before it starts to rain.

X serving

Got remote X connections up and working within a matter of minutes. Encrypted, even. Not to shabby -- thanks to the OpenSSH team for not making it a pain in the butt!

O'Caml

Playing with the regular expression library in O'Caml. It is fun and entertaining. I'm more used to a Perl or Ruby approach, but Caml's is good enough for what I need to do.

I found an on-line book that is a pretty good introduction to O'Caml, and it answered some of the questions I had that weren't answered in the user manual. This makes my life much easier! I'll post the URL when I find it again, but it's only two or three links off the main O'Caml site.

O'Caml

Built 3.06 on both of the laptops (Linux/PPC and Linux/x86), re-read the user manual, and am in the process of catching up on the mailing list.

GNU Smalltalk

No progress here. brondsem e-mailed me regarding linking problems with Solaris (specifically /usr/ccs/bin/ld), but I wasn't able to help -- it's been a long while since I've barked up that tree.

Blister

Not a lot of work done here, either. It continues to bubble in my subconscious, and a lot of painting myself into corners has (hopefully) been avoided.

Barter

I had the potential for getting some user input before real development begins, but that won't be happening now, as I can't make the meeting. The other folks are meeting up, and I'm hoping that the results will be posted on the mailing list that sparked the whole idea.

Spare cycles

My spare laptop is pretty resource-limited (32MB RAM, 366 Celeron), so I'm going to see what I can do about leeching off of my other machines' spare cycles (and memory). The firewall box has a bunch of spare disk space and a thousandth of a percent of CPU usage actually being taken up, so it's likely I'll just run X sessions off it.

Of course, this means I'll have to distribute backup responsibilities across the other machines on the network, but cron and rsync will do that just fine.

Other stuff

Much yardwork and spending of money today. Got a new shovel, some strawberry bushes, a small army of flower pots and labels. If it doesn't rain tomorrow, I should be able to finish getting the lawn trimmed right down and we can stake out the garden plots and start ripping off the turf.

I finally remembered to pick up chamomile seed, and we got a couple of other herb seeds. This weekend marks approximately four weeks before last frost in our zone, so we have a lot of seed starting to do this weekend.

GNU Smalltalk, part deux

Here's the current scoop. If there is a place to find more information, please let me know.

  • builds successfully on FreeBSD/x86 5.0rc1, but fails sigsegv stack overflow test
  • builds, tests, and installs successfully on Linux/x86 (Slackware 8.1, fresh install)
  • still not building on Linux/PPC (invalid character '^?' makes CFuncs.st barf)
  • uses libiberty.h, which Mac OS X.1 doesn't seem to include (and I'm too lazy to do a binutils install on it)

I'm thinking it's an issue with big-endian machines -- can anyone with a big-endian machine take a few minutes to build 2.0k and see if it works? If it's a generic issue with big-endian machines I think I can find it, but if not, I've still got a bit more digging to do.

GNU Smalltalk

Got the latest (2.0k) and set about compiling it. I was never able to get the earlier 2.0[:alpha:] versions to compile, but this time I've resolved to see it through to the end.

There are three languages that I really like -- Lisp, Ruby, and Smalltalk. I have working Lisp and Ruby interpreters, but would love to add GNU Smalltalk to the collection. Squeak is fun for playing with, but I find it hard to understand, and too graphically demanding.

The first problem was an include of the file siginfo.h in one of the sigsegv files. It turns out that file isn't necessary to include on Linux/PPC -- I commented out the include, and it worked just fine.

Unfortunately, I'm getting bit in the butt when it comes to CFuncs.st -- it's complaining of an invalid character ('^?'), and I'm trying to figure out where that's coming from.

More (and hopefully a patch) when I figure that out.

Software Engineering

I'm going through the 6.170 course materials from OpenCourseWare at MIT. So far (middle of the second lecture notes) things are very much as expected, but with a slightly different point of view than many of the books I've read on it.

Slackware 8.1

I just finished burning a Slackware 8.1 ISO to install on my old laptop. I had installed QNX on it just to see what was happening in that world, but QNX doesn't like a Celeron 366 with 32MB RAM too much -- but Linux will do just fine. I'm just going to run a cable from the office to the bedroom so I can do my thing while Ellen reads, but still hang out together.

Ruby and XML

After a brief search, I have come across nqxml, a pure Ruby non-validating XML parser. It misses a couple of things from the spec, but those things are documented, so I can be sure to avoid them.

I'm going to make a little tag-rewriting tool with it, and hopefully it won't turn out too bad. The only real worry I have is that it will turn out to be as confusing as XSL-FO. We'll see.

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