technovelty

weblog of Ian Wienand

RSS  |  technovelty home  |  page of ian  |  ian@wienand.org

Tips and tricks for your E3 Visa

Having recently been through the process, I've managed to come out the other-side with some some advice for anyone taking this on.

Feel free to drop me a line if you're thinking of taking an opportunity and have any questions.

posted at: Thu, 10 Apr 2008 22:41 | in /personal | permalink | add comment (56 others)

Big Bands are Back!

8pm Monday nights sees the return of the Rhino Factory to the Zodiac Hotel, 244 Pitt Street. Plenty of couches, dance floor and of course Sydney's craziest 18 piece big band. It's only 10 metres from Town Hall station, so come and support live jazz, and of course have a few beers. Check out the myspace site for more music and photos.

posted at: Fri, 11 May 2007 13:58 | in /personal | permalink | add comment (1 others)

Work for Gelato@UNSW

We are currently looking for a person to join the Gelato@UNSW team. Read the job description; but if you are reading this, and your physical proximity is not too far from UNSW, there is a high proability you'd be interested in the job.

There will be much hacking at userspace and kernel level, though knowing your way around C and building kernels is sufficient. There will be papers involved, but it is not overly academic. You'll have time to learn, and freedom to move things in the best directions you see fit. You'll collaborate with some very smart people both here and abroad; I can speak from personal experience that the positive push of your surroundings will help you learn more than you ever could in other environments.

If you have questions, please email me at ianw@gelato.unsw.edu.au.

posted at: Mon, 26 Jun 2006 15:53 | in /personal | permalink | add comment (0 others)

Diamond Princess v Titanic

Anyone who has been near Circular Quay would have noticed the Diamond Princess at port in the OPT. Melinda raised the obvious question of how big it was compared to the Titanic.

ShipLengthBeam (width)HeightTonnagePassengers + CrewSource
Titanic269m28m18m46,3283,547Wikipedia
Diamond Princess295m37.5m (excluding bridge wing)62m113,0003,770cruises.com.sg

So the Diamond Princess is about 10% longer and over twice as wide, and weighs about 2.5 times as much. Apparently they both had the same top speed of 23 knots. The height I'm not sure about; the Wikipeida article says the height is from waterline to top deck but the other article doesn't specify. From looking at it, it certainly could be 60m from waterline to top deck, it is extremely tall. This at least gives you some perspective if you get to see it up close; however I think there are other ones just like it, I seem to remember seeing something very similar parked outside Venice.

posted at: Mon, 09 Jan 2006 13:24 | in /personal | permalink | add comment (0 others)

Comments

After a request I enabled comments. I also tied a script into mutt so I can delete comments when I'm notified of them. So the comment policy is pretty much "I decide".

I hope the spam stays away and interesting people visit, but we'll see. I may sound old fashioned but I still prefer email.

To keep some technical content, note the comments.py file distributed with the Pyblosxom 1.2.1 contrib collection is not the latest, and if you are getting issues with "Mapping Key Not Found" when you post a comment, remove the call to decode_form (hack) or otherwise figure out what the blog charset encoding/decoding is trying to do (nice, but if you only care about English I don't think it will bother you).

posted at: Wed, 04 Jan 2006 16:40 | in /personal | permalink | add comment (1 others)

on computer science

CTD posts a question from a school exam, which appears to come down to a syntax error (I didn't pick it, someone in the blog comments did).

Apart from illustrating that not much has changed since I did computer science at school in 1997, it is an example of everything that is wrong with teaching computer science.

You'll think I'm crazy, but maybe we should rename computer science computer art-economics. Firstly, you'll notice that their is a fair bit of maths and science behind both of those fields, but it is not the primary focus of either.

Both artistry and programming are about plucking something out of your head and representing in some tangible form. Just as we can look at a piece of art and decide if it is a good or bad representation of what the artist had conceived, we can look at an algorithm represented in code and decide if it is an elegant solution to a problem.

The senior English department does not teach you to write by presenting you with grammatical errors and marking you on how many mis-placed apostrophes you find. The music department doesn't teach you to listen for the slip of a finger in a concerto and the art department doesn't make you study the five rough drafts of the Mona Lisa. In all of these departments their goal is to open your mind to the cornerstones of their fields and give you a foothold and the skills to hang on, from which you can climb as high as you want.

Standard algorithms and data structures are the cornerstones of computer science. The skills to hang on are teaching you a language with which to express these ideas. Binary logic is the basis of everything that gets built on top; the way 'and', 'not' and 'or' can be made to conspire and build most anything imaginable should be your first stop.

In other ways, however, computer science is much more like economics. Anyone who has studied economics will very quickly realise that playing around with the economy comes down to two things -- you either do something more efficiently (get more output from the same input) or accept a trade off (get less of one thing for more of something else).

A computer only has so many cycles per second to crunch through data. It only has so much RAM, cache, TLB slots, memory bandwidth, disk space, network bandwidth. When you write your algorithm, you either need to find a way to somehow be more efficient with your resources, or take a trade off.

Understanding where you can get efficiencies starts by learning about algorithms. We formalise this with big-O notation, but you don't need to know about that to realise a quick sort gets the job done faster than a bubble sort. When you get really smart, you start coming up with your own ideas that are better than anyone has ever thought of before.

Understanding tradeoffs is what makes you a programmer. You need to understand what is happening from what you write down to the way the instructions get issued into the processor. You need to understand what the operating system is doing between your program and the hardware, and any of the myriad of other variables that happen on a modern computer. Think of all the others things you understand to make good decisions; networking, databases, electronics, mathematics. How to make a good interface is as much about psychology as anything else.

This is an absolute gold mine of material, and exposes you to everything that modern computer science is about. There is an infinite number of exams without one stupid "find the syntax error" question.

Our goal should be striving to open the eyes of the next generation of hackers to the amazing world that lives beneath their keyboard. If things are anything like when I was at school, the only wonderment was wondering what the hell I was doing sitting in this class when it looked so nice outside!

posted at: Mon, 19 Dec 2005 22:55 | in /personal | permalink | add comment (0 others)

NICTA and Qualcomm

As you will soon hopefully be aware, the Embedded Systems and Real Time Operating Systems group (the research group that Gelato@UNSW is embedded in) within National ICT Australia today released news that they are partnering with Qualcomm on some chipset solutions. Many of you will know people like Gernot and the hacker-extrondiare Benno who made this all possible (while I had nothing to do with it at all).

The essence of this announcement is the tiny microkernel L4 with an operating system layer Iguana wrapped around it. On top of this you can run a modified version of Linux, called Wombat.

This is important for a number of reasons. From a technical point of view, memory protection in embedded systems isn't generally a given -- any process can kill another, making things often very hard to debug. Using this operating system stack you get full memory protection. Secondly, it is possible, and work is ongoing, to formally verify the L4 microkernel. This means that it will have been shown, much as in the way of a mathematical proof, that it works. For your embedded system, which might be stuck somewhere that the reset button is very hard to reach, this is a great reassurance. Lastly, having a modified version of Linux available means there are a number of possibilities for you not having to re-write legacy code. You also avoid licensing issues around using something like ucLinux, which are a big concern to many embedded systems players.

From a non-technical point of view, this represents around 10 years of hard work from various people involved in what has been known as the Keg lab, after the tiny room it all started from in the UNSW Electrical Engineering building. It means that people in Australia are doing really interesting systems work and coming up with products that really stand out and customers want (I can't say more, but be sure that the Qualcomm partnership will not be the last). You should be excited, because starting to commercialise research projects is a push in the right direction to becoming a powerhouse of innovation like so many of the famous American universities. And if you have youth on your side, enrol at UNSW, do the various operating systems courses and come and join us on NICTA Level 6 -- the view is great!

posted at: Thu, 24 Nov 2005 12:25 | in /personal | permalink | add comment (0 others)

ERTOS Systems Administrator/Web Guru Job

If you're into Linux check out the ERTOS sysadmin job. Based at UNSW I can guarantee that if you're into Linux and open source you will not find a better work environment. I'm still constantly surprised by the bright people around me, and there's heaps of unique opportunities here. This isn't supporting Windows users ... you'll be hacking together solutions to problems you didn't know existed!

Feel free to contact me if you have any questions.

posted at: Thu, 13 Oct 2005 19:10 | in /personal | permalink | add comment (0 others)

about my blog

welcome to my blog. this is something I've wanted to setup for almost exactly a year now as a part of a "junkcode" repository that Andrew Tridgell talked about at linux.conf.au 2004. Seeing as I've just registered for lca2005 hopefully I'll be able to keep my notes from the interesting talks in here. so this is where I hope to keep ideas that don't fit into a .c file. I decided to call the blog technovelty because I wanted a name for some reason, and so the first thing I obviously did was type in "random word generator" to google. The first link that pops up lets you type in a few letters and using Markov chains makes sort-of words. I put in "tech" and a word that popped up was very like "technovelty" which subsequent google searches showed wasn't too popular a term. I couldn't belive that technovelty.org wasn't taken; there are some similar names that are parked on and I think someone must have made a typo and wanted to squat on technovelty.org but got something else. so we'll see how i go.

posted at: Tue, 01 Feb 2005 22:19 | in /personal | permalink | add comment (0 others)

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.