Archive for the 'Bubblesworth Pty Ltd' Category


Things to do in Sydney while the wireless is dead

Well, now that I’m back on the ‘net fairly reliably, I can post on what I’ve been doing for the past few days.

Firstly, I was off the Internet because I was flat-out busy on Saturday, in transit on Sunday, and wireless did not arrive at International House until about 11pm Monday night. That time I did spend on the ‘net today, at the conference, was spent in a combination of processing CBIT emails since Friday, and wrestling with my wireless network card.

My local build of the d80211 version of the bcm43xx driver got signal, would even get traffic through, but when it tried to reassociate to a different AP (all the APs here are running on channel 11… Although I was sitting next to someone who saw one on channel 1, which I’m guessing was rouge… I also saw some IBSS networks on the same SSID….) it would corrupt something nasty, kick the screen brightness up to full and oops with slab errors in short order.

The 2.6.18 (2.6.18-3-powerpc Debian build) bcm43xx softmac driver didn’t crash or anything, but generally performed worse, and when the Debian miniconf’s theatre (Mathews A) was full, my connection suffered or would completely fail to dhcp. >_<

On the plus side, the presentations were great. AJ gave us a rundown of debian-devel (ie 12 months of flamewars) and other significant Debian going-ons. Keith Packard produced a whole bunch of neat X things slated for 7.3 (input hotplugging, dynamic output selection and modesetting, which is exactly what I need to get the projectors I keep plugging into to work better than 640×480…). Russell Coker talked about the various security gaps still remaining in Linux.

In non-conference goings on, I was talking to someone on IRC who’s gotten Second Life Viewer building under Linux/PowerPC (a previously unsupported platform) and I’m going to see if we can get a .deb built. I’ve already created an ELFIO package, and have the OpenJPEG source to try packaging tomorrow. I’ve also sent off an email to the person who ITP’d secondlife-client for Debian already, to see if he wants to co-operate, or if I’m just tooling about.

Speaking of tooling about, I decided it’d be a good idea to upgrade my bcm43xx-d80211 build to something more recent than mid December, but it seems the 2.6.20 workqueue changes mean I can’t compile it against 2.6.19 anymore. The rt2x00 d80211 stack has backwards compatibility macros for the workqueue stuff, but I don’t really feel like hacking those into bcm43xx, it’s already a large and unsteady beast.

BTW, cogito’s update could handle resuming better. Although it happily detected it was resuming a failed update, it had to keep refetching the packs. I eventually realised it would eventually time-out a fetch if I didn’t ^c it and happily try again, presuming I had in the meantime walked outside or reloaded the driver.

Anyway, so I’ve decided tonight (while I was still off the wireless) that I’d finally bite the bullet and build myself a custom dscape.git kernel, to see if the pain I keep suffering from the bcm43xx-d80211 driver is just my cheap-ass backport. That was still building when the wireless came up, and then barfed because KConfig happily let me include both the PCI and SoC versions of the OHCI USB host driver, which provide the same symbols. I must remember to file a bug report about that, or at least check linus’s git tree in case it’s already fixed. (Both drivers recommended yes, but are patently incompatible as they require different endianness of the host interface). I’ve restarted the make-kpkg, hopefully that’ll build overnight and I can try it in the morning.

I also put some time into my Remembering the Kanji book. I was going to do an hour, but after about a half-hour (with a break to configure and fire the kernel build off) I was yawning, and figured I’d prolly left the imaginative-memory zone. I was going to watch some Gokusen but thought I’d take a last wander over to the IH whiteboard to see if the wireless was up. Bizarrely, it was.

So I wandered onto the ‘net, checked email, volunteered myself to package Thousand Parsec for Debian, added the Kanji I studied to Reviewing the Kanji (a web site for reviewing the stuff you learn in Remembering the Kanji) and updated my blog.

Which funnily enough, is where we came in

ごくせん Vol.1ごくせん Vol.2ごくせん Vol.3


LCA 2007 Ho!

Well, it’s nearly LCA time again. This is just a quick post mainly to see if my syndication at Planet 2007 is working yet.

I’ve been working at MF (Milestones just seem to come at you faster than the calender would otherwise suggest) and particularly in the last couple of weeks getting a good vector-math workout.

I’ve also been working at picking off RC bugs to try and help Etch along a bit, since kind of hoped to be upgrading to it in the half of January that’s just passed.

I’ve also been looking for a CMS for the ANU Anime Society to try and resolve the fact that our web admins never seem to last as long as we’d like. At the moment, Joomla! is top of my list for trialling, as I’m familiar with PHP and looks to have the relevant modules (forum, calendar, eventing system that’ll need modification to work for screening scheduling). However, I’m open to other suggestions, and will see if anyone at LCA has any useful suggestions.

And of course, by adding Planet LCA 2007, I’ve had to read it. And I came across ThreatNet, which is a distributed compromised computer identification system. It’s actually really simple, you do something to identify a certain IP as a threat (the sample code scans postfix logs for “REJECT: noqueue” which usually comes from “no such user” although I noticed it also comes from greylister at CBIT) and sends that IP address to a nominated IRC channel. I dunno what’s next, actually. Presumably, sites can block that IP address as they see fit, and if the responsible parties for the machine become aware of it, they can take action. I’ll be adding this to my ever-growing list of things I need to consider implementation of at CBIT.

On the plus side, I recently installed Debian on a Slug with a 512MB USB flash stick, and I’m going to see how Nagios performs on it. If it’s up to scratch, I’ll prolly shoehorn in a wireless card and see if I can monitor two disparate networks effectively.


So you wanna be a domain-specific hero?

Wow. “Later this week” certainly took longer than I expected.

As of July 31st, I’m a (junior, for now) programmer at Micro Forté‘s Canberra studio. Two weeks in, and it’s the best job I’ve had so far. ^_^ My first task involved trying out installation of the BigWorld MMOG server system as a new user so we could see what state the documentation was in, and for those who know how pedantic I am, a four-page file called whinge.txt is actually a positive sign.

It’s an approximately eighteen-month contract, so I guess Japan and University will have to be put off at least that much longer. Still, I’ve pretty much wanted to write video games since I was six, learning Applesoft BASIC on the family //c, so no regrets. ^_^

I’m no longer working full-time at CBIT Internet, although I am still maintaining the ISP’s servers there.

In celebration, I bought Guitar Hero, which neccesitated getting my Playstation 2 back from Richard, who’d in the meantime bought a PS2 EyeToy. I haven’t tried the bundled game yet, but instructions exist to use the EyeToy as a windows webcam, and to use the EyeToy as a linux webcam.

This, plus the request of a nice young lady whom I only seem to face-to-face once every twelve months or so that I install Skype, got me playing with Skype again. Sadly, the 10 euros of credit I bought in 2004 and was unable to use (due to their system failing to transmit voice to the US at the time) have “expired”, which annoyed me enough that I was boycotting them. The boycott ended the moment someone asked me to actually use it, mind you. ^_^

Of course, this led me into an exploration of open-source alternatives. On the Skype-protcol side, there’s a paper from 2004 looking at how Skype 0.97 talked to the network as well as a recent claims from a Chinese company to have reverse-engineered the Skype protocol. Sadly, the latter is planning to commercialise their results, not publish them.

On the actual open-source side, I’ve been playing with SIP stuff again. I’ve had a SIP-based Asterisk server running here (You can try to call me via SIP although I don’t always have a SIP client running) for a while now, and I recently got a chance to test it with some overseas friends, but due to poor codec choice, it quality sucked.

On codecs, I have to say that Speex is great and iLBC is awful. Both in voice quality, and for the fact that Speex is free open-source, while iLBC comes with a “no-commercial use” license.

Anyway, with a webcam, I’ve been toying with video-supporting SIP clients. For windows, the only free one appears to be X-Lite 3 which doesn’t do Speex (although its commerical version, eyeBeam 1.5 does) but for my purposes (LAN to the Asterisk Box) I can do G.711 and let Asterisk do the Speex transcoding for me.

Under linux, Linphone has video support (although the 1.35 Debian package is compiled without, and the build-deps to build it wanted to remove texlive in favour of tetex…) which I’ve not tried yet, but which a brief glance at the source suggests supports H.263-1998. Ekiga, the successor to GnomeMeeting, also supports video, via opal, but only H.261. There’s H.263 code there, but relies on FFMpeg 0.4.7 patched to support RFC2190 for its video support. (It’s actually FFMpeg‘s libavcodec that’s being used, but very few people make the distinction it seems)

A brief aside on the video codecs at play here. H.261 is the older ITU-T video standard for ISDN, while H.263 was a newer standard which drew from H.261 as well as MPEG-1 and MPEG-2, and which was the default video standard for H.323 computer video conferencing, thanks to things like Microsoft’s NetMeeting and the open-source GnomeMeeting. However, along with MPEG technology comes murky and ill-defined MPEGLA patent issues. There’s also H.263-1998, aka H.263p or H.263+, which adds some annexes to H.263 to support some more encoding features. For moving H.263 over RTP RFC 2190 was written. However, the stream format defined in RFC2190 couldn’t support the data stream from H.263-1998, so RFC 2429 was published. Both H.263 and H.263-1998 can be carried in the RFC 2429 stream format, so in theory everyone should be using RFC 2429 streams, and we’d all be happy. Apparently, NetMeeting only support RFC 2190 and H.263 however, so that’s the version that they implemented in Ekiga too (since Opal is a refactoring of the OpenH323 library’s media interface, and Gnomemeeting’s built on OpenH323. And the OpenH323 H.263 code was submitted by the same person who did the FFMpeg patch mentioned above.) Meanwhile, X-Lite supports H.263, H.263plus, and (according to my SIP debug logs on Asterisk) RFC 2429 streaming.

I spent most of today weighing up forwardporting the RFC2190 patch to FFMpeg, or updating libopal to support RFC2429. I didn’t achieve much, but I weighed it up a lot. The final answer was wait for the current libopal refactoring (they’ve moved the video codec support out into plugins, and rewrote the H.263 code such that it’s much easier to _add_ RFC2429 support) to reach my via Debian in some way, and then have a poke at it, if they haven’t done it already. If it’s not already done, I’m sure that submitted the code to make it work would make me an Open-source Telephony Hero

So to bring us back to the story, I’ve got a nice little Windows-based SIP client which does video but not Speex and needs to register with someone, a Linux-based client that does speex but which I haven’t compiled the video for yet (Linphone), and a both linux- and win32-based client which claims to do Speex but barfs (Ekiga…) and which can’t do the current video codec with the current video stream format, and depends on a slight fork of another library to do current video with the old format.

I can see why Skype’s so popular…>_<

Incidentally, if you want a non-registrar-requiring Speex-supporting free but-without-video SIP client for Windows, I found PhonerLite seemed to work well. And frankly, if you’re going to call me without warning at home, you might not want the webcam to show you whatever my current state of dress or undress is. ^_^

Talking to Chris Smart (of Kororaa) at CLUG‘s PSIG meeting last Thursday about webcams, Ekiga and kopete inevitably led onto the GPL and the Linux Kernel (he loves to talk about it, really! ^_^) and Chris pointed me at Greg K-H’s take on Linux and Binary-only modules, which manages to draw the line between legal and illegal way way back there compared to where we all through we were. (On a sidenote, OLS looks like it would have been tremendous fun. I can hardly wait until I’m a jetsetting conference-attending Linux Kernel Hero.)

I’ve also been poking at the DeviceScape 802.11 stack for Linux. As well as happily running my laptop’s Apple Airport Extreme2 card for the past few months, its software-based Access Point support appears to have progressed to the point at which I can start poking at it for Nintendo DS Wirelss Multi-boot infrastructure, which will bypass all the card-specific hacking people’re having to do, as well as let it work on things that aren’t RT25xx cards. It seems in the six months or so since I’ve looked hard at Nifi, a dude called masscat has picked up the ball and run with it, so I’ve almost 10 pages of forum thread, and then whatever code he’s published, to catch up on. I’m pleasantly surprised, I thought with the advent of Wifi support for Nintendo DS Homebrew code interest in WMBing over Nifi would die. So here’s my chance to get the dscape port done, and become an NDS Homebrew Hero.

I’m currently reading Perl 6 and Parrot Essentials and it’s reinvigorating my love of Perl. ^_^ Shame MicroForté is a C++ and Python shop… Still, it’s a nice change from reading The C++ Programming Language, 3rd Edition which I was reading for the six weeks between my first job interview and pretty much the weekend before I started at MicroForté. Of course, this means I’m tempted to spend my free time ignoring all the above ideas, and tooling about with Perl 6 and Parrot Especially with sheer coolness like Z-Code support in Parrot.

And for one final note, the real-estate agent is coming around next Saturday to inspect my flat, so I had to clean up. Luckily, it was mainly a case of emptying all the bins, although I need to run a quick vacuum around the place, it’s a bit dusty in parts. I expect this inspection is because my lease expires in the next couple of weeks, and they want to know if they should kick me out or not. Given that I’m not working days in Watson with occasional evenings in Belconnen, I’m looking at moving anyway. Anyone know of a cheap one-bedroomer or two-bedroomer in Watson or adjoining suburbs? I’d like to be able to walk or bicycle to work. ^_^

Perl 6 And Parrot Essentials (Essentials)
The C++ Programming Language

Edit: Correct misspelling


Irrepressibility in the face of popularity, pixies and other illnesses

I’m home sick today, so of course it seemed like a good idea to update my blog…

After adding that new banner to the sidebar it occurred to me that I should active the neat Sidebar Widgets feature… Of course, this required me to either give up my non-standard sidebars, or widgetise them…

Firstly I modified the Top 10 posts plugin (original version) to have a widget mode for the sidebar, and also to do everything in a plugins_loaded hook, since it may load before the widget support plugin itself.

I then knocked up a quick widget, based on the Google Search widget that comes with the plugin, which produces random chunks of censored material from These widget things are quite easy. ^_^

I also quickly knocked up a Weatherpixie widget for the Weatherpixie, although I didn’t go as far as to offer a drop-down for the troopers or countries. This way people still go visit the pixie-chooser page, where the author’s Google Ads are. I don’t feel bad this way, given I emailed the author a few months ago about this, and didn’t get any reply.

I did all my uploading/editing in lftp, but I intend to set up an FTP mount of some kind on my machine, now that I’m trying to avoid sshing into the webhosting box. I’m also looking into chroot’d sshd or sftp, but the quick answer so far is “hard”.

I started doing this post in the Performancing Toolbar for firefox, but after two paragraphs I decided I much preferred the normal WordPress interface. I’ll be uninstalling Performancing pretty soon.

I’ll stick and updates or other WordPress stuff in until such time as I can be assed putting them into version control, and fixing the bzr browser on


CeBIT: Keynotes

Keynotes today from Telstra Enterprise and Government, Disney Internet Group and three parts of the Music-on-your-mobile supply chain (Optus, Sony BMG and Motorola). Telstra E&G’s moving their backend to a single converged IP backend, and also positioning themselves as Solution Providers. Which is of course annoying, because that’s where I’m trying to take CBIT…

Disney’s presentation in particular got me thinking about where I want to be. Their Toontown and upcoming Pirates Of The Carribena MMORPGs, along with all the cool stuff they’re doing on Japanese mobiles are very very cool. And of course, I want to be part of something very very cool. I’m sure my chance will come, but I still sometimes wish I wasn’t spending half my week slaving over a hot server, and the other half… I dunno… Doing stuff that comes up. I do still want to go into games programming, but at the same time, what I hear about the industry scares me off often. And I’m starting to get older than I’m comfortable being for my position in life. *sigh*

I came back to Sean and Julia’s place (where I’m staying in Sydney) and Julia immediately echoed my sentiments about how I should be out there doing cool stuff. I explained to her that I’m both comitted to CBIT now, and also that hopefully CBIT will develop nice and quickly into a platform from which I can do the cool stuff. But even as I type that, I’m not sure it’s the best answer. I guess my real fear (and it always has been) is the fear of squandered potential.

Chief amongst those worries is that people I trust to speak directly to me (including Julia and my Dad) are telling me that I should be doing more than I am… Then I start worrying that I’m letting my sense of loyalty and hatred of disappointing people keep me at CBIT when I am currently doing a job for which I am, although skilled, not brilliant. I’m also somewhat less than shining at the other things I have to concern myself with at CBIT (finding new clients, bookkeeping for the ISP part, etc).

Maybe I should focus on getting other staff trained up into my jobs, so I can move on? Admittedly, that’s already supposed to be part of my focus. I guess I’ll see how that part goes first, and see where I am from there. Maybe one of my projects will come good at the right moment, and I can retire to the bahamas. ^_^

On the other hand, if CBIT goes where I hope it does, then I’ll be jet-setting around the world providing my highly-demanded services to clients for fabulous amounts of money by the time I’m 30. Kind of what I hoped would happen with Bubblesworth, were I not so incompetent a businessman…

And on top of that, I wish I was doing something cool in Open Source. I was looking at a Linux-based NAS today (along with various pieces of long-haul wireless equipment, including 802.16 WiMAX, proprietry and meshing) and thinking “Why am I a consumer of this? Why aren’t I producing these?” I guess it’s not really Open Source, but unless Canonical hires me, the only people I know of paying for Open Source development on a non-bounty basis is CyberSource, and they’re a Red Hat shop. -_-


CeBIT: Prologue

Yup, that’s right. I’m in beautiful Sydney for CeBIT. The joys of trains mean that not only am I out of the office for Tuesday, Wednesday and Thursday, but also Monday and most of Friday.

At this rate, all my holiday leave will be spent on trade shows and suchlike. The first three months at CBIT, I spent a week at LCA2006. This quarter, a week out for CeBIT. (Well, actually, that’s the Feb-Mar-April quater’s week). So now I’m looking for a tradeshow or other event that’s both local, cheap and in the next three months… Then again, Clare’s MedRevue is coming up, so I’ll need to save a day or two for that.

Anyway, CeBIT. Having just spent an evening on dial-up Internet planning my schedule, here’s how it looks:


10:15 – 10:55
Hall 6: Telstra
11:05 – 11:50
Hall 6: Disney
12:00 – 12:50
Hall 6: Music
13:00 – 13:45
Hall 6: LG – Mobility/Convergence
2 pm
Stand P1, Hall 4: Digital Broadcasting
3 pm
Stand D50 – Hall 2: The realities of Fibre to the Home
4 pm
Stand D50 – Hall 2: Digital Media and Convergence
5 pm
Stand D50 – Hall 2: Utilities and Broadband Power Line


Stand J1, Front of Hall 3: Future parc launch
Stand P1, Hall 4: IT Services
12 pm
Stand D50 – Hall 2: Next Generation Networks, IP and VoIP
Stand P1, Hall 4: Open Source 1
Stand P1, Hall 4: Venture Capital
3 pm
Stand D50 – Hall 2: Fixed wireless broadband developments
4 pm
Stand D50 – Hall 2: $3 billion for Regional Telecoms
5 pm
Stand D50 – Hall 2: Mobile voice still the killer application


10:30 – 10:45
Stand J1, Front of Hall 3: Ontologies and topic maps for smart information use
Hall 3: CompTIA
13:00 – 13:15
Stand J1, Front of Hall 3: Disaster prediction, response and recovery
13:30 – 13:45
Stand J1, Front of Hall 3: Health data integration
Hall 3: CompTIA
Stand P1, Hall 4: Open Source 2
12 pm
Stand D50 – Hall 2: The battle between 3G HSDPA and WiMAX
4.00pm to 5.00pm
Stand J50, Rear of Hall 3: The BlackBerry Advantage for Small & Medium Businesses

In summary: All of the keynotes, all of the open-source stuff I can manage, and what time’s left for Internet and Blackberry stuff. I think I’ll have a short period to wander around the stands too, visit the Linux Australia guys.

I’m also meeting a vendor down here, with luck, so I’m feeling all well-travelled-businessmany today. ^_^

The disadvantage of being in Sydney is I’m on dialup, and also a few hundred kilometres away, so logging in to the office Terminal Server for email is a painfully slow experience.

Hopefully tomorrow I’ll find an Internet cafe in the city where I can plug my laptop in and get some work done. ^_^


Sin, Certs and Wans; or Sun Tzu VS Bikinis

I pre-ordered Sin Episode 1: Emergence on the weekend. It was cheap (AU$23 or so) and included a Steam version of the original Sin. This is partly my fault, I was hoping for a steamy version of Original Sin… (Sorry if you were hoping for a different original sin joke. ^_^)

I actually own Sin, but I don’t know where the CD is. The original box is still on my shelf. So I’m taking the opportunity to actually finish the game, since the new one is set four years later. And it’s still as I remember, one of the best-fun first-person shooters I’ve played… Dragged me right away from Half-Life and its expansion packs. (Although I’m finished Half-Life and Blue Shift now, and I think I’m close to the end of Opposing Force)

A recent topic on Slashdot about The changing value of certifications. Beyond the somewhat inaccurate summarising of the arcticle on Slashdot (certifications still attract a pay premium, they don’t actively hurt your career) I think a rather important oversight was made in much of the discussion (ie. that bit which survived my threshhold) — and maybe this was covered in the original research, I didn’t bother trying to track down the report mentioned in the article — that for some jobs a certification doesn’t attract a premium, because it’s a neccessity.

Certainly the terms of employment at CBIT require that I hold a certification of some kind within six months of joining. It originally specified MCSE, but they happily let me substitute my LPIC-1. I since discovered that my Windows NT4 MCSE is still valid, so I’m putting the MCSE upgrade on hold to get my CCNA done.

Then a lot of the posters proceeded to confuse certification with qualifications. Having both, I’m amazed that this happens. On the other hand, the people generating this confusion were usually on the “I didn’t need stuffy boring university or a do-in-my-sleep MCSD, I just walked in and told them how I’ve been running Windows since I was six and they hired me” side of the debate.

I’m going to get condescending here. I’ll let you know when it’s over. I really think these attitudes go hand in hand, and are usually closely followed by “Why won’t <large company> hire me as their CTO? I know as much as all these highly qualified lawyers and managers. They’ll fail now, and it’ll be all their fault for not hiring me,” and then later followed by “I’ve been working this same $30k/year first-level support role for ten years now, because management are too short sighted to realise that I was just too smart to waste three years on a degree.”Done with the condescending bit.

And sure, I myself have been guilty of this. I still am, frequently. I think most of us in IT do it to some extent. This is also how we end up with the armchair lawyers, armchair managers, armchair accountants and armchair linguists that pervade our community. (I pick those because I’ve done them all myself. Ranter, berate theyself. ^_^) It might be a symptom of the type of person who succeeds in IT (self-confident, multi-skilled and widely read/educated) as compared to those who fail (obstinant, unfocussed and arrogant).

So why certify? I do it partly because I love training and learning, and having something to show for it — Ignore that I waited five years to graduate my B.Sc — and partly because it makes financial sense. I like to read when I go to bed… It settles me down and clears my mind. However, a $20 novel will only last two or three days. My CCNA INTRO book has taken me over a month to get about half-way into… I think because it’s so dry, I can’t read more than a few minutes. Either way, good value for $50.

Flicking through Planet Linux Australia as I do when I forget how much time it sucks up… Between the sordid tales of a Power5 lying with a SunFire — Oh I wish I had a project to throw at them… Where’s my multi-threaded Sudoko solver? — I came across this gem of an idea for a Canberra-wide wireless mesh network. This is something I’d heartily endorse, and help with where I could… I’ll have to dig out my old Gungahlin-wireless-mesh plans…

A quick aside: Another Rich Web with PHP talk from Rasmus Lerdorf. The content aside, the template is sweet. The template aside, the content is fascinating.

Another quick aside: Digital cameras have their own digital signature. I’m not sure if this is even vaugely practical for any use, but here’s the original article‘s PDF. Someone in the discussion pointed me at a US Government scheme to convince colour laser printer manufacturers to encode printer identification data onto each page. It’s a scary world we live in.

Last aside… Two more links: One to make you cry: Even if the author is being facetious, someone somewhere belives this; and one to make you laugh: Every workplace should have a plan on its books for how to deal with Viking Raids.

But what of the bikinis, I hear you ask… Or would, were I narrating this out loud instead of in my head… And you cared about bikinis more than you care about Sun Tzu… OK. This is an IRC story. You’ve been warned.

On one of the IRC channels I hang out on, discussion turned to bikinis, and one of the channel regulars (Io) mentioned that she doesn’t wear bikinis.

Pseudo-aside: This is Io. I knocked up this image that same evening, as it happens. MSPaint’s so much easier to use than The Gimp… I did the whole image in the time it took me to give up the other day on finding a “Draw a square” button in The Gimp.

Anyway, it seemed sensible at this poit to consult with my new TzuBBot. TzuBBot being my Art-Of-War-based-advice-bot. Here’s the results.

03:00 < TBBle> TzuBBot: Any advice on the best way to get Io out of Brazil and into a bikini?
03:00 < TzuBBot> THE NINE SITUATIONS: 55. Hence he does not strive to ally himself with all and sundry, nor does he foster the power of other states. He carries out his own secret designs, keeping his antagonists in awe. Thus he is able to capture their cities and overthrow their kingdoms.
03:01 < TBBle> TzuBBot: Any advice on the best way to get Io out of a bikini and into my lap?
03:01 < TzuBBot> THE ARMY ON THE MARCH: 45. If a general shows confidence in his men but always insists on his orders being obeyed, the gain will be mutual.

The TzuBBot gives useful advice so often, it’s scary…

Final note: My goodneess, but the move from Yurika to Dino has made this website soooo much snappier!