Programming

most of this stuff will be over your head. if it's not, check out splike.com, my programming site

March 13, 2005

What Linux is missing for the home user

Linux needs:


  • Clip art. There's some svg and OO.org stuff, but it is very far from a respectable collection.
  • Smart media player (along the lines Windows Media Player). Amarok is getting there, but it's still a little buggy, doesn't support .wma and .asf files, and the 'play audio cd' feature needs to be much more obvious.
  • something significantly functionally (not philosophically) superior to Windows. A compelling reason to switch.

Posted by Dave at 06:57 PM

linux

I'm home for a couple of days and my parents (and sister) were having trouble with Windows. It'd freeze/crash/BSOD fairly often. I suggested linux :-)

So last night I tried to set up a dual boot but had trouble resizing the NTFS drive. This morning I ran chkdsk on it and fixed all the problems (which I suspect caused the Windows problems too). Now it's got SuSE running just great on it. And I must admit, I'm liking SuSE a lot better than my own Gentoo box :-/. I may switch one day...

And it's been a fun little task of migrating email (outlook on WinXP to Thunderbird on linux), bookmarks (firefox Win to linux), docs (shuffle stuff around to make room for a shared FAT32 drive), and music (wma->wav->ogg). All devices (handspring, digital camera, usb pen drive, printer) worked almost flawlessly (had to create a /dev/pilot symlink). The geforce4 driver doesn't seem to stay installed though...

Amarok isn't quite as nice as windows media player and I still have to find some good tools to replace GoldWave for audio editing for my dad (he doesn't use a lot of features) but they should be pretty much all set. Let's see if they want to stay...

Posted by Dave at 12:02 AM

January 25, 2005

Neural Networks and Football

I've use a Neural Network to predict the Patriots as this year's Superbowl champions.

If anyone's interested in the code and paper (which I did for my AI interim class), let me know. Eventually it'll probably show up on splike.com

Posted by Dave at 08:45 PM

December 06, 2004

Survey results

A couple of days ago I posted a short survey. This was to use as some anecdotal evidence in a paper for my class on the Doctrine of Revelation. The paper is focused around skeptic David Hume's arguments against miracles occurring, based on the probability of the miracle occuring and the probability that the testimonies given are false. Lots of people have argued about it and the arguments often get into logic and math debates. I argued that people don't think like that at all, so it doesn't matter. This was well-supported by the survey responses I got; mathematical incoherence, misunderstood questions, and difficulty in assigning probabilities were exactly what I wanted :-) If anyone's interested in this more, feel free to email me for a copy of my paper, or whatever. Hume's Abject Failure by Earman was one of my main sources.

Posted by Dave at 10:56 PM | TrackBack

December 01, 2004

An odd request...

I need some participants in an informal survery. Please send me an email with answers to these questions (consider each one seperately):

  • Suppose someone came up to you and said their name was Al Plackman. What percent probablity would you believe that to be true? (you know nothing else about this person).
  • What is the probability that this person's name is actually Al Plackman?
  • What is the probability that he is lying to you about his name?
  • Do you believe Christ was resurrected from the dead?
  • In your own words, why do you believe that?
  • What is the probability of this miracle occurring?
  • What is the probability that the witnesses to the resurrection are decieved or are decieving?

Thanks!!! I'll follow this up later with an explanation of what I'm trying to achieve.

Posted by Dave at 09:06 PM | TrackBack

November 28, 2004

what the heck?

why not splatter some thoughts on here again?

thanksgiving was great, except that it's over now. my (nuclear and extended) family is awesome. Cherith & her family are awesome. food & such was good.

life is so busy. only 2 weeks of school left. i'm actually tearing through my to-do list pretty well this afternoon, but only because it's a form of procrastination to avoid working on my religion paper due friday.

mon & tue are my last days of work at GFS. I won't miss it too much, mostly because I won't have time to notice and I do plenty of other programming stuff on my own & for class. It's been great workingi there, but I definately don't have time for it any more; moreover they don't have $ for me (even a lowly intern) in their tight budgets, but that's no suprise because they're in a hiring freeze this year again anyway.

i'll be looking for a full-time job to start in August after I graduate (I'm hoping to relax/hobby/travel for a couple months before I start the rat race fulltime). I've got a real good possibility back home in Midland, and a few minor leads here in the GR area.

Senior Project w/ Andy has been tons of fun; if you know about PGP/RDF/trust networks/server sync/MUA plugins let me know... until later we're keeping it out of the public eye while we work.

my room is too small for all my junk

Posted by Dave at 03:16 PM | TrackBack

October 04, 2004

linux for president

This Saturday, Jared and I went to the Ohio Linuxfest conference. President Bush spoke in the same building that same day. Unfortunately we didn't realize it until after he left, so we weren't able to try to see him.

The conference was cool, we only stayed for the presentations. The after-party would've been lots of fun, but we had a 5 hour drive back home. Met Rich Bowen from the ASF which was cool; he's the first ASF fellow I've met in real life. Also did some PGP keysigning, which will help for Andy & my senior project (spam prevention by using PGP & FOAF for whitelisting everyone in your trust web).

Posted by Dave at 08:29 PM | TrackBack

July 10, 2004

prediction

There will be a several year gap between Windows XP and longhorn, or whatever they're calling the next release. Similarly it'll be a while before Intel's next line comes out. Respectively, linux (and OSX) and AMD's Opteron will incredibly damage the market share of Microsoft and Intel. Even when Intel & Microsoft finally do release their products it'll be too late. It'll get them back into the game, but they'll have lost all momentum and never get it back. Unless the underdogs get lazy, they will topple the wintel world in the upcoming few years.

Posted by Dave at 08:28 AM | TrackBack

July 06, 2004

LXR

I've been working on LXR (Linux Cross Referencer, although no longer limited to the Linux codebase only) at work lately so I've join the dev team and have been committing my changes. Yet another project to add to my list :-)

And now, somewhat perversely, LXR can index Visual Basic code.

Posted by Dave at 06:47 PM | TrackBack

June 26, 2004

3:16

During my recent vacation to N. Carolina, I had time to start reading Donald Knuth's "Things a Computer Scientist Rarely Talks About", based on lectures he gave at MIT. Most of it is related to his 3:16 project which analyzes all the chapter 3, verse 16 verses of the Bible. Very interesting and thought-provoking; and I ordered the "3:16 Bible Texts Illuminated" book yesterday. I highly suggest reading them.

Posted by Dave at 10:08 AM | TrackBack

May 27, 2004

Forrest is a TLP

Forrest's proposal to be a TLP (Top Level Project) got accept by the Apache Board. I will be on the Project Management Committee. Cool stuff, especially with 0.6 getting ready to roll out the door. Also today an OnJava article about Forrest was published.

Posted by Dave at 08:28 PM | TrackBack

May 09, 2004

control xmms w/ special keyboard keys

emerge xbindkeys
xbindkeys --defaults > ~/.xbindkeysrc
xbindkeys -mk

then press each key you'll use

copy, paste and modify that output into ~/.xbindkeysrc

then start it by just running xbindkeys (probably want to put it into your ~/.xinitrc)

mine has:


"xmmsctrl vol 0"
m:0x10 + c:166
"xmmsctrl vol -5"
m:0x10 + c:165
Mod2 + NoSymbol
"xmmsctrl vol +5"
m:0x10 + c:158
"sh -c 'if xmmsctrl playing; then xmmsctrl pause; else xmmsctrl play; fi'"
m:0x10 + c:159
"xmmsctrl stop"
m:0x10 + c:151
"xmmsctrl prev"
m:0x10 + c:164
"xmmsctrl next"
m:0x10 + c:162

Posted by Dave at 06:22 PM | TrackBack

busy, busy, busy!

quick run down: 3 days of class, 2 days off, exams

At work, I've been busily enhancing Forrest's use of PDF output and .cwiki (JSPWiki's markup format) input format. Works quite well to run a JSPWiki for easy collobration and content creation, then whenever you feel like it, run a script to get the wiki files and put them into a Forrest site framework, and run Forrest to generate an aggregate PDF of all the files. End result: a very professional looking document that was easily created. Only problem is that whitespace is an issue in the wiki format because JSPWiki parses it slightly different than the Chaperon parser (part of cocoon, on which Forrest is based) so we have to be careful about little details in the formatting of the wiki pages.

Outside of work, I've been working on Forrest to close up some bugs, get the copyless branch ready to merge back, then we can merge it, apply a win9x build patch, move forrestbot2 into core (from scratchpad) and then make a 0.6 release.

I'm CSX president this year and next, so i did a joint-leadership meeting on monday which went pretty well (a slightly veiled threat in the email helped attendance). we're doing a colloquium/presentation on Monday. As sysadmin SIG leader I'm doing two parts of the presentation. I also have to do the game SIG presentation since Greg's going to be interviewing for an announcement. To get ready for that (in addition to actually figuring out what I'm going to say), I've got to make sure the LANTS doc build stuff is working good, and Greg & I have been putting a lot of time into Kal's Quest so we can "release" the game on Monday. We're getting pretty close but we have tons of ideas of things we would like to get in. 98% of them will wait for the summer.

Classes are busier than ever. In addition to regular work, I've got a 6-10 page spanish paper (long than any I've ever written in English!), an econ project, econ Wall St Journal articles to read/respond to (fault of procrastination), graphics 3d room walkthrough project, graphics modelling lab.

Then there's studying for exams which I haven't even started to think about yet.

And I have to move sometime this month. Not really sure when yet though.

But soon it'll all be over and I'll be working 4 days/week for GFS and 1/week (flexible!) for CSI. And no homework!

Posted by Dave at 03:20 PM | TrackBack

April 20, 2004

alternative to logging

log4j and it's siblings are really nice. Aaron Farr discusses a few problems with it and IoC (Inversion of Control) and references some other blogs & Avalon stuff. I haven't yet read the Patterns book, so I don't exactly know what IoC or a Monitor means. However the Avalon wiki page referenced from his post makes an interesting point that logs are often used as stringified callbacks. return values are useful too.

So here's my question: can we some use Aspect-oriented solution and reflection to automatically log all method calls and their return values? Perhaps with a (x)doclet to give some fine-grained control over the logging. 80% of my logging is for debugging to get a "trace" of the code execution without connecting a debugger. This could pretty much automate that.

Posted by Dave at 06:17 PM | TrackBack

April 12, 2004

Trolltech & KDE interview

Philippe Fremy's interview with Trolltech CEO and KDE founder finally got posted. I helped him transcribe a few sections several months ago. Definitely time consuming :-)

Posted by Dave at 07:31 PM | TrackBack

April 11, 2004

Happy Easter

Happy Easter, everybody!

Make Satan hate you.

Posted by Dave at 11:51 AM | TrackBack

April 05, 2004

new linux commands

comm - opposite of diff (i've been passively looking for this!)
seq - print out a sequence of numbers

... learning something every day!

Posted by Dave at 09:24 PM | TrackBack

March 28, 2004

spring break accomplishments

  • more work on opengl module port to qt3-win32
  • enhanced bash completion (actually i forgot about it yesterday and today's list is seeming pretty short)
    Tab completion for files & directories is nice. command-sensitive tab completion for arguments such as: hostnames, Makefile targets, mount points, man pages, env vars, etc is awesome!

    I just found out about it today and had to share in case others don't know about it either. In gentoo, just emerge bash-completion and uncomment the appropriate line in your .bashrc file

    Other folks can download it from:

    http://www.caliban.org/bash/index.shtml#completion
Posted by Dave at 01:22 AM | TrackBack

March 27, 2004

spring break accomplishments

  • finished QT paint program
  • decided getopt/getopts is not flexible enough... write my own? i don't reallly feel like it
  • began an attempt at porting the opengl module for qt3-win32
Posted by Dave at 02:54 AM | TrackBack

March 26, 2004

spring break accomplishments

  • got VS.NET to compile an SDL program including sdl_image and sdl_ttf
  • began looking in to parsing options for LANTS. bash's getopt is quite limited and the external getopts isn't too swell either. too bad this is a shell script. C's getopts(...) and perl's getopts definitely look nicer. at least you can set up multidimensial arrays to work with
Posted by Dave at 01:11 AM | TrackBack

March 24, 2004

spring break accomplishments

not much since I drove home and then the internet wasn't working at my parents' house

  • wrote XSL stylesheet to strip <ulink>s from docbook files before converting them to man pages; integrated it into the automake/autoconf for LANTS
  • nearly finished QT/Gl paint program, using GL code from last project and coding Qt stuff based on header files (since I had no access to the real documentation)
Posted by Dave at 11:49 PM | TrackBack

spring break accomplishments

Not much today in the way of programming. I spent time cleaning my room and getting ready to drive home tomorrow, errands, and played Magic the Gathering with Matt & Kyle.

  • minor Forrest bug fixes
  • installed VS.NET 2003 (from MSDNAA) on laptop, in hopes that I can get SDL, freetype, sdl_ttf, and sdl_image to all work simultaneously so that we can release Kal's Quest for Windows.
  • Continued working on QT/GL paint program for graphics class
  • fixed category archive links on blog to point to the HTML pages (they were linking to category RSS files). hopefully my category RSS feeds will still generate.
Posted by Dave at 12:24 AM | TrackBack

March 22, 2004

spring break accomplishments

  • extended Forrest docbook stylesheet to support 'refentry' and it's children, and 'email' and 'variablelist' elements
  • tested and improved above with a few external docbook examples
  • set up LANTS to use Forrest
  • posted CSX logos to web; put on wiki and viewcvs
  • various Forrest documentation & source tweaks
  • fixed broken .gif files in Forrest due to svn:eol-style native being incorrectly set on them
Posted by Dave at 06:30 PM | TrackBack

spring break accomplishments

  • checked LANTS into cvs http://csx.calvin.edu/cgi-bin/viewcvs.cgi/sysadmin/lants/
  • added documentation build support to LANTS; using docbook as a source it can currently to convert to manpages; use of Forrest in the future
  • talked with Andy about his progress on WWW::Scraper::ISBN modules
  • Installed and set up Radio UserLand to do bittorrent downloads of RSS enclosures (according to these instructions). if it works well, i might try my hand at getting a linux client to do it, and then set up an RSS feed for strongbad emails.
Posted by Dave at 12:17 AM | TrackBack

March 21, 2004

my 1-year linux anniversary

I've been using linux as my primary desktop OS for over one year now. Last spring break I took my 3rd attempt at getting Gentoo running and I finally made it. In addition to my prior 2 attempts, I had short stints of Mandrake and Redhat but those were relatively short lived.

I'm currently running with an uptime of 39 days and my record is about 60 days. I reboot into windows to use my scanner (Canoscan 1220U unsupported in linux AFAIK), MS Word Spanish spellcheck & grammar check, cd burning (I haven't taken the time to get it working in linux yet).

Posted by Dave at 02:50 PM | TrackBack

March 20, 2004

spring break accomplishments

  • Got automake/autoconf to work, including configuring it to work without trying to compile C sources (we just have bash scripts as sources)
Posted by Dave at 10:47 PM | TrackBack

March 19, 2004

spring break accomplishments

Spring break has begun and since seeing my girlfriend off to Boston, I've already:

  • Updated splike.com to use Forrest-generated pages.
  • Posted the XXE Forrest Config files w/ instructions. And updated the Forrest catalog page to link to it.
  • Wrote Forrest FAQ about breadcrumbs.
  • Documented how to add a CVS checkout command info to ViewCVS
  • Learning automake/autoconf to make a LANTS install slickly. Not a single line of code has been written for LANTS yet, but I figure I might as well start at the beginning.
Posted by Dave at 09:35 PM | TrackBack

March 10, 2004

Subversion

Forrest is now using subversion (SVN) and it's working great! Even in windows! Even behind a proxy! No weirdness, just works!

Posted by Dave at 09:24 PM | TrackBack

March 04, 2004

not enough time

even ignoring all my non-programming commitments i still have a lot i'd like to spend my time on:

Apache Forrest
providers for OSUser (to be used by the forrestbot web interface)
tv guide for Calvin College
book connection for Calvin College
Kal's Quest game
personal webpage
FamilySite
photo gallery browsing framework
CSX sysadmin tools
qt3-win32 (kde-cygwin)
...
and probably more that've slipped off my radar since they've been pushed so far down the queue

Posted by Dave at 11:54 PM | TrackBack

February 16, 2004

cathartic sneeze

Posted by Dave at 08:24 PM | TrackBack

February 12, 2004

wrapping your head around it

I've almost got my head wrapped all the way around struts. And it hasn't been as painful as it sounds :-)

I've been implementing a webapp in struts for forrestbot (getting paid to work on open source!) and it hasn't always been too straightforward. Learning the big picture of a library or paradigm or pattern can be tough. Everywhere you look there are API references and snippets of code to do specific things, but there's nothing like that for organizing an entire application. Even looking at existing applications doesn't work because few apps are "normal"; they frequently have some oddity which requires a variation from a standard design pattern. And other sample apps (often used in "getting started" articles) are too simplistic. They don't show how you start organizing your files when you have multiple forms and actions, for example.

One way to learn this would be to have a concise but complete overview of the "black box" you are trying to learn. For example we'll continue using struts. It's a library that provides lots of neat stuff beyond the servlet container's capabilites. We'll assume we know how servlet containers work (I don't completely yet, but enough). We have struts-config.xml, tlds, tiles definitions, jsp layouts, resources, classes (actions, forms, models) and jsps using jstl & struts tags. That's a lot. Especially looking at the struts-config it can be confusing to understand what names and references correspond to what other things. There's lots of "connections" that go on behind the scenes (meanging: in the struts library) that are unseen and thus not understood. The overview would literally give you all the different type of inputs and tell you the outputs (how the app works). A simple example (I can't remember the specifics for the rest, like tiles or resources) would be saying that struts-config.xml is specified as the config file in web.xml which is read by the servlet. This is how struts knows how this app is configured. Or another: In struts-config, group several elements that specify what form classes you have. Here you specify various things, like if it is a dynaform or not, and what form fields it will handle. You must specify the form fields or they will not be accessable in your java action and form classes. They're also used for validation (I think).

This is a big form of documentation lacking in current software, libraries, languages, etc.

Posted by Dave at 02:54 PM | TrackBack

February 04, 2004

CSX BookConnection

some incredible stats for BookConnection: almost 1000 users (~ 1/4 of calvin's student body), almost 3000 books in the database, and over $21,000 worth of books sold. I was the main developer on getting it going for CSX so I'm pretty proud. I don't think I've ever done anything that's affected so many people directly. wow.

Posted by Dave at 10:53 PM | TrackBack

January 23, 2004

re: frickin awesome!

Followup to this blog and more rambling

Chimes, the calvin newspaper, ran an article on CSX BookConnection website today. I emailed them the story idea. the article was quite good in my opinion. should raise awareness of this neat-o service we've got. Along with the 100 or so posters that me and Eric and Jason put up last night. And the student-news email that went out the day before. So far we've got 286 users this month and we have 510 books for sale and about 100 sold.

I'm also working on making ice skates and i think they'll work and calvin has a wood shop and metal shop i can use to make them streamlined so turning is possible.

and the same Eric and Jason who volunteered to help put up posters have volunteered to help get a on-campus tv guide working. i had one last year and people still want it. even just today my girlfriend's roommate wanted me to fix it. having help should make this possible. i still have to get the backend working, they're going to work on the php frontend.

i had 84 (non-spam) emails to read this morning. arg.

Kyle and AJ and I are meeting next week to discuss the future of FamilySite. A re-write using smarty instead of phphtmllib is the key focus. Also design issues so that GEDCOM will be supported well and communication features that Kyle wants can be included.

my girlfriend is awesome

looking into housing for next year... definitely won't be living in the same house. 1 guy moved out already. 2 more after the lease is up. Chris and I are going to look at my friend Andy's house on monday. Not sure what Big Chris will do; likely live on his own. Andy's a cool guy. It'd be nice to live there I think.

haven't gotten started doing PocketPC programming research for CSI yet. i better do that tomorrow when I'm going to be home without the car all day anyway. And work on my Intrusion Detection project with Snort.

Likely will watch Escanaba in da Moonlight tonight. It's been a long time since I saw it in theaters but quite hilarious if i recall correctly.

Went to Mongolian BBQ for lunch today (well, i'd call it breakfast since it was my first meal of the day). Never been there before, but it lived up to my expectations. Return visits are necessary.

Posted by Dave at 08:58 PM | TrackBack

January 21, 2004

real hacking

In my intrusion detection class we learned about Mitnick's attack. We've been mostly focusing on detecting covert channels and signs of attacks, not how you would implement the attacks. But the discussion of the SYN flood made me realize I think I know enough of the method and the few names of tools mentioned would give me the implementation to do it myself. So me and a few friends are planning on getting on a local network and seeing who can take down each other's computer first. Or who can take down a dummy box first. Of course none of us really know much about hacking, so we're going to agree on a set of tools first, because otherwise a difference in tools would quite likely make the difference.

Posted by Dave at 07:19 PM | TrackBack

January 20, 2004

Clifford Stoll

Clifford Stoll spoke today at Calvin's January Series (streaming archive available). Quite an entertaining lecture. Once he got to talking about technology in education I think he was a bit one-sided (tech can be a very good aid when used properly) and besides that as he said, everything was obvious. Lots of interesting tidbits only us CS/Math types picked up on, like "pop the stack" when he was coming back from an aside. And he jumped around a lot. Seriously. I mean literally, not his train of thought. Although that too. And I think all CS guys from the 60s that make public appearances have hair like him.

Posted by Dave at 10:56 PM | TrackBack

January 16, 2004

ISBNs and UPCs

ISBNs and UPCs are directly related. I'm working on a site that helps students to buy and sell used books. ISBN is a key factor. First, it can use ISBNs to automatically pull the author, title, and edition from the Library of Congress database (see earlier post; lots of awesomeness there). But I myself had trouble finding the ISBN of one book because a sticker with the UPC was on top of it. However, the UPC can be used to calculate the ISBN. The first 3 numbers (the country code) for all books are 978. The next 9 are the ISBN (except for the checksum). The last is a UPC checksum. So we can easily extract 9 of the ISBN digits and calculate the final (checksum) digit. my isbn and upc functions (in php)

Posted by Dave at 12:14 AM | TrackBack

January 14, 2004

development around the world

I'm a developer for Forrest. I wake up this morning with 20+ emails in my box for the forrest-dev list. 20 is high for a total day. So it's been a busy night. Except that I think most of the devs are in Europe, so it wasn't night for them. And now it's been several hours without any emails, except for the replies I sent.

Posted by Dave at 10:38 AM | TrackBack

December 21, 2003

subversion

No, I didn't "destroy someone's (or some group's) honesty or loyalty" today. Subversion (SVN) is a file versioning system. It's intended to replace CVS which is old and ugly. SVN is fairly stable now, but I'd never really read about how awesome it is compared to CVS. A few big differences from CVS, such as version numbers and branching, but just the fact that it handles "copy" commands and directories is a enough of a Good Thing to make me want to try it. I've got it up and running (mostly) on my gentoo box. Haven't got permissions really worked out yet though. I'm going to use it to host some of my personal projects (e.g. websites).

Posted by Dave at 12:56 AM | TrackBack

December 20, 2003

perl module awesomeness

There's no such thing as a complete ISBN database. Some places, like the Library of Congress have really big databases, but not complete. I learned a lot about ISBN numbers tonight (trying to find some sort of database I could use); I ended up writing a perl script to search the LOC database; and I wrote a sweetly simple screen-scraping script.

The LOC database isn't international, and it's not complete either (some lack ISBNs for some reason). Somehow places like amazon.com compile nearly-complete ISBN databases though. You can't really access amazon's database however.

I wanted to programmatically access book information by ISBN. I thought I'd have to write a screen-scraper to simulate a search and parse out the information from the results page. But LOC supports a z39.50 search interface. And there's a perl module to use that. The search results are returned in MARC format. And there's a perl module to use that. It took a while to get it right, but I now have a very small perl script that takes an ISBN and prints the title, author, edition, and date! Awesome!

#!/usr/bin/perl -w use strict; use Net::Z3950; use MARC::File::USMARC; print "syntax: search.pl ISBN\n" and exit if !exists $ARGV[0]; my $isbn = $ARGV[0]; my $host = 'z3950.loc.gov'; my $port = 7090; my $db = 'Voyager'; my $conn = new Net::Z3950::Connection($host, $port, databaseName => $db) or die $!; my $rs = $conn->search("\@attr 1=7 $isbn") or die $conn->errmsg(); my $n = $rs->size(); $rs->option(elementSetName => "f"); $rs->option(preferredRecordSyntax => "USMARC"); foreach my $i (1..$n) { my $rec = $rs->record($i) or die $rs->errmsg(); my $m = MARC::Record->new_from_usmarc($rec->rawdata()); print $m->title(), "\n"; print $m->title_proper(), "\n"; print $m->author(), "\n"; print $m->edition(), "\n"; print $m->publication_date(), "\n"; print "\n"; } $conn->close();

I did write a screen-scaper tonight, too. But for a different reason. Using Template::Extract, I wrote some terribly simple templates to extract links and data from webpages. Looping through the returned data has a funky syntax, but I managed (with some help from Data::Dump):

foreach my $course (@{$data->{'courses'}}) { print $course->{'dept'}, "\t", $course->{'number'}, "\t",course->{'section'}, "\n"; }

Posted by Dave at 03:02 AM | TrackBack

December 15, 2003

trackback

Since this blog is powered by movabletype, it has a cool feature called "trackback" to interact with other blogs. Unfortunately it doesn't work if you don't use MT, or you use MT but with trackback disabled. However, some people are smart enough to do it.

So this entry is technically in response to http://www.kyleandkelly.com/scribbles/archives/000123.shtml I don't have much to say about it except.. let's see if trackback works. And what's up with the "Hi Everybody!" reference?

Posted by Dave at 10:05 PM | TrackBack