Bashbot was originally an idea and bash snippet from Jonathan Hitchcock. I took it and bastardised it beyond imagination.
It’s a fully-featured, modular IRC bot.
The modules come in 2 types:
fooif it exists.
# ^(.*) is( also)? (.*)$will be executed if you try and set a factoid with “bot: Spinach is a vegtable”
I’m now sitting in Arniston, on a horribly slow GPRS connection, after *camp, which was this weekend, at AIMS. It was a BarCamp-like “unconference”, organised by the geekdinner crowd. I put off having the weekend at Arniston for *camp, and for me, I think that was worth it.
The event was really good. I haven’t been very involved in the organising, and didn’t come prepared with a talk (just equipment). At the start, it felt like there were never going to be enough talks to keep us going, but as soon as it started, it began rolling, and continued for 2 days. The talks were varied, from technical, to psychological, to practical. I was really impressed. The quality of the talks was quite high - I was rarely bored (although I did have IRC distractions).
As usual, I had Jonathan Carter’s camera, and videoed everything. I’m going to go home to around 8 hours of video that needs editing, synchronizing, encoding, and uploading to archive.org. It’ll take a while, guys, be patient.
Today, I got involved with setting up the lab for practical demos. We had 9 PCs lent, and needed Ubuntu on them. Of course, the natural approach is netinstall - I’m familiar with netinstalling Ubuntu, and it is a great way to set up a pile of computers. However, we ran into problem after problem.
routerDHCP option. This seemed to break dnsmasq - PCs stopped accepting leases and DHCPDECLINED them. I’ve never seen that before. So I had to route through my laptop - no biggie.
So, lesson for next time, test your netboot setup in advance, don’t assume that a mirror will be in working shape. We should have set up the lab on day one, for use on day 2.
The upshot of this is that I didn’t see any talks today (excepting a practical in the lab, on scribus, once it was up). I’ll have to watch the videos later.
Now, I’m going to enjoy a few days in Arniston, and then come home to graduate.
Quick post. If you have multiple IP addresses (i.e. a range) assigned to you server, and you want to listen on all of them (i.e. multiple SSL sites), then rather than using the ancient eth0:1 syntax, you can hack
/etc/network/interfaces to use iproute2 properly.
Assuming the IP 10.2.3.4, with the extra range of 10.5.4.110-10.5.4.118 (yes these extra ranges often ignore class-boundries):
Yes, it’s ugly as shit, but I can’t think of a neater way to do it.
Update: Better solution
I’ve finally jumped on the Linkedin bandwagon. Amongst other things, I’ve added a GeekDinner Group.
I haven’t blogged in a while, since exams are now over, and I have less urgent procrastination needs. I maintained an average of more than 1 post / day at the hight of my studying :-(. In fact, I’ve been recovering from exams, and trying to catch up with the rest of life that I had to put on hold all year. And more recently, an insane RSS feed and e-mail build-up from a week of ignoring them while I was catching up with my life.
So, no posts doesn’t mean life has been uneventful. I’ve been:
This was my third your of an Information Technology BSc (specifically Computer Science and Electrical Engineering). I’ve had good results most of the time, but I’m not class medal material.
In first year, I slept through almost all of my Statistics lectures (3rd lecture in day, after an insanely early start - I was usually exhausted, and well primed for sleeping). Come the end of the year, somehow, I didn’t realise how meagre the exam’s formula sheet was going to be, and failed the course horribly. I swore I’d never do Stats again, making up the points with another, more interesting course. I didn’t get a chance to do this in 2nd year because I failed and had to repeat another course due to bad timing between deadlines and my best friend’s tragic death in a hiking accident.
This year, I had a reasonably heavy course load, with the 3rd year CS courses, and a composite EE course made up of two 3rd year, and a 4th year course. On top of this, I had to fit in something extra to make up Stats. The only extra course I could schedule was… Stats. I spent an afternoon running around, and computing schedules, but there was no alternative.
This time around, I actually enjoyed the Stats - it was (partly) very well lectured, and I already knew the basics of the course-work. I read the textbook, crammed the necessary formulae for the exam, and wrote it, all a monstrous 6-hrs-of-exams day. And that, I thought, was that.
I kept myself busy for the next couple of weeks, and then wondered to UCT on results-day, to see what I’d got. I was top of the (admittedly small) class for my EE, and scraped a 1st in CS, great! Next I head to stats, and I see “DPR” next to my name instead of a mark.
DPR means that I didn’t complete the require coursework. The list of who got DP (Duly Performed), and who didn’t (DPR) goes up a week or so before exams begin. Somehow I hadn’t noticed that I hadn’t got DP (I’m pretty damn sure that I checked the relevant noticeboard, I’m good like that). DPR means don’t write the exam, it won’t get marked, you’ve already failed. But somehow it’d escaped me, and I’d written it, and now I was not going to graduate. I couldn’t believe that I was DPRed, but it was possible - I’d screwed it up before, and could have failed all the tests (I’d hadn’t seen all the test results yet).
So, the next morning, I raced off to see the Stats course convenor. We sifted through paperwork, and found the problem - I didn’t have a mark for one of the tests, and for DP you need to write all the tests. Eventually we found the attendance slip that proved I had written it, which meant either I’d escaped the test venue with my test-paper, or the department had lost it before it was marked. Fortunately, my exam had been marked, I’d passed, and they believed that I’d written the test. So after an agonising day’s wait, I heard that the Head of Department had approved passing me, as if I’d missed that test on medical grounds. I’ve since heard that University policy dictates that the department must take the blame unless they can prove it was me (it wasn’t).
That doesn’t mean everything is solved yet, I was recommended to do an elective in 1st year, that is now no longer sanctioned for my course. It usually causes me hassles during registration, and might come up again now, but I think I can safely assume I’m graduating…