posted: Fri, 13 Jul 2007 22:47 |
filed under:
/
blog/
programming/
|
permalink |
Comments: 0
Well, I'm just back from a week spent in Launceston partaking in a Winter Unit in Advanced Algorithms and implementation thereof; so I expect this post to mostly talk about that.
Arriving at Launceston, we had dinner, and proceeded to an extended game of Bartog to kick things off, and introduce people to people that hadn't already met other people. We stayed at the Australian Maritime College's hall of residence, and in general, I rated the room as better than that of most other colleges I've stayed at, apart from the niggling annoyance that the heaters switched themselves off after two hours (permanently), and the blankets were far to thin to compensate for this. Luckily, the point of the trip was not to sleep.
There's something particularly comforting about spending 15-16 hour days in computer labs at foreign campuses (NCSS, I mean you!), this was no exception. On most days, we'd arrive at the School of Computing building at 9AM, and not properly leave until 10-11PM; barring lunch and dinner breaks. This allowed for lots of problem-solving activities.
Monday consisted of a "Getting to Know C++" session, whereby seasoned C++ coders would get massively bored, and newbies would get overwhelmed. Luckily, I sat somewhere in the middle, and so learned quite a few useful hints. No specific algorithms were studied on the day, but rather, we looked at many ad-hoc examples of algorithm design. Most people seemed to grasp the concept of "Greedy" algorithm design, I certainly did.
Tuesday and Wednesday consisted of Graph Algorithms, which is a very comprehensive field at the best of times; we focused firstly on some extensions on things covered in 2nd-year; followed by an introduction to some NP-complete problems, namely, modification of a graph that contains no Euclid Circuit such that it does, and the Travelling Salesman Problem (whilst using Dynamic Programming). We also touched on things like Vertex Cover and Automaton Matching. All very complex, but I'm definitely looking forward to solving some of these.
Thursday consisted of a basic introduction to Computational Geometry, introducing things such as the Convex Hull, and distance between two pairs. I realised far too late in the piece that remembering some vector calculation concepts touched on in KMA152 would have been useful.
Today introduced some (trivial) arithmetic problems that involve writing classes that represent numbers in a non-native method (i.e. Big numbers, or rational numbers, for example). Would have been interesting, except that the concepts covered were no more complex than they were when I first experienced them (in ACPC, Year 10, incidentally).
Well, bedtime calls, so that's clearly all the info you're going to get from me today. I may post some discussions of problems posed as the week progresses -- it should help with exam preparation for me :).
posted: Fri, 06 Jul 2007 20:44 |
filed under:
/
blog/
computers/
|
permalink |
Comments: 0
Debian let Amarok 1.4.6 into Testing today -- if you're running an earlier version, it's well worth the upgrade, as the Xine engine's Equaliser now works properly without bastardising your volume. The improvement on my bedroom stereo is immense :)
posted: Wed, 04 Jul 2007 22:28 |
filed under:
/
blog/
programming/
|
permalink |
Comments: 0
- Stream of consciousness coding is the most fun, but the code that you get to read the next morning normally isn't the nicest.
- There's a reason why PHP is used for Database Apps more than Python does, and let me give you a clue: it's got a lot to do with the standard library.
- chroot is the best sandbox for executing insecure apps under, and I can't use it for what it is that I'm doing.
That is all
posted: Mon, 02 Jul 2007 23:40 |
filed under:
/
blog/
programming/
|
permalink |
Comments: 1
Well, it seems as though it's impossible to go through a life of coding without writing a directory lister... So in the great tradition of this site, I give you my directory lister -- It spits out the entirety of your directory structure, either starting at the current dir, or at some specified one. It spits it out in a format suitable for grepping on a Unix system, as for some reason, the Unix
ls
tool doesn't do so.
Here's the code in it's entirety -- written in python, under the terms of the GPLv2 or later
#!/usr/bin/env python
import os
import sys
if len(sys.argv) == 1:
k = "."
else:
k = sys.argv[1]
for dr,drs,fls in os.walk(k):
for i in fls:
print dr+"/"+i
for i in drs:
print dr+"/"+i
May someone find it useful
posted: Mon, 02 Jul 2007 22:49 |
filed under:
/
blog/
programming/
|
permalink |
Comments: 0
I've spent tonight writing a simple quotes tracking program for me to immortalise people's humourous comments on. Please view at this URL.
If you're interested in the source code for it (it's written in Python-CGI, and runs on Python2.4 quite nicely), please e-mail me -- you know the address, and if you don't, you're not very good at looking.
posted: Sun, 01 Jul 2007 18:18 |
filed under:
/
blog/
|
permalink |
Comments: 1
I've just finished watching the final episode of this year's series of Doctor Who, and, as with the vast majority of Russell T. Davies' recent stories, it was a complete, unmitigated disaster. One can only hope that next year, they have the presence of mind to hire someone decent to write the last ep, as it's definitely needed.
posted: Sun, 01 Jul 2007 12:00 |
filed under:
/
blog/
life/
|
permalink |
Comments: 0
Crap. I forgot to do my regular updating of this site, oh well. So it's now time to let you all know what's been going on with my life over the past few weeks, and what the future (hopefully) holds.
The Past
Firstly, Uni exams finished a little over a week and a half ago, and as far as I can tell, they went fairly well for me. Over the two-week-long exam time, I had two lots of two consecutive days worth of exams: Maths and Chem for the first week, and my Computing Subjects during the second. Overall, the one I believe I did least-well in is Maths (but the marking scheme should compensate there), with the rest of them probably being equal in well-donedness... but we'll see -- I never have very good feelings about maths exams. One particular highlight of the exams was being able to use two useless pieces of info I learned for chem, verbatim. Things like that just make your day if they come off well :)
The culmination of one school term's worth of Tutoring work occurred during the middle of exam time, with the Prog Comp Team that I coached competing in ProgComp (duh); they won their division quite convincingly (33% ahead of the next team down), but didn't quite make the cutoff for the finals, hence, I won't be going to Sydney to supervise -- hopefully next year, and at this rate, it doesn't look too unlikely.
The Future
In relation to my future Uni Study, I'm taking a newly-offered advanced computing unit, which is to be held in Launceston, starting from next Monday; aside from being in Launceston (which in reality isn't hugely problematic), it should be great fun, and I'll learn a heap in anticipation of the ACM comp that is due to happen in September. There is however an exam on the 15th of July which is, incidentally, my 19th Birthday (more on that one later)
In next semester proper, I'm reducing my load of first-year subjects (thank god), with the intention of filling prerequisites for next year more quickly. I'll be studying the following:
- KXT203 Software Construction, which is a 2nd-year Software Engineering unit, which is evidently compulsory for my CS major. Although it'll in general likely be boring, it appears as though it teaches some useful things like how to use version control (I never bothered learning), and some intermediate Java stuff (could end up being dreadful there).
- KXT206 Artificial Intelligence, a second year AI unit, which teaches a whole heap of AI techniques, as well as programming in Prolog, which is certain to be an eye-opening experience.
- KMA154 Calculus and Applications 1B, the conclusion of the maths I did last semester.
- KRA114 Chemistry 1B, the conclusion of the Chemistry I did last semester.
In general, I've decided to revise my Major Study from two majors in Computer Science to a single one, and supplementing that with a major in Maths (specialising in Algebra & Applications, and Operations Research [which is a strand of applied maths that relies heavily on algorithms and the like, so good for me there]).
Finally, it's my Birthday in two weeks time, and at the moment, it looks like I'll be doing minimal to celebrate it on the day, as I have a couple of completely unavoidable non-personal commitments on the day; that said, the majority of readers of this site should catch me at the Justs' Annual Bonfire night, which as far as I know, is on the 14th.
That's all for now, more posts when I can be bothered.