Wednesday, November 30, 2005
Random: Books
Here's the list:
The Lord of the Rings by J.R.R. Tolkein- Pride and Prejudice by Jane Austen
- The Bible (Various Contributors)
To Kill A Mockingbird by Harper LeeCloudstreet by Tim WintonHarry Potter And The Order Of The Phoenix (Book 5) by J. K. RowlingNineteen Eighty-Four by George OrwellThe Hitch Hiker's Guide To The Galaxy by Douglas AdamsThe Da Vinci Code by Dan Brown and Catch 22 by Joseph Heller- A Fortunate Life by A.B. Facey
- Dirt Music by Tim Winton
- 800 Horseman by Col Stringer
- Wuthering Heights by Emily Bronte
- Zhaun Falun by Li Hongzhi
Harry Potter And The Prisoner Of Azkaban (Book 3) by J.K. Rowling- Captain Underpants And The Invasion Of The Incredibly Naughty Cafeteria Ladies From Outer Space by Dav Pilkey
- Jane Eyre by Charlotte Bronte
The Lion, The Witch And The Wardrobe by C.S. LewisThe Wind In The Willows by Kenneth Grahame- The Catcher In The Rye by J.D. Salinger
- The Pillars Of The Earth by Ken Follett
Magician by Raymond E. Feist- Possession: A Romance by A.S. Byatt
Dune (Dune Chronicles) by Frank Herbert- A Fine Balance by Rohinton Mistry
The Hobbit by J.R.R. Tolkien- A Suitable Boy by Vikram Seth
- One Hundred Years Of Solitude by Gabriel Garcia Marquez
- 'Fighting' McKenzie Anzac Chaplain by Col Stringer
- Deltora Quest Series by Emily Rodda
Tomorrow, When The War Began by John Marsden- Perfume: The Story Of A Murder by Patrick Suskind
- The Grapes of Wrath by John Steinbeck
The Ancient Future Trilogy by Traci Harding- The God Of Small Things by Arundhati Roy
Harry Potter And The Goblet Of Fire (Book 4) by J.K. RowlingandThe Power Of One by Bryce Courenay- The Shipping News by Annie Proulx
- Captain Corelli's Mandolin by Louis De Bernieres
- The Poisonwood Bible by Barbara Kingsolver
- Anne Of Green Gables by L.M. Montgomery
- Gone With The Wind by Margaret Mitchell
- Cross Stitch by Diana Gabaldon
- Persuasion by Jane Austen
- Ice Station by Matthew Reilly
- Rebecca by Daphne Du Maurier
- Life Of Pi by Yann Martel
- Crime and Punishment by Fyodor Dostoevsky
- Little Women by Louisa May Alcott
- Great Expectations by Charles Dickens
- The Great Gatsby by F. Scott Fitzgerald
- A Series of Unfortunate Events by Lemony Snicket
- Love In The Time Of Cholera by Gabriel Garcia Marquez
- Rage by Steve Gerlach
- Alice's Adventures In Wonderland by Lewis Carroll
- The Mists Of Avalon by Marion Zimmer-Bradley
- Cafe Scheherazade by Arnold Zable
- The Bone People by Keri Hulme
- Jessica by Bryce Courtenay
Harry Potter And The Chamber Of Secrets (Book 2) by J. K. Rowling- The Fortunes Of Richard Mahony by Henry Handel Richardson
- My Family And Other Animals by Gerald Durrell
War And Peace by Leo Tolstoy- Wild Swans by Jung Chang
- Mao's Last Dancer by Li Cunxin
- Artemis Fowl by Eoin Colfer
- Eragon by Christopher Paolini
- Shantaram by Gregory David Roberts
Memoirs Of A Geisha by Arthur Golden- The Riders by Tim Winton
- Anna Karenina by Leo Tolstoy
- Angela's Ashes by Frank Mccourt
- The Age Of Reason by Thomas Paine
- The Alchemist by Paulo Coelho
- Middlemarch by George Eliot
- Emma by Jane Austen
- Midnight's Children by Salman Rushdie
- The English Patient by Michael Ondaatje
Matilda by Roald Dahl- Zen And The Art Of Motorcycle Maintenance by Robert Pirsig
- On The Road by Jack Kerouac
The Bfg by Roald Dahl- Animal Farm by George Orwell
- Birdsong by Sebastian Faulks
- A Prayer For Owen Meany by John Irving
- Boyz Rule by Felice Arena and Phil Kettle
- Scarecrow by Matthew Reilly
- The Secret History by Donna Tartt
Looking For Alibrandi by Melina Marchetta- Watership Down by Richard Adams
- The Thorn Birds by Colleen Mccullough
- Atlas Shrugged by Ayn Rand
Winnie The Pooh by A. A. MilneHarry Potter And The Philosopher's Stone (Book 1) by J. K. RowlingThe Magic Faraway Tree by Enid Blyton- Brideshead Revisited by Evelyn Waugh
Heart Of Darkness by Conrad- High Fidelity by Nick Hornby
- Goosebumps by R. L Stine
The Magic Pudding by Norman Lindsay- Les Miserables by Victor Hugo and David Copperfield by Charles Dickens
Just Played: Civilization IV Demo
Having been assured that most of the problems I had with Civ III had been sorted out, I decided to check out the demo last night.
First impressions were that it was very pretty. Each of the civilizations have their own animated character done in a similar style - but better looking - to the characters in Pirates. The map itself is very nice with lots of detail, and the individual units all look really cool.
I decided to play the Indians just for something a bit different. Each civilization has it's own unique unit, and the Indians have the "Efficient Worker". This made it a bit easier to get improvements made to the lands surrounding my cities, but it was hard to judge just what impact it had (since I hadn't tried using the normal Worker).
One nifty option for a unit is "Auto Explore". When turned on, a unit will just go wondering around the map trying to reveal as much as it can. When something interesting happens, it lets you know. Otherwise, you don't have to bother moving it yourself.
One thing that kind of bugged me was the Technical Advancements Tree. I liked the idea 5 or 10 years ago, but now I find myself feeling a bit restricted by the fact that I have to get everything. What if I want to try playing a Civilization that never develops the wheel?
Unit combat was very nicely done. Each unit's image on the map is made up of a few individual people. As units fight, the people attack each other, hitting them with clubs, shooting them with arrows or just getting killed. It makes it really easy to see how evenly matched two units are, and how badly hurt a unit is after a battle.
100 turns (which is what the demo limits you to) is much to short to really get a good idea of how the game will go. After one game, I'm not feeling like I have to rush out and buy the game, but I'm certainly keen for another few goes with the demo!
Tuesday, November 29, 2005
Random: Chess
Monday, November 28, 2005
Just Read: Snow Crash
The story revolves around Hiro Protagonist - a pizza delivery man, hacker and master sword fighter. Hiro gets swept up in the events surrounding a new drug to hit the streets (both digital and physical) called Snow Crash.
Like all good cyberpunk, you've got gadgets, computers, drugs and action. And, like all good cyberpunk from before about 1997, an odd mixture of "predictions" that were almost right, and ones that are totally wrong.
I really enjoyed it. There are already much better reviews then I could ever write (http://www.complete-review.com/reviews/stephenn/snowcrash.htm for example, or of course Wikipedia), so I don't really have much more to say about it. It's certainly put me in the mood for some more cyberpunk, and some more Neal Stephenson.
Ideas: Categories
So my solution is to start indicating the category in the heading of each post. Eventually I'll get around to linking them on the side bar. Let me know if this is actually annoying and I'll stop.
Friday, November 25, 2005
Chugworth Academy
Thursday, November 24, 2005
EB Games Australia Store Locator is Broken
It very helpfully takes you straight through to the Microsoft page about how to email mobile devices.
Wednesday, November 23, 2005
New Web Stuff
Chugworth Academy lead me to Starscape, which looks interesting enough for me to give a go. I've been working on something vaguely similar (my Project!) for the past couple of weeks, so if nothing else it might be a good source of ideas.
Edit: Actually, that's reminded me. I need to start reading Errant Story again.
Open Government
I made the comment that probably some of the most interesting blogs out there would be the ones written by politicians - particularly those high up in government. I mean, if John Howard had a blog, wouldn't you want to read it? The only problem would be that if a politician had a blog, it would be the most sanitized, spin-covered blog since the Juicy Fruit blog.
I wasn't going to bother blogging about it (although if people hassle me, I'll go into more detail), but this morning I spotted this, and figured I'd link to it (with a bit of context).
Tuesday, November 22, 2005
Christmas Presents List: Item 1
World of Warcraft Boardgame LIMITED OFFER Pre-Order
FFIWC-03 World of Warcraft boardgame $125.00
World of Warcraft: the Board Game is a fantasy adventure board game for 2-6 players, based on the popular Massively Multiplayer Online Game from Blizzard Entertainment. Adventure across Lordaeron, vanquish monsters, gain experience and power, and earn honor for your faction – whether Horde or Alliance . Play as one of 16 heroes from nine classes and eight races, advance your character and gather treasure, battle thirteen different types of monsters, and ultimately challenge one of three invincible Overlords. The fate of Azeroth is in your hands!
If you pre-order a copy through Mil Sims before November 30th, , fill out the World of Warcraft Board Game pre-order form, as is found at:
www.milsims.com.au/images/wofw2.jpg and fax the form to us on 03 9553 3339, or even email to us as a .pdf.
you will receive:
1. 10% discount for pre-ordering
2. A limited Edition Bronze World of Warcraft hero figure for FREE
3. A map of Lordaeron FREE
4. And the copy of World of Warcraft that you pre-ordered
5. The game is due into stock late Dec/early Jan.
Friday, November 18, 2005
TRIM Webservice: Adding Items to a Request Dynamically
The problem: You've got your TrimRequest, and you're trying to populate the items. Unfortunately, the number of Operations in TrimRequest.Items is going to change dynamically, and there isn't any .Add method.
The solution: Create an ArrayList, and stick all your Operations in there. 'Cause their cool, ArrayLists do have a .Add method (and a .AddRange). Once you're finished with it, jam it into the TrimRequest.Items.
The trick is that the cast isn't good, so the code won't complie.
Thanks to the awesomness of Resharper, I discovered that if you hack the generated code and change the line
public Operation[] Items;to
public object[] Items;That will let you pass all the operations into the collection, and through the joys of XML, it will magically work at the other end.
I need to do some further testing on this, but it looks good for the moment.
Gift From God
So all of Greenland was using weapons forged from Star Metal...
On A Lighter Note
Friday Morning Rant
I oppose the death penalty. There is no crime that will be magically undone by killing the perpetrator. No justice system on Earth is perfect enough to have not convicted an innocent person, so how can they be sure when it comes to deathrow (unless your in Texas).
Last year, an unfortunate Australian named Van Tuong Nguyen was caught with just under 400grams of heroin at a Singapore airport. As anyone who's dumb enough to try and traffic drugs through Asia should know, Singapore has the death penalty for drug smugglers (if you get caught carrying more than 15grams of heroin, it's mandatory).
Obviously from my comments above, I find this a pretty evil thing. Don't get me wrong - he was trying to smuggle one of the most soul destroying drugs around, and most certainly should be punished. But is killing him isn't going to get even one person cured of their heroin addiction? No.
But that's not what I'm ranting about. The Singapore Government has set the final date for the execution in early December, and this morning they were discussing it on the commercial radio station we listen to on the way to work.
This is the bit where I get angry, and you may want to stop reading.
One of the presenters expressed views pretty similar to mine - the death penalty is always A Bad Idea. Then all the bogan, redneck listeners started calling in (and I am paraphrasing a bit). "He knew the risks!", "He knew full well he was going to destroy lives back here!", "It's different from Schapelle Corby - he had the drugs on him!", "He was going to profit from this!", "I don't think it will solve anything, but killing him might act as a deterrent!", "I don't support corporal punishment, but he should die!" (yes, the last one actually did say "corporal" not "capital").
What is it with these people? Why do they seem to think it's a case of either killing him in cold blood, or letting him off scott free? Why do they feel the need to tell everyone how much they don't support the death penalty, but to then go on about how happy they'd be to see someone die?
And, if you really want to get picky, why is it that none of them actually know about the case? This isn't some hardened criminal. This is a guy who'd agreed to do this to try and pay off his brother's debts. He's been cooperating fully with the authorities since he was caught, and from all accounts has shown a lot of remorse.
It all makes me very angry! Aren't we good enough at killing each other already?
If you agree with any of those stupid, stupid people who were calling into the radio station, fine, but do it somewhere I can't hear you. If you want to actually do something useful, check out Amnesty International. There's not much time left, and things don't look good, but maybe it will make a difference.
/rant
Sorry if I offended anyone, but I did tell you to stop reading.
Edit: And after recieving a comment 5mins after posting from one of the people I'm ranting about, I'm turning off comments.
Brave, by the way Mr Anonymous - not even putting your name to comment. Wow, look at the level of respect I've got for you now. It's all the way down there, that tiny little dot....
Friday, November 04, 2005
Brilliant Idea #2931
So here's the brilliant idea we came up with. Dig up some speeches by the famous Roman orators, "modernize" the language a bit, and then see if they'll get published as Letters to the Editor.
Spinning Planets
It's a pretty basic app. It draws a few balls on the screen, with a few others rotating around them. I stole the basic "ball drawing" code from the excellent Public Joe C# Tutorials. That gave me balls that would move in a straight line, but didn't help me with curves.
An orbit is an object moving in a circle right? So what else moves in a circle?
Thinking back to a second year uni assignment, I tracked down an example of an analog clock (it was on CodeProject, but I can't find the actual article). The bit of code I wanted looked like this:
deg= 360/speed;the GetCos and GetSin functions look like:
x = GetCos(tick*deg + 90) * radius;
y = GetSin(tick*deg + 90) * radius;
location.X = (int) (orbiting.location.X + x);
location.Y = (int) (orbiting.location.Y + y);
tick = tick + 1;
private static float GetSin(float degAngle)Then it was just a question of setting up the individual "planet" objects to orbit around a specific point (if you watch the centre ball, it's actually moving around an invisible point itself). If I ever went back to improve the code, I'd probably set it up to randomly generate the planets and moons so it would be different each time.
{
return (float) Math.Sin(Math.PI * degAngle / 180);
}
I would post the .exe itself, but Blogger doesn't like the idea of me putting up anything other than an image.
Thursday, November 03, 2005
So What Have I MacGyvered Up?
This window sits in the top left hand corner of the user's screen. It's transparent so they can see whatever's behind it (in this case, TRIM), but it's always visible. There are a series of "planets" that rotate around the centre, and each planet can have a number of "moons". Each planet represents some aspect of the users world, and each moon indicates the number of things associated with that planet. So number of records in your TRIM in-tray, number of unread emails, whatever.
In it's current state, the program interfaces with TRIM and Outlook. So in this screen grab I can tell at a glance that I have 3 unread emails and 1 record currently assigned to me. Although it isn't shown, if I've got a meeting coming up, another planet would appear, orbiting closer and closer to the centre until it's time for me to stop working. I mean go to the meeting.
MacGyver of Software Development
Yes yes, get the laughing over and done with Grant and Stilly. Finished? Good.
For anyone who doesn't know, FileMaker is a database building package. In a lot of ways it's like MS Access - it's meant to make building an database application quick and easy, but in a lot of ways it goes well beyond what Access offers. You could build an entire application in FileMaker that didn't have anything to do with a database if you wanted (sure, it would suck, but you could do it).
The tools on offer could be pretty limiting - for example there wasn't native SQL support until version 7 (which came out at the beginning of 2004). But one of the things I always enjoyed about my old job was trying to do something specific with the limited tools that were available. It wasn't so much a case of "when all you have is a hammer, everything looks like a nail" but more how do you use a hammer to cut a piece of wood in half. All programming has an element of that - you often have to take the existing tools to build what you actually need - but this was like being the MacGyver of software development.
I think it was Grant who was impressed that a client was seeing TRIM as an engine rather than a solution on it's own. It occurred to me this morning that I've only ever seen it that way.