Older blog entries for milkman (starting at number 5)

General Stufffs:
Long time since I've posted... since being layed off last time, I was hired again at a place... I stayed there working on asp things trying to get them to move to asp.net at least or any language/server/environment better than asp. After 9 months I decided to move on and have been working from home on contract type stuff since... I'm going to start posting again... seriously. :)

Wow, long time. I got laid off... now I've been rehired. Doing work on University of Washington Healthlinks

In other news I started playing with wireless stuff, I even went to a Seattle Wireless meeting. It was cool... On last saturday I went out and did some netstumbling type stuff... picutres if you care are here.

Well, its been a long time.

First, about 3 months ago I got laid off...
About 2 weeks ago, I got rehired...
I'm now working once again for the University of Washington doing some database stuff on this project called HealthLinks. So, anyhow, I may have something to write about now that I can spend more of my time doing things other than school work and looking for a job. :)

I got a new computer *cough* ... titanium powerbook g4/500 that I named kuzco after Dave Spade's character from The Emporors New Groove. So, I'm having fun playing with fink a ports tree thing that lets you put ported OSS stuff on your mac.

Perhaps now I'll get to applying some patches to PHPUnit and rewriting it in a PEAR fasion so maybe it'll ship as a standard package thing... what do you think? Anyway, back to work. :)

Work:
For the last while I've been doing a whole lot of random tasks. . . which reminds me... I watched austin powers last night and laughed till I hurt over the charachter, random task. Anyhow... what got my goat today?
I have been working on a VSS to CVS conversion script from "laine"... www.laine.org . . . Anyhow, my manager boss man handed me this script last week and said, "its perl, you know perl, go at it... I couldn't get it to work, it dies here..." and he handed me a stack of printouts of emails he'd recieved from the author, so I assumed mistake mistake? that the problem was in the script. So, we're running cygwin in win 2k pro... Yes. So, anyhow, I hack at this crazy perl and get it nearly working by today under cygwin, when I get an email. "Try new version from laine... under DOS." So, I set it up, and it works. *grr*. Its a really scary script. 15 lines of undocumented regexes all operating on $_... scary.

School:

finals
ASP XMLRPC: If anyone is interested to see the adaptation I've made of this asp xml rpc client, email me, and it'll motivate me to work on this thing at work... document it perhaps. Anyhow... bye.
WORK
Today started out ok, I got to work around 12:15, faster than most days, I get out of class at 11:30, and its a 15 minute walk home, and a 20 minute drive, so you can work out that math.

Anyway, what did I do? ASP XMLRPC is well on its way, I've got the basic types nearly working correctly, the fussy one being <struct>.
The simple types allow you to construct your parameters and be certain that you will provide the correct structure to your query. Thinking about this now, I'm probably not going to use this all too often, however; I do know that it works. :) I think building the XMLRPC <methodCall> using these built in types really helped build other aspects of the system.

The method response really works itself well now for error handling, I can easily built the xml for the error messages in a fault methodresponse. I can just return this:

xmlrpc.faultresponse ("faultCode_goes_here","faultString_goes_here).as_xml()

Yup. So I have the factory object xmlrpc nearly done, handles most things, except the dict -> struct which for some reason I left out, well, I misplaced it. Also, there are some refactorings left to be done. All in all, it might be finished up and ready to actually use by Wednesday. Another note, I'm not sure whats up with the original xml parsing code, but I removed some of it and made it more simple I think. Anyhow, I like it better, 2 functions, xml_to_value(xmltree) and xmlnode_to_value (xmlnode) <--- assumes that you give it the first "value" node pointer. Yup. so, those are simplified. I'm going to change the rest to use the dom.firstChild() stuff, I'm not sure if its an extention or part of the spec... if it is part of the spec, the code will change. . .

School

I wake up. I go to class. I go to work. Learning french isn't that hard. Semantics is kinda difficult, have to pay attention to the notation the Prof. wants. And my english class... who would've thought I'd take a class about STYLE, where the things we write about are comparisions of the STYLE of two STYLE books. Go figure.

15 Oct 2001 (updated 15 Oct 2001 at 06:01 UTC) »

Ah, the first post to a diary.

Life is good, school has started and I'm still working about 20 hours a week. Good news is that I get to work on GPL stuff at work. Currently, I'm writing another ASP xmlrpc client/server based off of GPL code from David Carter-Tod, aspxmlrpc.sourcefor ge.net.

The main difference in my version of the xmlrpc client is that you have some sense of error handling contained only within a <methodResponse>. And my interface is a blend of the perl Frontier::Client client I've used before and the php xmlrpc client, and the python implementation of xmlrpc. So, the amalgomation is uh, interesting. I think the fundamental reason for my rewriting portions of their code is that I don't trust ASP(vbscript) to use the correct "type" for a variable. I've seen a few places where the string "3" is an int and it really shouldn't be. So, I've built up a layer of xmlrpc object type things which handle the conversion explictly.

A sample session using the interface.

<-- import xmlrpc-lib somehow -->

client = rpclib.client()

mc = rpclib.methodcall('url','function', [optional parameters])

mc.addParameter([vbscript variable or xmlrpc.value ()])

mr = client.send(mc)

if mr.faultCode() <> 0 then // error condition print mr.faultCode() print mr.faultString() end if

value = mr.value()

Notice that you can use the rpclib.<scalar>() functions to create the xmlrpc entities. So, you can build up the data structures explicitly this way, if you want to, or you can trust it to work by passing in the vbscript datastructure which maps dicts -> structs, array -> array, int - > int, etc. . . to their rpc values.

Yup, so thats what I did last thursday. Also, I'm working on the http://phpunit.sourcef orge.net I've been using PHP's output buffering to make phpunit unitest itself. Also, I'm working on documenting how you implement phpunit testing in a project, this based off what I'm doing at work, so we'll see how that goes.

I think thats a good post, time to start studying for school... oh joy.

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!