Karl Knechtel

Well, I suppose I should make an introduction.

Name: Karl Knechtel. Known to many on the InterNet as "Zahlman". After reading RealNamesPlease, I decided to stick with the real name because:

  1. While I have taken strides to "secure my internet identity" as it were, it doesn't show up much for me in real life. While some of my friends will address me that way (or even "Hey Zahl"), I certainly could never convince my parents to. So this identity is not as strong for me as it is for, say, TorneWuff.

  2. I have previously used my real name for another wiki (see below).

  3. "ZahlMan" looks a bit UgLy as a WikiName. I don't generally capitalize the M elsewhere, although I do often colourize (hooray for UkSpelling?) 'zahl' and 'man' differently where the facilities exist.

Webpage: I have some web space which I use for assorted purposes, but not really a web page to speak of at the moment. Here is a picture of me which I host in that space:

Oh, they don't like hotlinking, apparently. Bah. BandwidthTheftIsaFakeCrime?. Anyway, I'll have to escape the link so you can copy and paste to a new browser window, or something. http://jove.prohosting.com/~zahlman/me.jpg. There you go.

MyMyersBriggsTypeIs: normally INTP I think, but I've also had ENTP and INTJ. Very very definitely NT though. I can be very compassionate and emotional when the situation requires, but I feel as though I have to "turn on" that functionality explicitly.

Likes and Dislikes: I'll fill this in properly later. In the mean time, please see KkOoPuristRant.

Author Of:

And possibly some other stuff I forgot.

Some of these pages might only be linked from here at the time you read this page, or might not even be defined yet (since I am just leaving myself a reminder about pages I'd like to start). Please do not think that I wish to create a WalledGarden; it's just that in some cases, I'm not sure where to link them in from. WikiGnomes, please feel free to link these up somewhere more appropriate, and then you can delete the link here (but please leave a note so I know). If I later figure out where something goes, I'll RefactorMercilessly myself.

Dicksize: I.e., the quantity that everyone seeks to compare and is inwardly proud of or insecure about, even though we all "know" in whatever sense that it doesn't matter. In this context, I suppose that means "experience".

The long story that was here has been moved to KkProgrammingLifeStory.

Projects, involvements and ideas:

Of course, I have a lot of these, being a thinking HumanBeing. Of course, the vast majority of them are wildly OffTopic, such that I could probably never hope to find a place to include them here.

  1. Wiki:
    1. WardsWiki, of course.
    2. ZincWiki, my own wiki implementation from scratch. ReinventingTheWheel is a favourite hobby of mine, it seems. Given the introduction to this section, though, it should come as no surprise that I list this one first. The idea is to get a working version of ZincWiki up in my personal web space, GPL (or equivalent - maybe something like LarryWall's ArtisticLicense?) the source, and describe some of my other ideas and things there. Perhaps it will serve as a r�sum� as well.
    3. SenseisLibrary, one of the most authoritative resources out there for the GameOfGo.
  2. Talkers: A "talker" is simply a bit of server code which facilitates internet chat via TelnetProtocol? or SshProtocol?. Several implementations already exist, but almost all are written in CeeLanguage, and most are quite hairy. I have developed a rather strong distaste for names I once admired, those of some of the original implementers - CowboyCoders for sure, except that they were working for themselves. At any rate.
    1. I have access to the code for Enchantment Under The Sea, at telnet://euts.org:1998 .
    2. I helped out one of the users there who started writing a Java talker implementation, called MatChat. Originally I was going to play an active role there, and thus help the kid learn OO (leaving him to learn the JavaLanguage itself by himself), but found I didn't likely have the patience for it. I gave him a basic framework, which sets up some I/O threads and provides some input parsing functionality. After that I ended up reworking a few things, a few times. He learned the important lesson that it's rare for people to get code right the first time, even when they know what they're doing, and that it's almost always a mistake to think you have got it right. :) Accepting this attitude seems to be required for the motivation behind ExtremeProgramming...
    3. Anyway, based on that work, I started on my own implementation, also in JavaLanguage, to be called ZoIsite? (Well, ZoISITE, but that's not a WikiName).
    4. I'm also a user at a few other random talkers, though it doesn't really suit me to list them here. In a lot of cases I only poke my head in to see what (version of) code the talker is running, and any other special features of note. In some other cases I was invited by a friend to have a look around for some special reason. I used to play a lot of MultipleUserDungeon?s too. (I suppose a talker is really the most fundamental form of MU* - a MUD without the gameplay aspect, just rooms and social interaction.)
  3. My undergraduate thesis, "DaCAlOpE: A Divide-and-Conquer Algorithm Optimization Engine". The project was a study of automated algorithm optmization; making decision trees to decide which algorithm to use at a certain point, and so on. The code didn't work very well because I deliberately set it up to be (a) very general and (b) ignorant of big-O. Another university student has now picked up on the project; apparently, the intent is to undo all my generalization and produce as slickly-optimized a sorting routine as possible.
  4. I've toyed with the idea of writing a programming language, but I took a compilers course (and also an optimizing compilers course) in university and they reinforced my notion that writing a new compiler for a new language from scratch (or at least from C, and then again in the new language) is a Big Undertaking. Anyway, my most recent collection of jelled-together ideas forms a language which I have christened "defn", after a unique primitive datatype it would define. See DefnLanguage (once I've written something).

If anyone cares, my code is available at http://jove.prohosting.com/~zahlman/DaCAlOpE/DaCAlOpE.tar.gz. My licence is included in there. You'll also need to find a copy of the "c4.5" decision tree software to use it; that's all free and open except that the author maintains exclusive rights to distribution - even though he 'distributes' it free of charge on his own webpage - so I can't include it.

I'm happy to know someone is working on a wiki somewhere in Canada.

Actually I haven't really had time to do anything about it for some months now, being busy with work. I'm also thinking about taking it as an opportunity to learn PythonLanguage, but (AnswerMe!) I don't know how good the CGI support is out there for it.

I updated the DefnLanguage page for you. No, no, don't thank me.

You won't. :-)

-- DougMerritt

I know this hasn't been editied in a while, but I must ask out of curiosity; University of Toronto, undergraduate thesis - were you in their Engineering Science program? --Anonymous


EditText of this page (last edited November 19, 2010) or FindPage with title or text search