Control Panel
Edit your Blog
Build a Blog
View other Blogs
RSS Feed
View Profile
« April 2024 »
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Entries by Topic
All topics  «
Daily Info
Hosting Change
Rambling
Rambling && Daily Info
Rambling && Rant
Rant
Rant && Daily Info
Update

Get Firefox
Get Thunderbird

Stuff
Dead Hack
Essays, 2004
Exceprt from my story
Dadafied Spam
Another Exceprt
The Hard Man
The Average Man
I, Scientist

Places I go
Why 1337 sucks.
Bawls.com
UserFriendly.org
ThinkGeerk.com
Slashdot
FolkLore.org
Beowulf - AI Chess
LinuxISO.org
THG
QDB

You are not logged in. Log in
A Briefcase Full of Code - War is a Failure of Diplomacy
Wednesday, 03/16/2005
The new digs
Topic: Hosting Change

Okay, we're up and ready to go.

The new site is at Code Strange.

For various reasons, I have had to cinch up how posting and commenting is allowed. So you have to register, which will get checked by myself (no, I will not spam you to death), to post comments and such. The confirmation email may get swallowed by various spam filters, but I will also send an email just to make sure.


digitized by gatehansen | 00:57 CST | Post Comment | Permalink

Monday, 03/14/2005
In progress
Topic: Hosting Change

Okay folks, the hosting acquisition and domain name registration are in progress. So this is kind of an End of Life Notice. I'll keep you posted on what the new site name will be and when it'll be up and ready.

So get your links ready to change, the address of this site will be going first. Then this site itself will go. I'm thinking maybe a month or two at the most.

Big things in the works.


digitized by gatehansen | 23:21 CST | Post Comment | Permalink

Sunday, 03/13/2005
Definitely LISPy
Topic: Daily Info

Here's that wicked homework I was working on.

Note: I absolve myself of any guarantees about this code, except that is you use it in a homework assignment without giving me full credit, you are plagiarizing my code. I am coverning my ass against academic dishonesty, as this assingment was due Friday, March 11, 2005.

Now that those pleasantries are over, on to some LISPy goodness:

;;Builds a structure from which we can glena information about the minimum
;;spanning tree
(defun build-mst-struct (map)
(if (eql map '())
'()
(cons (cons (caar map) (cons 'INFINITY 'NOPRED))
(build-mst-struct (cdr map)))))
;;Determines if some symbol is in the map, used in the actual Prim's MST
;;algorithm
(defun in-map-list (map symbol)
(if (eql map '())
'()
(if (eql (caar map) symbol)
T
(in-map-list (cdr map) symbol))))
;;Sets both the key and the predecessor of a node in one shot to save excess
;;tree traversal
(defun set-key-pred-helper (node keyval predval)
(setf (cadr node) keyval)
(setf (cddr node) predval)
keyval)
;;Finds symbol in mst-struct and sets its key=keyval and predecssor=predval
(defun set-key-pred (symbol keyval predval mst-struct)
(if (eql mst-struct '())
'()
(if (eql (caar mst-struct) symbol)
(set-key-pred-helper (car mst-struct) keyval predval)
(set-key-pred symbol keyval predval (cdr mst-struct)))))
;;Used to extract the adjaceny list from the topmost node of the map
(defun pull-adj-list (map)
(car (cddr (car map))))
;;Determines the weight of the edge of the first node in the adjacency list
(defun adj-weight (adj-list)
(cdar adj-list))
;;Retrieves the key associated with symbol in the mst-struct
(defun get-key (symbol mst-struct)
(if (eql mst-struct '())
'()

(if (eql (caar mst-struct) symbol)
(cadar mst-struct)
(get-key symbol (cdr mst-struct)))))
;;My work-around since I didn't know if LISP had the concept of infinity
;;I have defined my own infinity symbol and this checks first to see if
;;keyval is infinite (from Prim's setup) and if not, compares against the
;;passed in weight
(defun weight-less-than-key (weight keyval)
(if (eql keyval 'INFINITY)
T
(< weight keyval)))
(defun set-and-loop (symbol keyval predval map mst-struct adj-list)
(set-key-pred symbol
keyval
predval
mst-struct)
(proc-adj-list mst-struct map (cdr adj-list)))
;;This is the inner loop of Prim's algorithm
(defun proc-adj-list (mst-struct map adj-list)
(if (eql adj-list '())
'()

;;Checking if the next node in the adjanceny list is still in Q
;;If not, we can move onto the next node
(if (not (in-map-list map (caar adj-list)))
(proc-adj-list mst-struct map (cdr adj-list))
;;The node in the adjancency list was in the map still, so no we
;;Do the meat of Prim's, check w(u,v) < key[v]
(if (weight-less-than-key (adj-weight adj-list)
(get-key (caar adj-list) mst-struct))
(set-and-loop (caar adj-list)
(adj-weight adj-list)
(caar map)
map
mst-struct
adj-list)))))
;;This is the main worker of Prim's Algorithm
(defun mst-worker-loop (mst-struct map)
(proc-adj-list mst-struct map (pull-adj-list map))
(mst-worker mst-struct (cdr map)))
(defun mst-worker (mst-struct map)
(if (eql map '())
mst-struct
(mst-worker-loop mst-struct map)))
;;Finally the main mst
(defun mst (map)
(setf mst-struct (build-mst-struct map))
(mst-worker mst-struct map))

(defun mst-cost (to-visit map)
(defun mst-helper (to-visit mst-struct)
(if (eql to-visit '())
0
(+ (get-key (car to-visit) mst-struct)
(mst-helper (cdr to-visit) mst-struct))))
(mst-helper to-visit (mst map)))

Crazy, ain't it?


digitized by gatehansen | 04:39 CST | Post Comment | Permalink

Friday, 03/11/2005
Stuff and junk and stuff and junk
Topic: Daily Info

Hmmm, access to a Cray X1. Not as cool as Blue Gene or The Columbia Installation, but seriously cool anyways, and about the closest I'm going to come to a "real" (they make our little Unisys Box look like an Atari 800) supercomputer until the lab starts working with Pittsburgh

Not that I'm really into writing that kind of code anymore. My interest in large parallel computers is quickly waning. I find AI and networking to be more fun. Anyone can work in AI and networking; only goverments, univeristies and large corporations can do large parallel computing.

Yup, about 6 hours of actual code and paper writing combined with about 15 or 16 hours of straight-up thought on how to take some well known algorithms and do them effeciently in LISP. So all told, 24 hours of work on one assigment. And call me weird, but I actually enjoyed doing it. It was fun, like programming back in freshman year was fun. But instead of very simple programs, I'm now writing nice and complex programs that do something interesting. I did kind of finish up in a half-assed manner, and now the program has a slightly larger runtime (about 0.01 seconds longer on average). If I was willing to go back in tomorrow, I think I may have a fix that would drop the run-time penalty. But otherwise it did work: it made the program much more memory effecient and it takes fewer trials to find the goal. Worked the first time after clearing up some small glitches (you write 600-700 lines of LISP and not make one or two errors).

So yeah, I think AI and something with networks will be my major-emphasis. It's just too much fun.

And I wish I could sleep, I really do. I finally got to bed around 4 yesterday and then got up at 6, and did my marathon. And add on the extended discussion about systems software at work (I'll go into it later) and I'm just about fried.

The plan for tomorrow is to clean up a few slushy stains in the car and shop about for some new boots.

Later-o.


digitized by gatehansen | 02:10 CST | Post Comment | Permalink

Thursday, 03/10/2005
Nifty Shit, Man!
Topic: Daily Info

Sweet! I just found this little deally that will let me hook up my Mp3 player to my car's stereo without that goofy Player-to-Tape arrangement.

Best part about it? No changing CD's. With my 5 GB (which leaves around 15 GB of free space on the player) of music, I currently have over 3 days of playtime, and that's not even half my collection of CD's (fair use RIAA, I paid you for the damn CD's already, you got your money, back off).

So I think I'll order one of these babies, some nice shielded cables to bring the connectors up near the dash (probably under the cup-holder/ash-tray thing) and out this on my list of spring break projects.

Oh yeah.


digitized by gatehansen | 09:27 CST | Post Comment | Permalink
More Pics
Topic: Hosting Change

Alright, here is another shot of my site and a modified layout. I found a few others I may try out once I get the thing into production, but I'm liking this actual layout if not the colors.




Oh yeah, here are some shots from, two weeks ago (or something like that).

Please, stop catching me off guard, dammit!




See, I didn't burn the bejeezus out of my fingers skinning the potatoes, I do that enough cooking at KFC.




Okay, so I was a few deep when I took this. I was having fun with Shannon's camera.



digitized by gatehansen | 02:20 CST | Post Comment | Permalink

Wednesday, 03/09/2005


So as I sit here figuring out how to do a Minimum Spanning Tree, I look at my LISP code and realize how crazy LISP and it's derivatives can be.

Here's a procedure I wrote to find a key in a list (the language's full name is LISt Processing language) and add a value to it:

(defun lookup-add (symbol list value)
(if (eql list '())
'()
(if (eql (car (car list)) symbol)
(setf (cdr (car list)) (+ (cdr (car list)) value))
(lookup-add symbol (cdr list) value))))

The procedure works on a data structure that looks like this:
((A . v1) (B . v2) ... (Sn . vn))

All to find a minimum spanning tree on a map (which is a graph) for a Travelling Salesman Problem. Then after that, I have to rehammer the procedure into something that can provide a reasonable heuristic for an informed search (basically A*).

I really do like AI, although I do find this love of LISP to be a pedantic hold-over from the early, early days of AI. Some things are actually encoded in LISP that you may use everyday: a trip planner, task schedulers often have compiled LISP at their core solving what are known as Constraint Satisfaction Problems.

So I'm thinking of combing AI and networks (intelligent searching mechanisms, something akin to the mighty Google-bot) for my major emphasis. It should be fun, provided I don't have to fiddle around too much with LISP. The language has its uses, but as time goes on, a lot of the things it is applied to become better done by other tools. As I always say, use the right tool for the job.

All in case you wanted to know what I'm doing at the moment.

Also, still fiddling around with the new CMS and getting a test setup I really like. Things are progressing nicely.


digitized by gatehansen | 00:19 CST | Post Comment | View Comments (1) | Permalink

Tuesday, 03/08/2005
New Test Site
Topic: Hosting Change

Well, I've decided to initially use e107 as my new website system. It's the most feature complete and the only one that installs properly.

I really liked Mambo, but it wasn't using the database passwords correctly, which scares the bejeezus out of me, even after I patched up.

Here's a pretty picture. The theme is fully changeable, and this is the one that fits my fancy at the moment.




So, once I fiddle with it some more, figure out all the little jiggers, I'll contact some of the hosting companies and get to work uploading. Maybe during spring break or some time shortly after.

Now back to the skulduggery that is my homework.


digitized by gatehansen | 00:16 CST | Post Comment | View Comments (1) | Permalink

Sunday, 03/06/2005
Changes
Topic: Hosting Change

I've been thinking about moving off of Tripod for some time now.

I don't like the business ethics of their domain name registrar (they resold a domain name without notifying the ISP using that domain name, severely fucking over thousands of users).

I like Tripod itself: they've been extremely responsive and have often gone out of their way to help me in the past.

However, after many mergers and sales, they've sort of fallen into a decline. The web server software they use is of an antiquated vintage without the robustness and power of Apache (Apache beats the pants off any web server out there, not bad for a freeware product). They offer no database access. They offer no PHP, no JSP, no ASP, no new utilities for dynamic content. Only an outdated version of Perl, without a lot of the nifty modules. This blog is basically a collection of text files and some noddy little Perl scripts that do a good job: I salute the Tripod programmers for doing this much with so little. It's basically the equivalent of shoestrings, duct-tape and chewing gum. The blogging service is basically MacGyvered together.

So I've begun to shop around. I've found many places with cheaper hosting service, with databases (most notably my beloved MySQL), PHP, JSP, ASP (all within reasonable and understandable limits). Also, those sites will let me run Google text ads to help offset my costs slightly. So I think I may soon be departing Tripod, sometime within the next six months. It's kid of a sad thing; I've had this little web space for going on six years now.

I'm going to take my laptop and run a series of tests to first determine what kind of portal service I want (Mambo, GeekLog,Sitefram,e107.org, and basically many others on this list). Completely off the network, mind you.

I'll let everyone know well in advance when I'm ready to make the change, and I'll leave this old one up for a month or so afterward. My domain name will change (I'm not willing to fight for the domain name because I have a feeling the fight will be an utter mess), hopefully to something similar. But, like I said, I'll give everyone some time to modify their sites and such.

As I go about my testing, I'll upload some shots of the CMS's I'm testing and ask for some comments. I'm thinking I'll be ready around May, when I'll have some time after finals week. Probably after the 14th of May. It may only be a short gap as I'm looking at taking some summer classes, but it should be enough for me to get going, pull down my entire tripod archive and get the new site up and running.

More on this as time goes on.


digitized by gatehansen | 17:57 CST | Post Comment | Permalink

Thursday, 03/03/2005
Big-O and other stuff
Topic: Rambling && Daily Info

I'm frantic in your soothing arms
I cannot sleep in this down filled world
Found safety in this loneliness
But I cannot stand it anymore

The Unnamed Feeling, Metallica

Okay, if you ever wondered what would happen if post-modernism got into a three-way with existentialism and anime, it would be Big-O. Not knocking the show, it's great and has an entertaining story-line. It's just really, really weird and complicated.

I dunno. If you are tired of hearing me talk about what you know I'm going to talk about, this would be the point at which you might want to turn back. May I recommend User Friendly?






I was speaking with Shannon tonight about some things, and she brought up a good argument: that I sometimes seem to act as if people are making attacks upon me when it comes to relationships. It's a fairly valid argument, at the least partially correct, most likely more.

I know no one does anything personally or intentionally. It just makes me uncomfortable, I guess. And as time further progresses, it makes me more uncomfortable. It warps me a little bit more.

Hanging out with Chris and his girlfriend today didn't phase me much, because Chris behaves universally. But with others, the behaviors change, at least this is my observation. Not a major change (although that does periodically happen), just something subtle.

It makes me feel like the outsider. Which is what I am, in that case, and rightly so. Humanity, when operating properly, first connects solely in pairs: one human to another. From a biological level all the way up to the meanings we humans impart onto our activities, it is pairs, always pairs. And so, the third is the outsider. The outsider can respectfully leave, or forcefully interject. One is moral, the other amoral.

But because it is moral does not mean it feels good. Which is the way moral decisions seem to work: one has to sacrifice for the others. There's nothing wrong with it, I guess. When I've gone off to the clearing at the end of the path, I hope someone says that I made moral choices.

I just hate that walking, lonely kind of hurt. No... not even really hate anymore; just tired of it. It's a dull ache, like a muscle over-worked, burning inside. But I guess I can shoulder this load a little longer.

I know it seems like I bring it up a lot, but not really, in the scope of all that I think on. These thoughts pass through my head less and less as time marches forward. They just happen to come up as I write in here. I use this place to bleed a little more of it off. But I wonder, what will happen when it is gone from me completely? To the point that I don't even care at all about such things? To the point where I don't even have that desire anymore?

The desire causes the hurt. The desire to not be alone. The desire that is the same among all humans.

So, Shannon, you're argument is right: I sometimes feel attacked by that. And I shouldn't, and I should try to change that. Thank you for calling me on it.

But I'm not bothered so much anymore, especially as I continue to write this and hash things out. I just feel awkward in those places, and that I should leave so as to not impose myself.

If my company is asked, I may give it depending on my own constraints, otherwise I shall occupy myself with tasks of my own. There is always software to design and code, papers to be written, and books to be read.

And this time I'll make it explicit: does anyone have anything they want to say? Any comments at all? I'm soliciting for them this time, and I would appreciate them here and now.


digitized by gatehansen | 01:47 CST | Post Comment | View Comments (1) | Permalink
Redigitized by gatehansen: Thursday, 03/03/2005 01:48 CST

Newer | Latest | Older