Monday, October 31, 2005


I know what you're thinking. "You're just realizing this?" But stay your criticism, for here in Canada, popular beverage Mountain Dew, contains no caffeine! In Canada, there is a law that prohibits the addition of caffeine to just about anything that's not a dark cola. So colas are fine, so is coffee (the caffeine is natural from the coffee beans). Pretty much anything else gets shot down.

Of course, there's been a loophole for awhile now: gurana, a natural berry which, like coffee beans, that also contains caffeine. Since it's natural, it's legal. So there's been a lot of drinks coming out with gurana.

But just today, I found something in Sobeys: Mountain Dew "Energy". Basically, it IS American Mountain Dew, complete with caffeine. Except marketed as an energy drink. The label is hilarious! They have to treat it like a drug, so they provide its purpose (to provide energy to adults), and dosages. Plus a giant warning that it shouldn't be taken by kids or pregant women! Hilarious!

Of course, one may wonder why do this? Well, caffeine is a drug: a stimulant, in fact! It is physically addictive, has significant withdrawl symptoms, the body can build a tolerance to it with repeated use, and it's possible to get caffeine poisoning, or even die! This may sound bad, but the quantities of consumption required to reach any of these problems (except the desired one as a stimulant) with most normal caffeinated drinks is excessive. These problems tend to only develop with things like caffeine pills.

Not that I'm worried. I'm going to pour myself some right now in fact!

Sunday, October 30, 2005

Civilization 4

So, on Friday, I picked up what is largely believed to be the last copy of Civilization 4 within a 100km radius.

Now, with the sun barely rising at 6:30am on a Sunday morning (which is actually 7:30am, except clocks go back today), I have finished my first game. Shinji (the Japanese) has successfully launched for Alpha Centauri as of year 1996. It's a damned good thing too - the planet was a brutal mess. Two civs destroyed, 3 at war with me, and one friend (ahh the Chinese). As a parting gift to these annoying Civs, a wave of nuclear fire.

Now, for what you all want to hear: how is it?
Good... and bad...

First, I'll point out, no matter the changes, it's a Civ game. It is dangerously addictive. Sites like Civilization Anonymous may seem comical... until you fail your first term of school.
(note: if you're in an Electronics Boutique, try to catch the Civ4anon movie, it's worth the watch)

Note, I suggest before anyone comments, they play to the end of a game. The first few turns aren't indicative of how the game necessarily plays.

Now, some of the features which were new which I really liked:
  • Forced border control: no more computers wandering through your territory! They either have to declare war, or they have to request an open borders treaty. Open borders treaty gives access to roads too. A side effect of this is that units from non-warring factions can STACK, so a computer unit won't block your progress along your roads.
  • Better corruption! Corruption is purely a money thing: your cities can always produce just fine. Each city is taxed based on the total number of cities and its distance from the closest capital (Palace, Forbidden Palace, and a wonder or two).
  • No building maintenance, so you don't have to constantly worry about how much your buildings are costing you. This also results in tech%'s being very high, normally 80-90%.
  • Better negotiations: you get to SEE exactly what's making you popular or not with a particular race. Also, extortion works properly - they never actually went to war with me over some random greed attempt. Plus it's easy to see your deals, and choose when to renegotiate them.
  • Awesome defence bonuses: city defence bonuses are displayed, and bombardment can lower that percentage temporarily. Terrain bonuses show up on mouseover. Fortification is very cool - even if you wake the unit, the bonus isn't lost until you move the unit. Fortification increases 5% for up to five turns.
  • The UN is more understandable, and does more stuff. You can mandate certain civics, for example.
  • There's a lot more "national" wonders that each civ can build. What's better, you can only build two per city (this doesn't apply to "world" wonders)! This actually leads to some interesting planning issues - since you can't just load them all in your capital, you have to choose which pair up best (for example, two boosting gold in the same city == mega gold).
  • Easy unit grouping interface.
  • Great people are far more predictable (there's a meter, and you get one when it fills), and they can do a lot more things.
  • "Fortify until healed". 'Nuff said. In general, the concept of battlefield healing is far more refined and deterministic.
  • More treaties! I don't know how they work; didn't have a chance to use them. The "permanent alliance" will be useful for multiplayer, though I hope in multiplayer you can form it earlier (it's tech-dependent).
  • Both tech and construction progress is saved! When building in a city, you CAN'T transfer shields anymore, so no using palace builds to save up for wonders. However, if you're building something, and you choose something else, it goes on the head of the queue, before the item you were building, whose progress is saved. This is great if you need to say, build a wall in a hurry without having to throw out your wonder build.Yes, you can queue after the item as well, as in Civ3's shift-click. Tech is even more generic - progress on any tech is not lost (immediately anyways, the manual hints that a partial tech may eventually decay). You can switch between techs, and come back to the one you were working on later.

There are a few notable features, which are sort of neutral in my book.
  • Civics are kind of neat. I'm not quite sure that I agree with having only one turn of anarchy to switch them, but that's just me. I'd have liked to see this feature expanded, and some dependencies between the civics built. They seemed pointless early in the game, but later on, you do actually find yourself switching now and then.
  • The new combat system is pretty good - at first it feels more generic with 'bigger wins', but those minor details about combat bonuses make a huge difference! This is nice, for example, because you get a unit called a grenadier which has +50% vs rifleman, preventing the common Civ3 problem of rifleman turtling through the industrial age. Also, the idea of strength==health is also nice, more so because you have have fractions of a point. The downside? Micromanagement! Since you have to prepare for various contingencies, you'll have to really plan ahead, and individually promote each unit. For the sorts of stacks you were used to in Civ3, you'll spend a LOT of time just doing promotions and picking groups of units.
  • There's a LOT of luxaries. Even stuff that was just tile bonuses before, like banannas. Again, useful, but the issue of management. Most resources and luxaries require you to build a specialist structure and a road on the tile.
  • The tech tree. There's no requirement to complete a subset of an era, and in fact, the tech tree doesn't even show the eras. Many of the techs have an "or" dependency, meaning they can be reached by multiple paths. This of course gets confusing when you have an "and" dependency, since it doesn't get shown on the tree. This makes the tech tree hard to follow. On the other hand, you can easily explore very deep rather than taking a completionist view of the era. On the plus side, the exact number of potions is visible, and it overflows, so there's no tech% adjust every turn anymore. Thouhg you could easily since they've now moved it onto the main screen.

The downside? Only one, and.... well.... it's that it's a Civ game. Also known as any random 3 year old could have done a better job of testing it. It's buggy, and it's bloated as hell, and one or two of the UI features are still nasty.
  • The game is fairly heavy, taking over 500MB of RAM on a regular game as you let it suck up RAM. Game randomly slows from time to time to an unplayable pace, which can be fixed by minimizing and restoring.
  • Random glitches in UI. Sparkling units. From time to time, there's a buffer overflow leading to an "Unable to load file ". My game control menu and civlopedia disappeared completely once. My entire ancient age had no music. Tech display screen breaks when displaying a chain in progress. The Civlopedia is just crap, and is broken. Had at least one glitch in the military advisor screen.
  • I think there's a few bugs still in gameplay. I know I broke a negotiation at least once to get more cities than I should have. Negotiation screen also doesn't figure out durations for treaties.
  • UI quirks: the same as any Civ game - the issue of being constantly passed to a unit on the other side of the world as you try to wake up your stack. A new one here, to get a list of units, you single-click to activate one. Which activates the fortified unit. Getting it to sleep the turn normally involves waking and re-sleeping it. Sadly, it also seems to skip displaying the defensive combats.
  • Some advertised features, like choosing multiple leaders? Overrated. There's only at most two leaders, and many of the civs only have one, which with only 8 civ traits, means little. Religion has been implemented to be such a big deal, but in the end is just a hoop you jump through. You send missionaries to every city you can reach, they become your religion, and you're done. There's more to it than that, but the sheer enormity of it compared to its usefulness seems imbalanced. I for the life of me can't find out how to discover the balance of religions in a city's population.
Reports have indicated that there are some very serious bugs, including an outright memory leak (mine thankfully eventually frees the memory), and the fact that the game is supposedly hopeless on ATI cards. But I'll leave my discussion to what I personally saw.

So, overall, what do I think? Good game. Worth the price I paid, and makes some key improvements where they were needed. Did they change too much? Only time, and lots of multiplayer will tell. However, of course things may well change when we get the first patch. And that had better be soon.

Wednesday, October 26, 2005

Legal debate of the day: peaceful assembly vs. unlawful assembly

Tina is in law school now. While it does deprive me of her daily presence, it leads us to having the most wonderful discussions on various aspects of law from her assignments. Her because she is learning all about it and enjoys it, and me because I like to act like I know everything. The intellectual stimulation is wonderful, and one of many reasons why Tina is so awesome.

But enough of Tina's 1337 l4w s|<i11z04z and general awesomeness. On to the topic itself:

Unlawful assembly:

Section 63

  • (1) An "unlawful assembly" is an assembly of three or more persons who, with intent to carry out any common purpose, assemble in such a manner or so conduct themselves when they are assembled as to cause persons in the neighbourhood of the assembly to fear, on reasonable grounds, that they
    • (a) will disturb the peace tumultuously; or
    • (b) will by that assembly needlessly and without reasonable cause provoke other persons to disturb the peace tumultuously.

Section 66

  • Every one who is a member of an unlawful assembly is guilty of an offence punishable on summary conviction.

Some other irrelevant stuff cut, but that's the crux of it, straight from the Canada criminal code. Basically, it says that if you're in a group of 3 or more (and actually part of the group in that you have the same intentions), and people have reasonable fear that you're going to disturb the peace or inspire others to disturb the peace, they can throw you in jail. Basically, it's designed to allow cops to break up a riot before it actually becomes a riot; not a bad idea if you think about it.

So the assignment question was basically, given some sample rather emotional protest scenario: a) would a protestor be able to be convicted, b) would it hold up to a charter challenge?

The first part is quite situation-specific. Did the person have common intent with the group, was there three or more, did they assemble, and would a REASONABLE PERSON nearby have fear at that point that the group would disturb the peace or inspire others to disturb the peace? If so, guilty, if not, not guilty. There's lots of arguments that could be made, but in the end, it'd be up to whomever to decide whether the fear was reasonable.

The second is the far more interesting point. Because, after all, the Charter of Rights and Freedoms, and many other such constitution-like documents, were designed specifically to allow people to protest peacefully, and it'd be pretty hard to justify a law that impinges on it.

Some relevant clauses:
2. Everyone has the following fundamental freedoms:
a) freedom of conscience and religion;
b) freedom of thought, belief, opinion and expression, including freedom of the press and other media of communication;
c) freedom of peaceful assembly; and
d) freedom of association.
Points b and d are weakly relevant, I think personally; after all, you have a right to express yourself in a group, and... well... group yourself with a group. But on the other hand, there's tons of exceptions for freedom of expression. And freedom of association doesn't mean you're not liable for your part in the group's actions if they're not lawful.

Part c is the real clincher: freedom of peaceful assembly. The law, by definition, applies to a peaceful assembly, because it addresses the FEAR of it no longer being peaceful. If it was actually no longer peaceful, it would be a riot. We have the right to assemble as long as we're peaceful about it. Period. It doesn't matter whether people are scared or not, or what could happen later. As long as we're not causing trouble, you can't touch us.

Of course, all charter clauses are subject to the "Great Backdoor".
1. The Canadian Charter of Rights and Freedoms guarantees the rights and freedoms set out in it subject only to such reasonable limits prescribed by law as can be demonstrably justified in a free and democratic society.

This is a complex issue! The popular test for this is the Oakes test, which says:
  1. There must be a pressing and substantial objective
  2. The means must be proportional
    1. The means must be rationally connected to the objective
    2. There must be minimal impairment of rights
    3. There must be proportionality between the infringement and objective
Well, lets give it a try.
1. Pressing and substantial objective: preventing riots. Easy enough.
2.1 Rationally connected to the objective: Arrest people who could possibly riot. Sure! Apparently this is not too stringent a test, but yeah, it'd not be a hard sell to pass.
2.2 Minimal impairment: Hummmmm.... could you do this more minimally? On one hand, reasonable fear, and arresting those involved. But I'd definitely argue that you could set some far more specific thresholds for specific actions required before an assembly was unlawful. A reasonable person will fear a crowd of 10,000 no matter WHAT they're doing! Anyways, we have tons of specific laws which won't let us do any of the fun stuff at a riot anyways, so if those don't apply, how dangerous can it be? Plus, the penalty sure isn't minimal! Heck, I would ACTUALLY riot! At least then they have to give me a chance to disperse.
2.3 Proportionality: Yes, and no. Yes in that it breaks up potential riots. No in that it essentially gives a blank slate to arrest anyone assembling in a decent-sized group. The ability to peacefully protest is a VERY fundamental right in a democratic society, and far more important than the ability to save a few bucks by stopping trouble early.

I'd vote 2.2 and 2.3 combined set enough of a hurdle that the law would die without at least some clarification.

So, what else?
7. Everyone has the right to life, liberty and security of the person and the right not to be deprived thereof except in accordance with the principles of fundamental justice.
Whee. This may not seem relevant, but it's a complex one by the definition of liberty in accorance with the principles of fundamental justice. This includes several principles, including that laws cannot be arbitary, so vague that you can't have a legal debate, overbroad, and if involving prison, must have an element of knowledge or intent.

Arbitrary? Not really. Vague? Perhaps: reasonable fear is certainly not defined, nor is it clear whether intent to cause fear is required (a whole discussion in itself!). Overbroad would be a subset of the section 1 argument. Intent is a good one.

This was our biggest issue here: does the law require intent, either to cause fear or to disturb the peace? I think the explicit definition of any common intent would say no, but the charter requires 'Yes'. If there's intent in the law, the law immediately becomes easier to justify.

Of course this can also be excepted by section 1.

So, that's my analysis. Or Tina's analysis. Or whatever.

Sadly, the courts disagree. The Quebec Court of Appeals rejected most of my arguments, though the majority opinion certainly didn't go to much effort in describing why. It scares me when someone says "*Obviously*" anything (here, that the law is proportional). In fact, the opinion seems downright stupid. There's nothing else the government could do than break up potential riots? Well how about not give the participants jail sentences? Not vague? What about the intent issue?

Oh well. So I'm wrong. I guess I'm strongly for protecting charter rights at all costs. They're one of those things that are hard to get back, so they should not be sacrificed so lightly.

Monday, October 24, 2005

Motorola V220, unlocked!

A lucky find during my trip to London has resulted in my Motorola V220 phone being unlocked, and now being a useful asset for my pending relocation to Seattle.

What am I talking about? Well, take a look at this Wikipedia article for a basic intro to SIM locking.

For those who prefer my history lesson:
The big tech in Canada and the US for cellphones is "CDMA". It works. But it's not very friendly to consumers. If you leave North America, you've got scant hope of getting your phone to work. Also, if you don't like the company you're with (or your company doesn't cover an area you want to go to), you're out of luck - get a new contract with a new company with a new phone.

In Canada, Bell and Telus are both CDMA-based.
* as a side note, CDMA issues aside, I hate Bell Mobility. With a passion! Six months of their billing system being horribly broken for EVERY customer, the rampant defects in many of the phones they offer (and, being CDMA, you have no other choices), and the charging me $200 cancellation on a finished contract and then insisting I'd have to call in a month later to have it fixed.

Of course, this was no good. So GSM was formed. GSM is what most of the world outside North America agreed on, and so pretty much anywhere that cell phones work, your GSM phone will likely find a network. Thankfully, despite pressure from US industries, and their lobbby organization the US Government, market forces have led to their being ample GSM coverage in North America. GSM is also nice in that all identifying characteristics of the phone are carried in a SIM card, a small device about the size of a dime that can be easily removed from your phone. So, want to switch cell companies? Take your phone, insert the SIM card from the new company, and TADA, your phone has switched to the new network. This is also useful if you want a local phone number when travelling, and various other uses.

In Canada, Rogers and Fido (recently acquired by Rogers, though I'm told by Rogers agents that their networks are not yet completely open access to each other) are GSM.
* I love Rogers Wireless. They treat me very well, and I wholeheartedly recommend them. I do not recommend other Rogers services, which piss me off. But Rogers Wireless is good.

Of course, the CDMA-centric companies can sell you phones, confidant that you will be locked into their lengthy contract. If you ever leave your contract, that expensive phone you bought is USELESS unless you rejoin them! They like that. GSM providers aren't happy that they don't get to be equally mean to consumers. So, the cell phone manufacturers added something called a "SIM lock". Basically, if you try and change the SIM card in your phone, the phone will refuse to work.

Now, back to the point at hand: unlocking. The benefits of being able to swap SIM cards is obvious, so how do we defeat the evil cell companies? We UNLOCK our phones!

In Canada, Rogers and Fido will (last I checked) both remove SIM locks at your request. They charge $200 for the service, which roughly matches the worst-case contract cancellation fee, and is more than the (no strings attached) purchase price of many cell phones. You can find a few places online that will do it, for a variety of prices, and terms. For certain "easy" phones, it's just a $5 typed code from the Internet, but for others, it takes dedicated hardware and serious knowhow. Many places will require you to send off your phone to a central office, leaving your cellphone with who-knows-who for days.

Well, if you're ever in London, stop by Masonville mall, across from the Shoppers Drug Mart. A cart has a guy who will unlock Motorola phones for $40. All other brands are $60. These prices are not great: the $60 is unreasonable I think. The $40 is similar to what I've seen elsewhere: I've heard of lots cheaper, but have yet to actually SEE a place that was able to follow through on-site cheaper for my V220. He did it in 15 minutes, and demonstrated with a Fido SIM. (one problem in Canada is that we only have two GSM providers, equalling only one possible test; plus in Masonville mall, Fido signal's very weak). So now, my phone will actually be useful when I move.

Please, if you know of a good on-site unlocker in your area, post in the comments! It will help others who are under the SIM lock and chain.

Four Days in London

Yeah, you get to hear about my life a bit. There's some reviewage, and foreshadowing coming up though.

I spent the last four days in London (Ontario), visiting my good friend Jessie. She had finally reclaimed her house after finally evicting a leftover tenant she acquired when she bought the place. You know, refuses to move, refuses to pay rent, certainly not the ideal person to be in the house. Of course, when she was finally ordered to leave, she look all the light fixtures, most of the electrical faceplates, and left a load of random crap in the basement.

Of course, this will raise instant alarm bells in most people's heads. Don't go Mike, you'll be sore for a month! It means certain doom! But I am Mike, I am not afraid! Plus it's Jessie, for whom I'd gladly undertake such labours and more, so I ventured forth. I'm back, having installed three light fixtures, five light switches, three sockets, and swapped out fuses (yes, fuses) innumberable times. Not a single electric shock, and everything works now. It's hard work, but certainly not beyond the average handiman with some good tools. Take note ladies, I'm now officially classified as "handy around the house"!

Didn't get any of my own research done. However, we probably added $5000 value to the house in the four days there, and infinitely more comfort for ourselves. Just in time to head back to Kitchener. Heh.

Also did a great deal of shopping, something London has no lacking of. Picked up two new toys for myself. First, a Linksys 802.11G router, with SpeedBooster. At Staples, probably ridiculously overpriced. Review will be coming in about a week. The other toy: my phone got unlocked! That will be my next blog post, so read on!

One quick random review for you all: the Toyota Echo. What a damned good car. I was driving around London in Jessie's Echo during my visit. Maybe it's just me, having not driven a 'new' car in quite some time, but this thing is just golden. Stops on a dime, accelerates nicely for it's class, immeasurably maneuverable, Toyota quality, and gas mileage that even hybrids can't beat. I'd get one myself, if not for the last annoying shreds of male pride tugging at my mind, nagging, prodding, demanding I get a manly car. It's the perfect car, except for the one problem to men everywhere: it is 'cute', and there is no avoiding that adjective when talking about this car.

Monday, October 17, 2005

Programming languages rant

With the recent Sun talk which mentioned dynamically-typed languages, the Ruby-on-Rails article on Slashdot, and my recent interest in C#, I've come to think about the things that I take for granted in my strongly typed languages.

I came up with a lot of questions.

Do I need checked exceptions?
The only (relevant) language to have them is Java. They were heralded as forcing people to handle exceptions, but in reality, they just pissed people off and people started throwing them away. I can see the use of runtime exceptions - they're required, especially for things like casting, nulls, and the VM error conditions that would be infeasible to check in every method. But how often does anyone catch those anyways? Really, there's not a lot you can determine from a null reference; it's a bug! On the other hand, will you really check for an exception you CAN handle if you're not forced to?

Lots of people have opinions, some even well-informed. You can Google them. Google Scholar doesn't turn up much though: has the SE community not addressed this scientifically?

Do I need strong types?
Yes. GOD YES! This weak typing hippie crap is really pissing me off. We need STRONGER types in fact: I want compile-time constraints on values! Why should I be allowed to pass a null to a method when clearly the method can't accept it? Why can't the compiler force that? More to the point, it'd be more efficient! How often does one datum get null-checked on the way up a call stack? If the code is solid, I bet pretty damned often. If I could just make a type != null, it would only need to be checked before it first entered the method, and assumed not null the rest of the way up.
(note: yes, I know you can do this with classes. But it's a ridiculously heavyweight solution considering that you'd need a class for each individual combination of constraints.)

Plus these dynamic types really screw things up, because they go hand in hand with auto-conversion. Because you NEVER KNOW WHAT A VARIABLE IS! Is it a string? An integer? An integer interpretation of a string? A string interpretation of an integer? A string interpretation of an integer interpretation of a boolean? It's a black art, requiring you to know far too much about how the language interprets expressions. Even C had that wrong; promotion/demotions of primitive types were nuts and required a zillion casts to get simple cross-type math right. Bringing me to my next rant.

Primitive types?
GO HOME! It's already painfully obvious they're outmoded. Strings are a prime example: is it a class? An object? A primitive? A value? We don't know! Autoboxing is just meant to hide this because nobody has the courage to say STOP! A primitive, in my mind should merely be another type, except the compiler can generate instances of them from literals. That's all. It'd be trivial to optimize them out behind the scenes. Get rid of them!

Compiled languages?
Please. How can you do compile-time checks if there's no compiler? With classloaders like Java, there's no "huge rebuild" for every change. In fact, Eclipse compiles whenever you save, and even builds a loadable class if you have errors (replacing bugged code with exceptions). The compile overhead is truly marginal, and certainly not so huge as to make scripting languages a good idea. Plus, with a scripting language, there's no way to hide your code. As open-source-friendly as I am, some people need to distribute as binary.

Of course, .NET has it wrong - we (okay, *I*) don't want assemblies, we want CLASSES! Not in DLLs, not in EXEs. Java's JARs were a good step, and with only minor enhancements, would be the ideal tool for this.

I'm done. That's my rant. Go. Make languages for me now. I'm sick of your silly languages. Make me a good one.

What? Not done yet? *sigh*

Thursday, October 13, 2005

Two Big Boys and a Little Lady

I don't normally blog about seminars; after all I go to a lot of them. But I think these three merit mention, because of the heavy usefulness of today.

PS. Get me in your feed readers! 'Surfing' is so 2004.

Bill Gates
First off, on his only Canadian stop, Bill Gates stopped at Waterloo. Of course, being such good friends with the Big B (well... at least with his underlings), I got a special invite. A good thing too: this event was unbelievably hard to get access to unless you were one of the lucky few to exploit their connections to get tickets through a student society. I heard there was a waiting list over 5000 people!

Still, for such an anticipated talk, BG didn't say much of any noteworthiness. It was essentially a big public relations move. It worked; I appreciate that he came here to "rally the people to his cause" so to speak, and can appreciate that he needs to do so if he wants bright students to come work for him.

The questions are where the useful tidbits came out, including his opinion of open-vs-commercial (commercial will be the value-add on the open base? that was my interpretation of his answer), the issues of format proliferation (standards tend to emerge eventually anyways), and the need for programmers to understand hardware vs abstractions, and practice vs theory ("it depends").

The executive summary: software is good, software will be what drives all the cool tech of the future, and we should do all the good software we can.
Entertainment: A short comedy video of BG with the guy from Napoleon Dynamite (I think; I never saw the movie). BG playing Project Gotham on the XBox 360. Badly. A neat application of a "smart-space" style table which interacted with a projector and his cell phone.

Tim Bray
Of XML fame. Now with Sun, as Director of Web Technologies. A much more technical talk, addressing the "five big open problems in network computing". In my opinion, it should have been "five big problems for developers: IDEs, debugging, bloated standards, naming, and XML". But, all creative re-interpretation aside, his five big open problems were:

  • Parallel computing: since processors are growing more parallel instead of faster, how do we compile legacy apps, write new parallel apps, and debug parallel apps?
  • Web services: how do we do this well without overloading on the glut of beastly oozing standards?
  • Dynamic languages: how will we make IDEs, efficient VMs, and all the other goodies for dynamically typed languages?
  • Syndication: how do we get people to agree on a format and protocol, and can we use it for more stuff?
  • Storage: can we move stuff more into a distributed redundant network with lots of RAM and bandwidth, then just forget about disks? Will we use in-memory databases, or something else?

Not all these problems are all that "open" really. Really it's more along the lines of getting people to agree on which of many techniques to standardize on to close them.

And he called PHP a kludgey hack. HOORAY! I was about to mock him relentlessly for supporting dynamically typed languages until he said that. Perhaps PHP is the exception instead of the rule? I'll have to go try Python or Ruby sometime.

Name filtered, since she's not world-famous... yet. The most technical talk, talking about the use of Ecological Interface Design in the design of interfaces for a power plant's turbine systems. The opposing approach is User-Centric Design, I think. The key metric for this research will be "situational awareness", itself a novel evaluation criteria. I apologise to the presenter if I've already butchered it.

It was the most technical talk of the day. At the end of the day, no matter how much these evangelists say the tech is good, J.K. was the one I felt had done the most USEFUL WORK recently to make technology a reality. But that's just me. I didn't need convincing to know that technology is good, but I could certainly use better interfaces, especially on my computer.

Thursday, October 06, 2005

Lining the wallet

I hope this link is a permalink.

This reeked of propaganda to me the second they compared it to the Health Act, and got worse from there. Standard persuasion technique: health care is good right? This will be like health care.... you LIKE health care.... don't you?

It's appropriate that they compare to health care... because a LOT of money goes into health care. Money is thrown at every which problem. Which sounds a lot like our school's approach to education - get as much money as possible, and our school will be better. Will we spend the money on making the school better? No, we spent it on raises on our top administrators, but we made more money, so things MUST be better... right?

Some of the key phrases in the document lead me to believe that the issue is 100% an attempt to get more money from the government and people of Canada, and nothing about actually changing how education is done here in Canada.

"The premiers and territorial leaders have encouraged the Prime Minister to hold a first ministers' conference this fall with education as the single item on the agenda. "
== We'd like the provincial AND federal government to pay us money.

"with due regard at the higher and more selective levels of institutions for the individual to contribute to or repay the citizens' investment"
== We'd like more deregulated programs, and be allowed to charge them more.
(or, more cynically, we'd like to force our students/alumni to donate to us! okay, it's a bit of a stretch, but if they put even half the effort into making our school work that they did into alumni campaigns, maybe more students would actually want to give back...... it would help if we didn't waste all the money we receive either)

And, recognizing that different people learn best in different ways, the act will emphasize innovative techniques for helping individuals learn to the best of their capacities."
== We'd like you to sponsor us to experiment on guinea pigs... erm.... students.

"to establish itself as the world leader in e-learning"
== We'd like you to sponsor us to teach in ways that don't involve... you know, actually having to hire profs or provide facilities. You know, like where you give us money... and... that's it.
- this is already apparent in the ever-increasing strength of the distance ed program at our school; which itself isn't a bad thing, but perhaps it shouldn't cost as much to listen to a tape made 10 years ago by a prof that's long since retired.

"The act will recognize the social and economic importance of investing in knowledge and in well-educated, highly skilled people by establishing investment goals."
== That's it in the end, isn't it? All this talk, but the MECHANISM will be 100% money.

To do so, we will have to reshape Canada's immigration and visa policies to attract talented people from elsewhere, whether they come as visitors, or decide to stay as citizens, or return to make a contribution in their own countries."
== We don't care if it doesn't benefit Canadians. We'd rather bring in international students, because we can charge them far more (note: yes, I know the gov't doesn't give them the same money for international students, the rates the schools charge more than make up for it).

"A primary role of the government of Canada in this bold initiative will be to harmonize the investment in learning and innovation across Canada and to co-ordinate the efforts of all levels of government, ensuring that the investment is as effective as possible."
== We'd like to make sure we get our share of the moola. We'd like NDP style spending with conservative style freedom on tuition, and we may need to play provinces against each other to get it.

I, for one, have nothing against money.
Money is good, after all. It lets you pay professors, build buildings, upgrade computers, while keeping tuition low for those that can't afford it. However, that money has to be used for something. Something USEFUL, that actually BENEFITS students at these universities. That's what I'd like to see. Not an act that outlines how much more money our school should get, but an act which forces schools like ours to spend the money appropriately.

Computer Science Woes

Thanks to my Professor for showing me this interesting study from UCLA about Computer Science.

Executive Summary:
  • There were two big surges in CS popularity: peaks at 1983 and 1999 (the latter obviously being the dot-com boom and later crash).
  • During the first surge, lots of women expressed interest, and the fraction of CS degrees given to women nearly reached a whopping 36% (oooh 36%; it's sad when I can look at such a ratio and actually admire it, but 10% was the sad reality of my computer engineering undergrad).
  • During the second surge, women didn't so much as blink. Total overall degrees granted to women in CS is actually falling, as opposed to practically every other field (including engineering as a whole) where it has traditionally steadily increased.
So, if you take their data to be representative and predictive, CS is going to wither to nothing over the next few years, and the few left will suffer knowing they're the only place on campus without living breathing women in their ranks.

We're obviously doing something wrong. Are computers really perceived to be so horrible that only the promise of unthinkable levels of fame and fortune can get people to even try it over a "Would You Like Fries With That?" degree? So bad that less than one in two hundred women in post-secondary education will even enroll?

Can we make computers cool to youths again? What will happen if we don't?


Yes, I'm creating a blog. Yes, I still think blogs are silly. Yes, I'm making one anyway. Yes, I realize that this is merely a temporary concession to my own vanity.

... but perhaps someone may actually care about the things I have to say, and a blog format is great for that. So here I am.

Some of the things that may appear here:
- Reviews of electronic toys / software / services / books that I have interacted with at some point.
- Ideas for new software projects, engineering curriculums, websites, gadgets, etc.
- Criticism of laws and trials.
- Recipies, cooking, food.
- Notification of major events or relocations in my life.

Things that you should all endeavour to punish me for if posted:
- I met this nice girl, she was purdy... oh I so hope she likes me!
- Work is boring. I can't wait to go home.
- I cooked meatballs. Meatballs are good. Mmmmmm meatballs.
- H4w pwn3d! Nerf shamans!

... and I say again, welcome!