Home

Advertisement

Customize

Adventures in time and space...transcribed in future tense!

Jun. 1st, 2009

Feb. 26th, 2009

04:08 pm

"Dear Mr. Taylor:

Congratulations and welcome to the Department of Computer Science at the
University of British Columbia! I am pleased to advise that subject to the
approval of the Faculty of Graduate Studies, you will be admitted to the
M.Sc. program beginning September 1, 2009."

Aug. 14th, 2008

01:04 pm - 1 for 5!


Dear Mr Nathan Taylor,

Congratulations on your admission to the BSc with Specialization program for the Fall Term 2008! For more information on your admission please review the Admission Application Status page in Bear Tracks, https://www.beartracks.ualberta.ca. You must also ensure any outstanding items are received by the deadlines. SVP appuyez ici pour une traduction française/For a french translation of this e-mail, please click on the following link: https://www.csj.ualberta.ca/registraire/admission.htm

Aug. 4th, 2008

12:24 pm

Aah, thank goodness for long weekends, especially when the weather is just warm enough to be pleasant but not so hot as to drive me downstairs to the comfort of my fortress of solitude basement!

So I spoke to Hoover and Sharon about my admission, and the said the reason I keep getting turned down is because I had a year with a GPA lower than the minimum admission requirement (never mind that this was at McGill, in 2003, when I was in the faculty of Music, but yeah...if it's arbitrary and something that will screw me over, it's something the Faculty will do!) They've written me a letter to get me admitted to specialization; apparently Honours is out because I supposedly only have one year with an honours GPA (something that the astute reader will recall is incorrect), but I'm free to take the honours seminar and reapply right before I convocate.

Apparently, I only have three remaining classes to take before I can graduate! I need one generic class and two 400-level CS classes for specialization; one generic class and four 400-level CS classes for honours. Part of me just wants to take it easy and only take a few classes to wrap up this year nicely, but another part of me knows that I'll regret not taking [random CMPUT class] down the road.

For the fall, I'm thinking MATH 217, CMPUT 340, and CMPUT 415, in addition to orchestra, TAing, side projects, and the cluster challenge (have I mentioned that yet? I'm on Paul Lu's cluster team this year, where we set up several scientific computing applications as best we can, fly to Austin, and complete against other schools. I'm the primary on a quantum chemistry program and am one of the sysadmins.) The winter will depend on whether I want to try to squeeze in three 400-level CS classes in a term; or, more precisely, whether I can find three 400-level CS classes offered in the winter that I want to take. Currently, I'm thinking 474, and 497 (a new course of Paul Lu's, which I think is to the cluster challenge what Piotr's problem solving class is to ACM-ICPC), and I'm currently enrolled in 401 as well, but I'm not expecting to stay in that class. If the new chair actually manages to get CMPUT 485 resurrected, then I'll definitely take that as well. So we'll see. Lots of options. :-)

So two of my three summer camps have finished - mercifully, interest in the second robotics camp was so low that it got cancelled, so I get the week off to do random office administrivia and write reports and whatnot. I'll probably write about it after they're all done, but let's just say that my fears about C#/XNA being too advanced for most people, and that people would take the "programming experience recommended" prerequsiste not seriously at all was completly correct, wonder of wonders. Seriously, out of 18 students, three had programmed before. Basically James and I had to run around the room, pretty much just writing people's games for them, and while we were helping others, the rest of them would generally be playing Flash games on newgrounds or whatever. When we offer the camp again in two weeks, I'm going to say that we pretty much spend the first day doing basic programming and OOP tutorials, whether they find it "fun" or not.

It's been interesting to see how these camps have been run; even though I did Discover-E one year, basically my entire summer camp experience was at MusiCamrose (band camp woop woop). Now, see, the thing about MusicCamrose was that it was intense; you couldn't help but become a better musician after spending as much time rehearsing and practicing as one did at that camp. Now, that's not to say that you didn't get time off to goof around and whatnot, but by and large you where there to work>. And it was awesome.

The U of A summer band plays a concert at the music camp every year (which has since moved to Red Deer and renamed itself MusicCamp Alberta), and before the concert I chatted a bit with the trombone teacher, who is an old friend of mine, and also teaching at the camp for the first time. I asked him what he hoped to guide his students towards, and he replied that he wanted them to get it into their heads that they're not in their band class anymore; rather, they're at music camp, so you've got to step up. What a wonderful idea this is! There's no pandering to this notion that "the kids have to be having fun, even if their idea of fun is to be screwing around". I guess I expected a bit more of that and a bit less babysitting / explaining for the seventh time how a loop works. It's sad, because I think that if we made them step up to the challenge, the camps would get a reputation as the place for the most advanced kids to go to, and would form a cache of sorts. As it stands now, pandering to the lowest common denominator doesn't help out anybody.

Jul. 17th, 2008

04:27 pm - 0 for 4.


This application is: Complete
Admission Decision: Ineligible

Your application for admission has been carefully considered. We regret to inform you that we are unable to offer you admission. Details will be sent by regular post.


So either I, in the distant past, accidentally hit on the Dean of Science's daughter, or the problem isn't so much a lack of qualified computing science applicants so much as a lack of willingness to accept qualified computing science applicants. Anyway, Sharon is on the case, getting my file from Science (it never even reached her desk.) She says she'll talk to Hoover after she figures out what's going on.

Now I think I'm going to steal some cars and run over some virtual prostitutes.

Jul. 15th, 2008

02:48 pm - Oh no. Oh no no no no no.

Can somebody please explain to me why on Earth the version of the .NET framework that is running on the Xbox 360 does not contain a [plain old datatype].TryParse() method?! Additionally, the overloaded method signature for Delegate.CreateDelegate does not exist either. Now to slog through these dozens of "decimal does not contain a definition for TryParse()" and "We hate ntaylor" and so on....

Seriously, now. I would like to say that this is a simple oversight on Microsoft's part while porting .NET/XNA, but, really, now. I just assumed that there'd be an isomorphism between the two implementations, and if I run out of time fixing all my code before the camps start, I'll be annoyed. :/

I knew I should have tested this stuff sooner.

Jul. 12th, 2008

07:52 pm - "And I need you to recover / Because I can't make it on my own..."

Just beat Mass Effect! Overall, a fantastic game - certainly the best I've played in recent memory. It didn't end up replicating the je ne sais quoi of KOTOR (partially -- no, probably -- because I didn't spend a lot of my childhood pretending to be a Spectre), so I don't think it'll unseat that in my top 3 all-time favourite games. But it's damned close.

Closing thoughts. Spoilery. )

Now back to fiddling with the XNA 3.0 preview. Sadly all my XNA 2.0 projects are not compatable, so I'm taking this opportunity to learn about how it handles the 3D side of things since a lot has changed since the days of MDX. I'm reading that it's like DX10 in that all the rendering is shader-driven, which handles all lighting and rendering, which seems counterintuitive for basic stuff, but is perhaps indespensible for more advanced things. We'll see.

Jul. 8th, 2008

02:10 pm - When object.this does not reference this object!

So I want to do a few writeups about my CSSC sidescroller engine, mainly as a warning to those who want to rely too heavily on the "magic" of XML, but also because it's probably the largest piece of software I've written by myself, and I'd like to have a record of the silly things it does so I can laugh at myself in the future when I'm so much wiser. However, I discovered something about .NET delegates last Friday that is too good to not describe in its own right.


Cut for brevity and/or sanity. )

I have no idea how I'm going to fix this guy....

Jun. 28th, 2008

06:50 pm - My gForce brings all the nerds to the yard

At long last, my new machine has been built! The specs are more or less what I posted a few weeks back, but I ended up going the dual-core route rather than quad, since I've read it's better bang for your buck for the sort of things I'll be doing (random dev work, video watchings, and games that are not Crysis). However, I made a few changes to the design: two hard drives: one, a conventional 650GB 7200RPM for media storage, but the other is a 300GB 10,000 RPM Velociraptor for extra boot-fastness. Right now it's paritioned 225gb/75gb for Vista 64 (which I just installed), and Ubuntu (to be installed after Steam finishes grabbing TF2), respectively. I expect to spend most of my time in the latter OS, but since games these days are pretty enormous, I felt I should give the bulk of the drive to Windows.

Also, I originally ordered a passively-cooled 8600; however, after ordering, ncix put my order on backorder, so I said "forget it" and looked at what else they had in stock. As it happens, there was a 1gb 9800 GX2 for almost $100 off that day only, so I snatched that puppy up! So my setup is, offically, "balls to the wall".

Played a few minutes of COD4...it's not my kind of shooter (feels too much like it's on rails), but it's very pretty and very well executed. Installed Company of Heroes, which never ran on my old machine, and got >40fps at 1680x1050 and maxed video settings, which thrills me. Who says money can't buy happiness?!?

I did, however, have a bsod right after starting up for the first time, but it hasn't happened since and so I'm tempted to chalk it up to installing some sort of Intel driver while installing COD4 at the same time...or something. If it happens again, well, then I'll be worried.

edit: Dammitall, why does ^W not do what I want it to do in Windows!? If LJ hadn't saved my draft I'd have lost far more than the most recent word typed. :/

Man, so building this machine has been such a pain! The Antec P182 came really highly recommended, but getting all the components stuffed in the case took absolutely forever! The main problem was with the graphics card; it's a really long bugger, and so the hard drives almost wouldn't fit in the upper 3.5" chassis, so they had to be moved to the bottom one, but then the cables would keep touching the fan, so everything had to be unplugged and rerouted, then it turns out the SATA ports were underneath the video card (since, again, it's so long) so it had to be moved to the other pci-e port on the motherboard, which then meant that I couldn't get at the DVD-ROM drive, so everything has to come out, and WHATD'YA MEAN THE FANS AREN'T SPINNING!? and so on, all while trying to make the hibernaculum of PSU cables not in the way at all times... Thankfully, some UACS friends were helpful with getting all the pieces in place, and in the end the inside of the case wasn't too horrible-looking, but surely not up to the standards of many who might read this ;)

Tom Tom Tom, we must partake in UT3, now that I have a hope of playing it!

Jun. 12th, 2008

03:55 am - Work update, and stuff.

Wow, I'm really bad with this whole blogging thing.

So I'm six weeks into the job. I really have struck gold with it - I mean, really, I was planning on spending my summer doing random XNA stuff anyway, but now I get to get paid to do it! Of course, the work can't be entirely pet projects; as I mentioned before, we're trying to get a few sample games with a common framework of classes written for students to build their own games off of. For those kids without a lot of programming knowledge (the camp writeup says "previous programming experience required", but that's vague enough to mean _anything, really, now. HTML is "programming"? sure, right???), if they don't feel up to learning OOP and C#, they can just muck about with the XML data files, adding new monsters, powerups, quests, etc, etc, to games that already exist. Microsoft also has a few (far more glitzy and larger) samples, too, so we'll be including them as well. I'll probably be writing a few more games in the weeks ahead (gonna do a Mass Effect-style dialogue wheel example, mainly so I can realize my dream of having a My Dinner With Andre video game :V

As much as I hate XML, I think abstracting as much game data into datafiles is probably the best way to handle the cases when students feel overwhelmed with XNA. It's not a beginner's tool at all, and sometimes I kind of wish that they'd taken my suggestion and used PyGame or something better suited for an introduction to programming instead. But not all is lost: for this bizzaro datafile stuff means I get to play around with fun .NET reflection and contort the language into ways that the designers probably didn't want. For instance, all game actors and are defined at runtime in these files, so in order to describe, say, behaviour for background images transitioning on and off the screen, the XML schema contains places to give the name of class methods which are treated as delegates and added to appropriate class events. Sometimes I feel it borders on kludgy, but at least I'm not somehow passing anonymous methods in by XML! (I'm not even sure that's possible with .NET reflection anyway...you'd need to dynamically fill out fields in an MethodInfo instance or something, taking the form of meta-meta-data, which is getting into Hofstadterian-levels of abstraction. Too much for me, to say nothing of 15 year olds :) )

I gotta say, I'm surprised with how much I enjoyed writing the ray casting example, which I was furiously debugging when I went out for lunch with Tom last week; it's enough to make me think about doing some sort of graphics research after I graduate. (To back up: because of the lack of linear algebra that most ninth graders have, we can't really do any modern 3D stuff, so all the projects up to this point have been sprite-based. I'd written a Metal Slug-style sidescroller, a Tetris clone, an Ikaruga-style schmup, and so on. However, in my perverted mind, it occurred to me that advanced students who actually enjoy trig might be interested in learning a bit about how 3D stuff works, so I wrote a simple raycaster a la Wolf3D, which is almost entirely linear algebra-free. All ray manipulations are done with angles and trig functions. Slow as heck relative to how it really should be implemented, and lacks such fancy features as non-orthogonal walls at non-right angles, ceiling/floor texture mapping, etc, etc, but it's meant to be a teaching example, no?) Obviously, by any standards the ray caster is not that interesting, but it's really rewarding to be able to see the fruit of your work appear on the screen like that. When work settles down, I think I'm going to reimplement it with a sector/polygonal wall approach, like Doom.

Fun fact: there's a bug in my engine that you can see in that screenshot...a gold star to s/he who can point it out!

So here's some big news: I'm TAing next fall! For those of you who don't know, Science 100 (an experimental 27-credit science class, basically all of your first year science classes melted together to form a solid blob of potential awesome) has a computing science component, and Paul Lu is teaching it, which is totally rad. He knows me from the cluster computing class of his that I took, and he specifically wants an undergraduate student TAing, and my name came up. By the end of the year, they'll have covered the entire 174 curriculum, so this means I have to brush up on my Perl. Been doing that off and on, but really need to make it more 'on'... So as a result, I'm cutting my courses down for the fall: I'll still be in CMPUT 340 and CMPUT 415 (which Bob is teaching...more on that below), and I'm trying to get into a CompE class as well, but apart from those and $MUSIC_ENSEMBLE, that'll be it. Heck, 415 counts for two classes in the workload department anyway, or so I'm told.

Last week I ran into Bob in the hallway (for those who don't know Bob Beck, he's an AICT head honcho, the 'emacs' to Paul Lu's 'vim' in the UACS ediTitans competition, and a sessional lecturer in the department (he taught the other 379 section this winter, and is taking over Schaeffer's 415 in the fall.) He's generally referred to as "Bob Beck Colon Internet Superstar" among the undergrads since his name tends to appear on high-profile manpages), and I was queried as to whether I would be interested in "exchanging sleep for money" - the OpenBSD hackathon is being held in Lister this year, and they need people to watch over the room while people sleep to make sure nobody walks off with laptops and stuff. So since I'm all about exchanging sleep for money, I happily agreed, so I code XNA during the day and play bouncer at night, which is why I'm blogging at 4:30 AM (not a cron job I swear!). In the last 48 hours I've slept...hmm, four hours? Thank god for stimpacks^W Red Rave and coffee, but even that is no substitute for a nice warm bed. Perhaps I shall look into such an idea for tomorrow night.

Today's full-day First Aid training course will be two tonnes of fun. Hoo boy. :V

Current Location: Lister conference centre
Current Music: Fifty case fans whirring, all alone in the night

May. 22nd, 2008

11:13 pm - ...and this is how we say goodbye in Russian, Doctor Jones.

Just got back from Indy 4, and wanted to get some thoughts down before going to bed.

First off, I should say that I really, really liked it. There will probably be a fair bit of complaining in this post, but by and large the negatives don't even come close to outweighing the positives. In my partial ordering of the movies, it would go Last Crusade > Raiders > Crystal Skull > Temple. It sort of makes sense to group Indy 4 and Temple of Doom together, as they're actually quite similar.

Thar be spoilers. )

Anyway, I'm tired and will trot off to bed now, but suffice it to say that it's really good and you all should see it.

Current Music: Genius of the res-tor-ation!

May. 20th, 2008

08:04 pm

Random epiphany of the day: the Citadel procenium in Mass Effect bears a striking resemblance to the Coast Terrace Inn's central garden/restaurant. Coincidence?

May. 10th, 2008

11:02 pm - Naturally, Bioware would get snow effects in a video game right.

So even though I was supposed to write about GTA4, to be honest, I've been spending all my 360 time playing Mass Effect, actually. Of course, as Tom says, it indeed rocks, but I'm not into it quite as much as I was into KOTOR...at least, not yet. I think it's possible I'll get there, though; after doing some thinking about this, I've concluded that it embodies things I love about my favourite three games, so by the end, I should be loving it.

For the uninitiated, my top-3 list goes thusly: 1) Starflight, 2)Deux Ex, and 3)KOTOR. The resemblance to the third game in the list should be obvious. Even at a superficial level, it's clear to see that Mass Effect follows in KOTOR's footsteps: basic story structure is very similar (that is, "oh look it's a bioware game...here's the Towers of Hanoi puzzle, here's the twist*, etc), with streamlined gameplay. I wasn't sure how the quasi-FPS combat would hold up relative to KOTOR's turn-based combat, as I've seen it done badly so many times before, but it's actaully a blast. It feels like a sloppy Gears of War, actually (not "sloppy" as in "badly executed", but "sloppy" as in "my character can't aim because he's at level 1 and there's still a stat/character component to the gameplay").

It's not all sunshine and roses, though. The non-combat control scheme took a step backwards in my opinion. In KOTOR, you used the triggers to switch between points of interest on the screen (characters, items, etc), whereas here, you basically have to orient the camera straight at what you want. This becomes a little bit frustrating when you can't see precisely where the item of interest is (a surprisingly common problem, especially when you're looking for, say, a switch on a column or something, and it turns out to be hidden behind another column). Also, the driving sequences (which I'll talk about in a bit in terms of Starflight) are a bit frustrating to control; the vehicle moves in the direction that the camera is facing, rather having a GTA (or really, _anything else_)-style "left analog stick controls direction relative to the camera's direction-control scheme, making defensive maneuvers in the heat of battle a royal pain in the neck. (Just try to do a 3-point-turn while under attack from half a dozen Geth!)

It's also not hard to see Starlight's influence on the game. One of the things that I really didn't like about KOTOR was the economy of planets; there were only enough systems to visit that were required to finish the main plot. On the flip side, Starflight was almost GTA-esque in its freedom to visit random planets, land and drive around on the rover, maybe discover some ruins of a long-lost civilization, etc, etc. Mass Effect, while not nearly as nonlinear as Starflight, moved in that direction, and I love it. Love it love it love it. And not just in terms of "hay there's a planet that I don't have to visit here". Going from the Normandy in orbit to the Rover on the ground, to getting out of the rover and exploring on foot, does wonders to settle me in the game world.

The comparison to Deus Ex is a subtle, and admittedly, iffy one, but I think it's worthmentioning. One of my main criticisms of semi-recent Bioware games is that they tout multiple paths to solve quests, but by and large, the only difference occurs in which dialogue tree you choose (ie. the Light Side/Open Palm/Paragon path where you're a total goody-goody, or the Dark Side/Closed Fist/Renegade path where you're a jerk to everyone you meet). There's a liiiitle bit more variety here - just tonight, for instance, I had the option of storming a corporate office with the security system ablazing, or sneaking around to disable the security system, making the combat a bit more manageable. Now, it's not really Deus Ex-ey, since I didn't know that I could even disconnect said security system until I went along hacking every machine I could find in another part of the complex and I got a message saying that I just made my life easier. If they'd taken this idea one step further and made it more like Deus Ex, then I'd surely be in love.

Wow, them's a lot of works about a video game.

* I actually don't know if there's a twist in Mass Effect, but I'll be damned if there isn't.

May. 6th, 2008

10:44 am - All's well that ends.

Nothing wrong with a 3.57, I guess )

Started the summer job this week. Been doing a lot of C#/XNA fun stuff. Hopefully the framework that the kids will be building off of will be finished this week so we can start writing some sample games with it. I think, overall, I'll enjoy this summer a lot more than last year - it's far less stressful so far...I don't feel the need to impress everyone, which means I'm way more relaxed, and, ironically, in a far better mindspace to code well!

Also, since I'm now gainfully employed, I have now joined the wonderful world of next(read: current)-gen console gaming! Picked up a 360 with GTA4, Mass Effect, and Gears of War. Gamertag is "Safeway Sushi" for those of you with Xbox Live, since I figured Dijkstracula is rather unpronounceable if you don't know who Dijkstra is.

Hokay, back to writing this GameScreenManager class. Be back later with some thoughts about GTA4.

Current Location: CSC 1-21

Apr. 23rd, 2008

10:46 am - Yet another year down, one to go.

So I finished the last of my exams on Monday. At the moment, I only have one mark back - I completely botched my group theory final, worth 60%, so that dropped me almost full letter grade to a B. I went to see the prof to find out my mark and he was really annoyed with me. I'm annoyed with myself too.

I think everything else went semi-decently, though. My c399 project -- benchmarking the HPC software used at the Supercomputing 07 challenge -- didn't go spectacularly well, since GAMESS (a quantum chemistry simulator) is an enormous kludge of FORTRAN and csh scripts and refused to not ask for 2^63 bytes of memory to be allocated to it, regardless of compiler/compiler settings. What's even stranger, I traced the call stack from where the software terminates, slogging through wrapper functions-within-wrapper-functions, and I reach a function that never gets called. Ever. As in, grepping for the function name yields the function prototype and two commented-out preprocessor directives. So either it's a shared library issue and had something to do with how the cluster I was testing it on was set up (unlikely since it's a production server running in Nanotech), or at least one of me and the software is on crack.

c299, the network security class, in general, didn't really go well for anybody. It was the first time the class was offered and there were a lot of problems with this first dry run. Next year it's going to be a 300-level class with actual prereqs, which I think is a wise idea. Now, hopefully Yannis will be generous with the scaling, all things considered...

c379, I think, will be okay. I completely botched the third assignment (it was the page replacement simulator, and I basically broke my implementation to try and track down some strange bugs, only to find that the lab machine I was sshed into was dying and introducing a certain amount of ... non-determinism, shall we say, into my results), dropping me from 2nd to 7th, but with any luck I'll annihilate the final like I did the midterm.

Of course, nothing stays static with regards to what I'm taking next fall. It turns out 415 conflicts with honours calculus, so I've decided against doing an afterdegree in Math. Instead, I'll just apply to grad school straight out of CS, or just find a job if I'm truly that sick of school, or whatever. So next fall, it looks like I'll be taking 411 and 415, Math 322 (graph theory - a cakewalk after 304), and probably Symphonic Wind Ensemble for credit, just so I can keep my credit requirements up for Honours, assuming I get in this time. Next winter is still up in the air. Bob Beck, one of the lead OpenBSD developers, sessional instructors in the department (he taught the other 379 section this term that I sat in on), and all-round awesome guy, may or may not be reviving Pawel's c485 class, and if this happens, I don't care what I have to swap out in order to make room for this, so we'll see.

I've already started prepping for my summer job. I can't remember if I've mentioned it yet, but another undergrad (James, from my c301 group, and who posted below about my upgrade) and I are developing and teaching the CS department summer camp's Build-Your-Own-Video-Game camp. Since XNA is sort of the sexy thing these days, we'll be teaching the kids C#. I think the big thing will be cutting down the scope of what we'll be teaching them, since we can only "recommend" that they have programming experience before coming in, and usually with this ageset, "programming" is "HTML", so yeah... 3D stuff is right out, but I'd like to spend some time talking about AI opponents or networking, if nothing else. So yeah, I'm gonna spend today reminding myself how C# delegates work, start prepping for the programming club meeting on Friday, and maybe get a bit of TF2 in.

Aahh, summer! (for some epsilon of summer - I mean, come on now, it's like January in Montreal out there)

Apr. 19th, 2008

12:45 pm - Upgrade time!

So I'm tired of not being able to play games on my 3+ year old machine. It's clandestine massive upgrade-under-the-noses-of-the-parental-units-time!



Any thoughts, computer-people? The reason I want to go for a quad-core is mainly for any HPC-related stuff I might find myself doing, and less because it's the only way to get SupCom running reliably. (Additionally, there will be 4GB of RAM in there, but Memory Express was sold out of the 2x2GB stick bundle I wanted so it's not in my shopping cart yet.) I figure SLI is too decadent, so I didn't go for that.

Now it's back to 379-cramming time.

Mar. 3rd, 2008

06:09 pm - Coming up for air, if only for a second

I may have spent close to 24 hours on this blasted 379 project, but at last it's working! Now to redo it with pthreads...

I'm overdue for a big honkin' update, I know. It'll come after this is handed in, I swear!

Feb. 19th, 2008

07:33 pm - Two year plan

I just received permission to switch into the Honours calc stream. So this is what my life is going to look like for the next 30 months, until I'm finished my afterdegree.

Oh Jesus.

05:25 pm - At last, a break!

Three cheers for reading week! Even though I have an enormous amount of work to do before next Monday (three midterms to study for, a paper to write about distributed programming using Erlang, the big honkin' 379 assignment, etc, etc) it feels great to not have to get up at 7:30 every morning.

So I've had a week or so to play around with the MacBook Air, and so I've probably had enough experience with it to write down a few thoughts. First and foremost: wow, OSX is a great operating system. Granted, I've fiddled with it on the UACS iMac and didn't care much for it, but once you learn a few idioms it becomes super comfortable to use. I haven't used a MacOS since OS9 (arguably the WinME of the Apple world) so it's nice to see how much things have improved.

Yes, it's light. No, it doesn't feel particularily breakable. The number one comment I get from people is "oh no, are you worried about damaging it?", which strikes me as odd given how sturdy it feels. I think that if it was made out of the same plastic as the MacBooks, then they'd have a point, but the MacBook Pro's brushed steel-ish material feels just fine. Having said that, I don't want to ever drop it to find out just how much punishment it can take. A lot of people made fun of me for buying a machine without ethernet, optical media, and only one USB drive. It hasn't been an issue for me so far. I mean, I've got a desktop for keeping my printer and 24/7 torrenting operational, so the fact that I don't have a wired network option isn't a dealbreaker.

The only problem I have with it is that Escape Velocity: Nova has some strange blitting issue D:

So I got a job for this summer. It's a total change from last year's research position; I'll be an instructor in the CS Department's summer camp! I think it'll be good to see if I'm any good at the whole pedagogy thing. The interview didn't go that well until they asked if I'd ever done any XNA-type stuff (I haven't, but I spent a lot of time fiddling with MDX a few summers ago, which was good enough). I'm not sure how wise a choice XNA is, especially if the kids have never done any programming at all. As much as it pains me to suggest another language, I've heard good things about pyGame, and Python should be far easier for them to pick up. Failing that, I guess I'll be spending the first few weeks of summer feverishly writing some sort of framework that will hide all the backend stuff from the students...too bad, since that'll be useless to them once they leave the camp.

Oops, I'm due to meet someone in Van Vilet to work out in -2 minutes. Gotta run.

Feb. 8th, 2008

08:27 pm

I never need to come up with another pun again!

ntaylor@ohaton:~>grep ^p[eu]n /usr/share/dict/words > awesome.txt
ntaylor@ohaton:~>grep ^p[eu]n /usr/share/dict/words | wc
585 585 6234

Yes, this will surely get me sent to the punitentiary for some punishment, along with the rest of the punks. And, uh, something about punctiliomongers, whatever that is. (/usr/share/dict/words has some really obscure words! I guess that's what you get when you use an out-of-copyright dictionary from like 1913 or whatever.)

Navigate: (Previous 20 Entries)