Archive for the 'Bandwidth Unlimited Pty Ltd' Category

17
Oct
06

Confessions of a mercenary programmer

Just a quick note, in the aftermath of the vote to decide where Anthony Towns, Debian Project Leader did something good for Debian, bad for Debian or indifferent to Debian with the Dunc-Tank.

I, Paul Hampson, hereby confess that I too earnt money for doing Debian work, specifically packaging FreeRADIUS and getting it sponsored into the archive in time for Sarge to ship.

Mind you, I didn’t earn much money, since Bandwidth Unlimited (for it was they) went bust without paying me much, but they did pay me. And you might argue that I’d been looking for a package to help out with in Debian for nearly three years at that point, and I would have worked on it for free, and that when I was being paid serious money to administer an ISP, I didn’t do much FreeRADIUS work at all.

To which I’d say that I’d never have picked FreeRADIUS were I not running an ISP, and I would not have been running an ISP had I not planned to become rich and buy the world’s largest chocolate bar from the experience. And I didn’t get a lot of my job functions done when I was running an ISP, so lower-priority things (like FreeRADIUS, cleaning my desk, a full night’s sleep) were often pushed aside.

I have to say that until I recently became a professional, regularly paid, programmer, I was highly envious of people who get paid to work on Open Source stuff, let alone Debian stuff. Now I’m just envious, although that’ll prolly upgrade back to highly envious after linux.conf.au 2007 (or as I like to think of it now, clitoris.conf.au)

This whole thing puts me in mind of my experience at the Sydney 2000 Olympics. I was one of the IT volunteers, and we basically picked up the less-interesting jobs the IBM-paid staffers gave us. At the time I felt a bit put out that I was there volunteering, and these guys were being paid to be there doing nothing that I couldn’t have handled. Obviously that was decidedly unfair, and from my days of “I’m as good as or better than anyone else at computers” phase. But the unfairness of my attitude isn’t actually the issue, the issue was that I really wanted to be paid to do that sort of thing, and didn’t see why others should get paid but me not be.

Now of course I want two things: To get paid, and to do the things I love. I’ve finally reached the point where I can combine them, and I no longer begrudge those who, through luck, skill or otherwise, get paid more to do the same things, or get access to cooler toys to do them on. I’m envious, obviously. How do you not envy someone who gets to bring up Linux on a 128-way Power5 machine on the quiet? But that doesn’t make me unhappy, it just makes me want to strive more, and work harder. One day I’ll be the one submitting a paper to Linux.conf.au on some stupendously cool thing I’ve done. ^_^

Anyway, my short-medium term goal is to leverage the experience of the current MicroForté work, plus finishing my Japanese studies, to go work for a games company in Japan, combining my two favorite pipe-dreams into one, and making it reachable in a little as two years. Maybe I’ll be lucky and MicroForté will open a Japanese office or something, or I’ll luck out and end up working on a Japanese MMORPG with a Linux client and a measurable dose of serious cool. Or somehow end up programming at Nintendo…. Oh, sparkley eyes! *_*

And a by-the-by, it’s two and a half months in, and I’m still totally thrilled to be working at a video games company. I mean, seriously, I’m like all, wow. I thought it was cool when I was working at TransACT, and my testing procedure involved firing up a video stream, and watching it on a TV. I had a TV on my desk, for work purposes, and that was the high-point of my career. Now I don’t have a TV on my desk, but when I’m hacking on combat-handling code, part of my procedure involves firing up a game server, and playing.

I’m learning to take my time with things a bit more. I’m now much less worried that I won’t speak six asian languages, play the piano, have my name someone in the Linux kernel that doesn’t share a sentence with “blame”, have invented an entirely new way of interacting with computers, master four different styles of martial art, earn my first dan in three different Japanese weapon styles, hold two masters degrees in disparate subject areas, earn infamy in the Debian community or even the admiration of my peers by 30. Or 40. I’ll be pushing it to get there by 50. But the advantage of youth is that you get it when you’re young, and only lose it if you let it go.

I guess on reflection, my goal has become to be a polymath ronin… For those familiar with anime, I think I want to be Kintaro Oe when I grow up…

Side-note: I’m now the secretary of the ANU Anime Society. Two days before the AGM, I wrote in an email to the then-executive committee that secretary was the one position I’d never take. Time makes fools of us all. ^_^ Congratulations to Cathy Ring on stepping up to the presidency, and to the other executives, old and new, for stepping up to what I expect (knowing Cathy) to be a hard-driven and successful year coming.

Oh, and someone asked this week about getting the GTO Live Action box set. So here’s my AmazonJP links…

GTO DVD-BOXGTO スペシャルGTO

12
Jan
06

The best laid plans

Wow. I sneeze, a few months pass, and life turns upside down…

安座間美優 2006年度 カレンダー

Firstly, obviously no The Other Day’s Mews posted. I’ve got backlogs ahoihoi (although I’m missing about a month from October 3rd through November 11th) which I might have to start cherry-picking just to get them up.

Still, I got my 2006 Mew Calendar from AmazonJP. It was too expensive to ship by itself (shipping was significantly more than the calendar. >_<) but then I decided to buy myself an LPIC I book, and found a friend who wanted some stuff, so it came out quite cheaply. (Pictures and links at bottom of post)

I need the LPIC I book because I’m going to linux.conf.au 2006 in New Zealand later this month, and will be sitting two LPI level 1 exams there. I’m really looking forward to it, I had soo much fun last year. And I’ve never been overseas before (over strait, technically), so I’ve now got my first ever passport.

The passport was surprisingly quick to get. I had most of the paperwork already, and put the application in on the 23rd of December, and when I got back from Queensland, it came by registered mail on the 6th of January. And my mother was worried that I’d be hard-pressed to get it before I left for New Zealand if I put it in in December. There’s an online tracking system, but I never got to try it, because I was in Queensland, as I mentioned.

I was in Queensland from the 30th of December until the 5th of January. I went up with my mum, step-father and sister for my youngest uncle’s wedding. It was a nice wedding (outdoors, on a jetty-type thing the name of which escapes me) at a golf resort near the Gold Coast. And I use “near” loosely. For Queenslanders, it’s near. For a Canberran like me, it was half-way to Sydney. It was also very hot, and very humid. I basically did two things in Queensland apart from the wedding, play video games and sweat. I also saw Harry Potter and the Goblet of Fire (good!) and Fun With Dick and Jane (also good!). Many of our family members (now numbering 33 in Lyall the clan) had t-shirts and such made up with “I got Lyalled at the Wedding of the Century” and “Lyallfest 05/06″ on them. They were very cool, and slightly silly. Which seems appropriate somehow. It was an idea that came up after a little too much booze at the Lyall Christmas Party.

Christmas was fun, visited cousin’s new place on Christmas Eve, spent night at Mum’s place, visited Dad and grandparents in the morning, backto Mum’s for lunch. Roast, of course. ^_^ A nice relaxing time after the hectic chaos of the preceeding two months, and my new job.

Yup, I’ve gained another new job. I also got rid of two, so I’m actually not doing too badly for a change. At the end of October, Bandwidth Unlimited folded, much to my shock, despair and disappointment. CBIT (note the new category!) bought the customers and equipment, and while I was there getting all the systems transferred over, they offered me the job of Internet Operations Manager for CBIT Internet. From then until now (and onwards into the future) I’ve been working flat-out with my old BU job, Richard’s BU job, and all the jobs we both weren’t doing. (Which possibly explains why BU folded…) If that sounds too much, it is. Luckily, CBIT’s already been doing Internet (reselling BU since May) so a lot of the sales and management infrastructure is in place, so it’s not like I’m doing it myself. And it’s a chance for me to reshape all the things that were wrong with BU because I didn’t have the time to fix them. The main worry I have with CBIT is what happens if I get into the JET program and leave in July

I applied for JET in December, haven’t yet heard if I got an interview. I did spend a hectic morning photocopying and getting signed various documents. The ANU Union’s JP was away that day, so it was more hectic than I expected. Happily, the ANU Student Admin had a JP on the front desk who could sign things during quiet periods. So I’ve applied, and have references from Steve Thiele of TransACT and Ikeda-sensei of the ANU Japan Centre. I think I’m in with a good chance, but then again I always think that. ^_^

My Debian NM application was finally processed to the policy and procedures stage (which is to say, I got a AM assigned to me) in the first week of November. This of course was the week I started at CBIT, so I had to place it on hold while I got things organised there. It’s still on hold. I was hoping to have it done before linuxconf, but such is life. I’d still like to submit my next _stage_ by linuxconf, but part of the task is rereading policy. That’s a thick thick document, and I’m still working on my LPI ExamCram book. If I get the stuff in, I think I’m in with a good chance there too, although the FreeRADIUS package has been suffering a bit of neglect. Luckily, it hasn’t needed a lot of attention, although 1.1.0 is going to be released this week so I’ll need to get that uploaded.

I think that’s all I’ve done in the last couple of months. It seemed more at the time. Anyway, I’m back on IRC at nights after nearly two months absense, and I’m now hanging around the Whirlpool Forums particularly TransACT (professionally) and Linux/BSD (lifestyle). ^_^

For Christmas, I scored Red Dward VI, Red Dwarf VII, and The Hitchhiker’s Guide To The Galaxy movie.. AmazonJP doesn’t list the latter two yet.

Red Dwarf: Series 6 (2pc)
Lpic I Exam Cram 2 (Exam Cram 2)

18
Oct
05

Track… forward?

Things I’m tracking, hoping for good things:

GplFlash2
Open source, GPL implementation of Macromedia Flash 7. The developer has a blog, last updated in July.
Bazaar-NG
Revision Control Software from Canonical, who put Ubuntu together. Successor to Bazaar, which is the successor to arch. Also has a cool set of plugins growing around it, such as bzrk which lets you visualise your branches and then drill down into them, as well a the essential bzrtools.
a couple of bazaar-ng web interfaces
bzrweb (Not yet upgraded to bzr 0.1.1 -_-, you could otherwise see it on my bzr site) and a port of the Mercurial web interface, hgweb which I’ve not tried since it looks like the repository contains bzr as well, and I’m not clear if that’s because modifications to bzr were needed, or what. Also a complete lack of installation documentation, and the TODOs need to be done.
Vega Strike
3d space-flight simulator, along the lines of Wing Commander. Admittedly, I’ve only run this once on a 3d-enabled machine, and I managed to ram a mining station at full speed as I forgot that you need to accelerate against your line of velocity to slow down. But it looks promising. It already looks good.
Asterisk (‘*’)
Open-source PABX software. It does SIP, H.323, IAX2 (their own protocol) as well as interfacing to line-interface cards. I’ve actually got this set up on Keitarou, running SIP, but have no one to call me. I’m supposed to get this ready for voice-conferencing for anime.au comittee meetings… I’m also looking forward to further database integration so I can hook this up at BU and sell cheap VoIP calls. ^_^
IPv6
Anyone who’s dealt with me in an ISP sense (especially if you’re a supplier ^_^) will know I keep asking about IPv6. Because, dammit, it’s the future, it’s coming, and the sooner we’re ready, the sooner we’ll be transitioned. From home, all my machines can connect to Yurika over the ‘net via IPv6 with no speed issues (both here and Yurika are using 6to4 which, if more NAT routers supported along with Neighbour Discovery, would allow basically zero-conf setup of an IPv6-capable host such as Windows XP, MacOS X and of course Linux and BSD flavours.

Oh, the horror!

One last thing. Mad props to John Stanhope for posting and defending his decision to post the federal government’s latest effort in the war on freedom. It’s about time the federal government was reminded that they don’t get to keep laws secret from the people. They’re not a large corporation answerable only to their shareholders with only the board allowed to know everything that’s going on, they’re the elected representatives of the people of Australia, and when they get caught trying to sneak bad bad things past the Australian people hoping no one notices, they deserve all the suffering they get. Mind you, I haven’t read the draft legislation yet. But whoever the government sent to Lateline to try and dissolve the PR fallout did a pretty poor job. He seemed to be in denial that anyone else had seen the draft yet, evading questions like a minister caught deporting Australians for speaking a second language in question time. I can’t listen to question time any more, it’s just too frustrating listening to people arguing rhetoric pointlessly and making enormous leaps of bad logic. But I digress.

18
Oct
05

A little planet is a dangerous thing

I had a quick wander through Planet Debian and it took to on to such interesting things as progress shots on a graphical Debian-Installer (Not actually from Planet Debian, but I can’t work out where I saw that now), some very funny Sinfest mods (If you’re a Debian person..), an absolute dream-sounding job (Yes, those two’re the same blog. She’s got some good stuff there. Including a capcha that apparently expects you to type ϖ…), A commentary against the patch-management systems that have started be become quite common in Debian, and to which I converted FreeRADIUS as my first post-Sarge task, personally implanted RFID chips, and musical breast implants.

The weirdest thing about that last one is the idea that fifteen years from now, we’ll still be playing mp3s. Hell, an observable percentage of people I know are either .ogg or .flac already. I myself stopped downloading mp3s because I’ve had two hard disks fail from what I suspect was the weight of my mp3 collections. And my laptop only had the most essential 100 Mb or so of mp3s (Cowboy Bebop, Andrew Denton’s Musical Challenge and a couple of random bits like the Blues Brothers’ Everybody Needs Somebody and Abbot and Costello’s Who’s On First. And ガガガSP’s 卒業 single, but I don’t listen to that very often. In fact, I don’t listen to any of these mp3s much anymore. My desktop machine’s no longer in front of a west-facing window, and I’m not towing my laptop to work in the upstairs basement at TransACT anymore.

I’ve also ripped my new Hitchhiker’s Guide To The Galaxy soundtrack to flac, because either mplayer or copy protection (it doesn’t say CD Audio on the cover! Aha! Treachery uncloaked!) means it skips every second in my DVD drive. I don’t have a CD-audio cable, so analog isn’t an option, but happily cdparanoia was happy to extract it perfectly to the hard disk. Analog mode works fine in my laptop, but I avoid doing that because I’m sure that the laptop’s DVD drive is dodgy and just waiting to eat something important.

Oh, and I scored a new TV. Well, technically my dad gave me an old TV of his, but it’s an improvement over my old one because it’s larger, it has OSD, it has a remote, and it has AV inputs. So I plugged my gamecube in, and played Resident Evil Zero for a couple of hours. I only get Resident Evil Zero out when I change TVs, it seems (it was still in the gamecube from when I was getting my TV Tuner working in Linux) but the TV doesn’t do PAL60 so I can’t have another burl at The Ocarina Of Time, although I could try and finish Metroid Prime at long last.

On a more personal note, it’s looking more and more like the work at TransACT’s dried up, and I’m starting to think I should start seriously exploring my Melbourne options. I’ve got the JET information evening on Wednesday night, so I’ll have an idea of how many people I’m going up against.

I prolly should talk more about the Melbourne plan here. As it happens, I dropped out of everything else to focus on BU and TransACT, and now that work looks like it’s going to dry up. I can do my BU work as easily from interstate as I do now (technically, I do the work from my flat in Queanbeyan, so I’m already interstate) and frankly I’d like to try living somewhere with trains and other such public transport and try getting a job I actually like (TransACT’s nice, but I need a change). So I figure either Melbourne or Sydney fits so far. I’ve friends in both cities, as well as family in Melbourne, so it’ll come down to the job opportunities. Melbourne’s main advantages are Cybersource whom a friend of mine mentioned are likely to be looking for people, as well as a project a friend of mine is looking into which I’d love to get involved in. When I thought I’d have TransACT work until the end of the year, I was thinking I’d go to Melbourne in February (after linux.conf.au 2006) and find a five month job until JET blasts off in July. Now I’m thinking maybe I should be looking to go in December/January… The problem with this plan is that I’ve got a possibly opportunity coming up in Canberra in online shops, and I’d have to break lease on my current flat. And I don’t have any savings to afford to be in Melbourne without a job. And it’s already mid-October. So I’d better get on with it.

On the “actually getting things done” front, I finally submitted a FreeRADIUS 1.0.5-2 which should clear the logjam 1.0.5-1 became when libltdl3-dev started conflicting with libtool1.4 without warning. I’m disappointed in this back-door method of forcing libtool1.4 out, where either a Replaces in libltdl3-dev or a diversion in libtool1.4 would have allowed the libltdl3-dev/libtool transfer of ltdl.m4 without boning me unneccessarily. As it is, the solution became to drag in the relevant parts of the libtool1.4 package to update the in-tree versions of the files. This is bad, but I can’t NMU libtool1.4, and the patch I was given to upgrade FreeRADIUS to libtool 1.5 was unneccesarily intrusive to my mind, and I couldn’t distill the libtool parts from the ‘change how we build the package’ parts.

I’ve also been actively hunting bugs in packages I’m using, leading to patches to libpam-mount (So I can mount my home directory from Keitarou on Mutsumi from XDM and safe from segfaults due to configuration), lftp (so it doesn’t abort when a download finishes ^_^ Upstream didn’t use my patch, but it _was_ a minimal — but not optimal — solution which neatly explicated the problem, I think) and xmame (so I can use xmame with programs with CHD files). In the process, I also submitted bugs to pam and liblircclient0 which are simple non-crashers that valgrind picked up. I’m so glad I started using valgrind, it’s the absolute bee’s knees for finding any kind of memory misuse bug which might otherwise lead to a segfault much later. I also used it on libnifi which majorly improved my memory management and stopped a whole bunch of segfaults. ^_^ I also took the opportunity tonight to point out to the php4 team that libcurl3-dev had disappeared during its autobuild time, much as libltdl3-dev broke FreeRADIUS during its autobuild time. It happened a week ago, so I expect they knew about it, but I was surprised to see absolutely no bug about it.

07
Oct
05

Time flies like an arrow, fruit flies like a banana

Hmm, time for my daily update… O_O

OK. What happened in the last three months?

I’ve left ActewAGL now. The projects have been handed over more or less, and therefore hopefully no longer my problem. I hope that doesn’t mean they become no one’s problem, but I guess I’ll not know. Now my only remaining work is for BU.

I’ve spent the last couple of weeks doing some work at cbit, getting the web interface for the SOAP stuff I talked about below (months ago ^_^) going. They’d started one, but the guy doing the work has now been deployed somewhere else And when I say some work, I mean that took me about a week, and so far this week (it’s been short, public holiday on Monday) I’ve just slacked off in the office, waiting for the web interface to break. Lots of time on IRC and email and it’s been a good chance to do some reading. I’ve been reading up on integrating Linux into a Win2K AD Domain, preparing for my return to TransACT, subcontracting via BU.

I did a couple of months at TransACT, and am currently waiting on approval to do more time there. Working on an interesting project, and a less-than-interesting project. Happily, TransACT’s standardised on Debian GNU/Linux as their Linux platform. I like to think I helped that by spreading as many Redhat scare stories as possible in my time there. ^_^ I was originally doing two-and-a-half days a week due to university commitments, but am now available full time…

I enrolled, started, and pulled out again from the ANU. I’ve finally bitten the bullet, and decided I’m not going to get through my final Japanese studies without spending some time there. I’ve applied for an eighteen-month deferment so I can do JET from August 2006, and be back roughly in time for semester two, 2007. I’m disappointed, I made a good run of it for the first four or five weeks, and that segues neatly into my next topic:

I had a four-week bout of depression. I basically only left the house every couple of days to buy more food, and when ActewAGL called me up to come in and do the handover. This was two weeks of uni, and then the two weeks of the lecture break, so a lot of lost work-time. Turns out that I’d neatly finished the TransACT pre-approved work, although I didn’t discover this until three weeks in. I’m seeing the ANU Counselling Centre, which has been helping, as well as making what changes I can myself, including divesting responsibilities. I knew I had too many responsibilities, and it was highlighted by how good I felt when I went to Melbourne and put everything else on hold for the weekend I was there, during these four weeks.

I went to Melbourne for a weekend, to visit friends — Anna and Naoko. Phil and Emma were unfortunately out of town at Phil’s mother’s wedding (Congrats to her) — as well as visit my sister and see her in the MedRevue. It was really really really funny. I laughed so hard. ^_^
I had a good time in Melbourne, it was nice to be out and about without any particular responsibilities. I saw Sin City — Yes, I went to Melbourne and went to the cinema, by myself — ate all kinds of bad for me but very tasty foods, and took mobile phone photos of the places I ate. I need to post them somewhere. I really think that weekend without commitments was a really helpful guide as to how I could break out of the depression cycle I’d gotten into. The only downsides of the weekend were the bus ride from the train station at Cootamunda to Canberra (I enjoyed the train ride from Melbourne to Cootamundra, mind you, prolly more than I enjoy even flying) and the fact that I was out of town for the chibi.au.august05 convention.

Despite my best efforts to avoid responsibility in the anime.au conventions, after my poor performance as Events Co-ordinator for anime.au.05, I became Sponsorship and Vendors Co-ordinator for chibi.au.august05, although I was going to be out of town on the day. I did a pretty pitiful job of that, and probably will go down as the only Sponsorship Co-ordinator who ever managed to get nothing out of Madman for an anime convention. The convention itself went quite well, by all reports, and I’m currently Events Co-ordinator (“in charge”) of chibi.au.summer05, in November (No one noticed this discrepancy for about a month. I originally coined the moniker because we were not sure if we were going to be November or December, kept it because it has a nice seasonal sound to it, and overlooked the fact that November is actually in Spring.) This convention’s been a lot better organised, in large part because we’ve given ourselves a month longer to prepare, and because we’ve picked up a couple of enthusiastic people to look after promotions, volunteers and the website, which were noticably absent from chibi.au.august05 until the week before it was actually happening. Hmm. Now I think about it, the first day I skipped any classes at the start of my depression was the day I met with the just-mentioned enthusiastic people to bring them up to speed on what they’d let themselves in for… Prolly a co-incidence. The meeting was after my skipped class after all. These same people look like stepping up to doing stuff on the ANUAS exec at this year’s AGM, too.

The ANUAS has of course been running along like the large locomotive of anime viewing that it is. I’ve managed to not derail it with a stance of “do as little as possible” which really should have been my presidential election platform. One new thing I’ve introduced is “Saturday Afternoon Drama”, where we hold a marathon screening of a live-action series, one series a month. So far we (and by we I mean I) did Great Teach Onizuka in September (with the movie and OV on October 1st due to a scheduling error on my part) and will be running Gokusen over October 8th and 22nd. I do wish I’d thought of this six months ago, but I was actually inspired during and by the chibi.au.august05 preperation process. The ANUAS AGM was supposed to be tomorrow, but I have been browbeaten into moving it back to the 21st, largely because I completely forgot to check with anyone before calling it. In fact, that’s pretty much the entire root cause of the move. Once the ANUAS AGM is out of the way, I suspect my only official ANUAS executive position will be Video Ad Creator.

I’ve spent a little bit of time knock up video ads, two for chibi.au.august05 and one for the GTO live action screenings. All done on Linux, with command line tools and The Gimp, except the picture-editing for the first “Recruit” video which was done using irfanview. The hardest part was getting them Internet-distributable, which meant finding either Creative-Commons non-NC or Gnu GFDL licensed-content (and you can’t mix these two!), although I fudged the music on the first version of the second ad, because it just seemed to fit the pictures so scarily well. Kinda like the whole “Dark Side Of The Moon is a co-incidental soundtrack to The Wizard Of Oz” thing. The GTO one on the other hand was done just out of Google images one night, so I haven’t put it up on the web for download. My current project involves teaching myself Blender3D, so I can produce a cooler ad. I’ve always wanted to get into 3D programming, and I finally completed the first step (putting Debian onto a 3d-enabled machine of decent speed).

I’m now running Debian when I can on my desktop box. The only things I use windows for now are Quickbooks (I’ve gotta get Quickbooks going in wine, I just haven’t bothered yet) and video games. I’ve got the machine using libpam-mount (with a couple of patches which I submitted to the Debian BTS) to mount directories from Keitarou. I migrated my email from Outlook onto my fileserver with IMAP, and now use mutt-ng for all my email, which is a big improvement. This also means I revoked my old @Pobox.Com PGP key and added the email address to my newer GPG key. I can sync my phone against Evolution, although I never fire up Evolution, and I can print using CUPs happily to my HP LaserJet 1200. The only other thing I can’t do on my desktop machine from Linux is wireless multiboot my Nintendo DS, and I’m working on that.

I decided it was time to spend some money, and I was intrigued by a talk at linux.conf.05 about GameBoy Advance programming, and had heard about recent developments letting people launch homebrew software wirelessly on the new Nintendo DS. So I gave in, and bought one. I played Mario64DS for a bit, and bought Another Code while in Melbourne, all the while getting involved in the DS Homebrew community. I played with my Prism54 wireless cards to get wireless multiboot going, and could get the DS to see my machine, but not boot from it. Eventually I got a hold of the rt2500-based card neccessary to use the only existing publically available wireless multiboot software (includes a custom driver for Windows) and found I could get further in the process, but not by much. I had some spare credit at Lik-Sang, so I got a GBA Movie Player v2, and with a bit of futzing about (which I’ll document here later) I can now load a homebrew rom onto the CF card I borrowed from Shane and the DS will run it. ^_^ So time to start actually programming again. I’ve still gotta get some more work done on the WMB process, but I’m waiting on driver developments in the Linux rt2x00 driver project, since right now they can’t transmit packets, at least in monitor mode, but progress is ongoing. I’ve been documenting the WMB stuff in my wiki.

One of the things that made this blog go quiet was the addition of a wiki to my site. Semi-static stuff (like the SOAP stuff below) is now going in the wiki, and I plan to migrate all the stuff from http://www.tbble.net into the wiki. It’s just such a good platform for publishing stuff categorised, without having to code the HTML. I’m now over HTML coding the same way I’m over compiling my OS from scratch — I did this in 1998, before I’d discovered Gentoo or Debian and got as far as upgrading to the latest libc, gcc and whatever else was in the base Slackware ’96 install, when I discovered Debian, found a use for having a linux machine, and wiped it out in an afternoon in 2000.

Now that I’m back updating the blog, I’m going to have to see if I can make time to update all the old old old The Other Day’s Mew entries. (Mew’s got a new calendar coming, which I need someone to batch into an AmazonJP order for me at some point…) I was actually loading the Japanese text into my blog, but not publishing it because I was having trouble with the translations. This obviously is not a winning strategy. ^_^ Now I think about it, the other challenge to The Other Day’s Mew was I was updating from ActewAGL, where I didn’t have a dictionary handy, nor Japanese input support to use an online dictionary, and then they changed their firewall to block sites with ‘blog’ in the domain.

Which brings me full circle in this long rambling story. ^_^

安座間美優 2006年度 カレンダー

02
Jun
05

In the old days, soap was what went into your mouth when bad words came out…

instead, SOAP (or at least SOAP::Lite, which is a Perl implementation of it) seems to have gone in and caused bad words to come out.

This all started because I wanted a programmatic web interface for BU’s database, rather than either knocking up PHP pages with mySQL commands, or giving people other than myself mySQL access (or exploring the horrors of SQL stored procedures!!). Having encountered both SOAP and XML-RPC during my travels at TransACT (they use SOAP for some things internally, but XML-RPC for the ISP policy-control interface. I think they’ve got distinct groups of programmers with similar ideas, but no way of talking to each other… This would explain a lot about the projects I end up doing — or more to the point not doing — for TransACT. ^_^) I decided I’d go with some kind of RPC interface where I could knock the back-end up in Perl, and the front end could be PHP or whatever the reseller wanted. I have some vision of a customer control applet regular customers could use at home, but I think that’s asking a little too much.

Anyway, after due and careful consideration of my database structure, it seemed obvious that an object encapsulation would be a good idea. So SOAP won out over XML-RPC. As far as interface goes, SOAP::Lite implements XML-RPC too. So this wasn’t a consideration. Sure enough, I’m hacking away, rereading my recent Perl-based object-oriented adventures in module creation (the aforementioned policy thingy) and rather quickly manage to produce a getCustomer() function in the BU module which returns a BU::Customer object. I happily assume that since SOAP is supposed to pass objects around, I’ll be able to call the functions of this new and wonderful object, and have the code on the server-side execute.

This of course does not happen. (Why “of course”? If it did happen, this post would be titled ‘The wonder and glory of SOAP’ or something. And have been done about 36 hours earlier. >_<)

Instead, I get an object back with no routines. “Ah!” I hear you cry. “A perl method call is simply a call to the function in the module for which the class was blessed, with the object itself as the first parameter!” (Others amongst you may cry “That’s not really object-oriented, it’s object-like!”. It’s a fair point, but somewhat irrelevant. I use perl because I think programmers don’t use enough punctuation, not because of any particular programming language construction leanings. I own the Eiffel book, but never read it. ^_^)

Now that that crying has died down, I did indeed try that. However, the SOAP::Lite instance I was using had ‘/BU’ at the end of its URI (which is now called a namespace, apparently) so it tried to call the non-existant function in the BU module. So I instantiated a new SOAP::Lite instance, looking at ‘/BU/Customer’. That didn’t work either, at which I point I realised this was excessive mucking about for what I wanted, and spent a day or two writing a procedural version instead.

I ended up with something like the following:


package BU;
# "field => value" is repeatable infinitely. Unknown fields will be silently
# dropped, if there's not enough to go on, we will abort before any database
# changes are made.
# Only admins may specify a different customer ID to their own
sub GetCustomer(optional CustomerID);
# Only admins may specify a different customer ID to their own
sub EditCustomer(optional CustomerID, field => value, field => value);
# Only admins may use this at all
sub NewCustomer(field => value, field => value);
# Only admins may specify a different customer ID to their own
sub GetAccountList(optional CustomerID);
# Only admins may specificy an account not owned by them.
sub GetAccount(AccountID);
# Only admins may specificy an account not owned by them.
sub EditCustomer(AccountID, field => value, field => value);
# Only admins may specify a different customer ID to their own
sub NewAccount(field => value, field => value);
# Only admins may specificy an account not owned by them.
sub GetLoginList(AccountID);
# Only admins may specificy a login not owned by them.
sub GetLogin(LoginID);
# Only admins may specificy a login not owned by them.
sub EditLogin(LoginID, field => value, field => value);
# Only admins may specificy an account not owned by them.
sub NewLogin(field => value, field => value);

on the plus side, it’s done.

Now I have to go learn perldoc, but that’s probably not as hard as I suspect it is. ^_^

Edit: I’m not sure what’s wrong with my linebreaks, but they’re being ignored. Also, the <code> element produces its own block, so I can’t use it inline. I may remove them from the paragraphs in future, in case that fixes the line breaks.

Edit 2: Looks like a wordpress upgrade or my screwing around with modules means I no longer get automatic <p> tags in my text. So I have to add them by hand. And <code> puts <pre/> around its contents, so I have replaced it with <em> inline. >_< Also, the layout here gets boned by the <pre/> and so my right-hand menu gets pushed down to the bottom.

Edit 3: Geshi’s breaking blank lines as </p><p> which would be OK if the code was in a <p/> rather than a <div/>…

15
Mar
05

Weekend, where art thou?

Wow, what a wild weekend, and yet I did so little.

Slept in Saturday, played with the IPSec stuff more. I got that working nicely, except the wireless card with my laptop seems to have awful signal levels. And the Windows 2000 machine crashes the IPSec IKE daemon (pluto) when it connects. I’ve posted that to upstream with lots of logs and things, and spent large chunks of last night trying a CVS version to see if it helped.

Back to the chronology. Saturday night was at a friends’ place for DVDs and booze. We were joined by a widow-for-a-night from a poker game run by another friend of mine. Those guys also had booze.

And back in the chronology, we had an Anime.au meeting on Saturday afternoon. It looks like the Sunday event’s going to happen, and we finally have a date, and should be promoting the heck out of it any time now. ^_^

Skip forward again to Sunday, and I… played with IPSec stuff more. I also had a burl and discovered that Master Of Orion 3 works quite well with Wine, except for the sound.

I also switched World Of Warcraft over to Gamecard billing, but I’ve paid for a month from March 4th to April 4th, so I guess I have to have a burl at some point… Otherwise I’ve played a week out of two months paid for. >_<

Also managed to miss both Learning Languages on Monday, and Japanese Lexicon (right now. -_-;;;)

And I’ve got an assignment due Friday and an assignment due Monday. >_< >_<




Follow

Get every new post delivered to your Inbox.