My Weekend Routine

February 18th, 2008, 12:12 am PST by Greg

Since I have been living the non-swinging bachelor life, my weekends seem to have been settling into a routine. Here is the most typical weekend plan:

Friday night
Sit on the couch. Stare blankly at TV, trying to recover from the week.
Saturday
Loaf around the house, pretending I’m about to be productive at any moment, but mostly wasting my day. Possibly run a few errands in the afternoon. Possibly even do something social in the evening.
Sunday
Start the day by hopping on the bike and doing a round trip around SFU (which takes about an hour). Celebrate my healthiness by having Taco Del Mar for lunch. Maybe some errands in the afternoon. In the evening, remember that I have no food in the house and get groceries at about 10:00.

The Saturday/Sunday things can swap days, but they’re otherwise pretty consistent. Sometimes, the Taco Del Mar will be replaced with some by some other Mexican-ish fast food.

Some actual productivity might happen at any point, but most likely on Sunday evening. That’s when I remember the things that really have to be done by Monday.

There was definitely less wasted weekend last semester, since I was a lot busier. This semester, I can afford to actually have most of a weekend. There’s something to be said for that.

Academic Enhancement Program

February 15th, 2008, 12:37 pm PST by Greg

For the last few semesters, we have been piloting a learning skills program in our first and second year classes. The program is called the “Academic Enhancement Program” (AEP), simply because we felt it had to be called something.

The deal is: each class that is touched by AEP (CMPT 120/126, 150, 225, MACM 101) dedicates one week of labs (or equivalent) and a couple of percent to a learning skills session.

On Wednesday, I went down to Surrey to facilitate sessions for CMPT 120 there. Diana Cukierman usually does the sessions (with somebody from Learning Commons), but she couldn’t go. I’m maybe the only other one who know the CMPT 120 session well enough to lead it. Thus, I had to miss CMPT 376, as I said earlier.

To give you an idea, the session for CMPT 120/126 is a bit of a sampler platter (since it’s the first one students typically see) and contains:

  • time management: where does the time go, basic time management skills
  • study skill scenarios: “Beth is a CS student who can’t… What is your advice to Beth?”
  • learning hierarchy: levels of learning (recall, understand, apply, analyse, evaluate, create)

A lot of first year students get caught on these things. Time management is, of course, an issue for everybody. There’s no magic bullet, but we can give some tips.

The learning hierarchy stuff is more interesting (to me at least). A lot of struggling students get stuck on the first few levels of learning: “I understand what a for loop does.” But then, we ask questions at the higher levels: “Create a program that…”. The gap between the levels is really hard to bridge for a lot of students. The hope is that some students will realize that they’re living at the wrong level and start to step up.

There are different sessions for the other courses. The idea is that all students get four(ish) different learning skills lessons by second year.

I will admit that I was sceptical when Diana started doing these sessions. The turning point for me was realizing that the point isn’t to give an hour and a half of material that’s relevant for all students. If we can ramble on for an hour and a half and have most of the students take away one thing that’s relevant to them, then the whole thing is a huge success. There are a lot of students who are a few study skills away from an extra grade point.

I’m hoping we can turn some marginal students into reasonable students, and some reasonable students into good students. The top students are going to be good no matter what, and the bad students are going to suck no matter what: the ones in the middle might be able to benefit.

So there you go. I did, in fact, miss 376 for a socially responsible reason. Hopefully we can put the whole program into policy in the next few months.

The Crack of Flash Games

February 13th, 2008, 9:23 pm PST by Greg

I had to skip my first 376 lecture today. There was a perfectly socially-responsible reason for it that I’ll try to write about on Friday. For now, I’m tired, and annoyingly addicted to American Idol.

So for today, I will present the crack cocaine of Flash-based online games: Spin the Black Circle. Play it. Do it now. There is a runthrough on YouTube if you’re really stuck on a level (but try to keep the cheating to a minimum).

I finished it (level 24) over the weekend. Kat was making impressive progress through it the last time I checked in. Any game that can captivate both Kat and I must have something going for it.

What’s 376 for?

February 11th, 2008, 7:49 pm PST by Greg

Since my recent blogging spree is for CMPT 376 (Technical Writing, etc, etc), I have been thinking about the course. It seems to me that a lot of people probably don’t actually know why we suddenly have a writing course in CMPT.

A couple of years ago, the University introduced requirements for all SFU students (that started after a certain time). Now, if you want to get a degree from SFU, you have to have taken:

  • Two writing (W) courses. One of these has to be in the upper division (300 or 400) and probably in your own discipline.
  • Two quantitative (Q) courses. These are math-like courses, but don’t have to be MATH.
  • Eight breadth (B) courses: 2 humanities, 2 social science, 2 science, 2 others. These are courses outside of your discipline.

That sounds like a lot, but you can double-count all you like. So, a philosophy course could count as both W and B-Hum. These courses can also count towards degree requirements: a CMPT student that takes MATH 151 fulfills a degree requirement, and gets Q credit.

Anyway, back to CMPT 376. Since CMPT are good members of the University community, we introduced this as a “discipline specific” writing course. That will let our students fulfill the University’s upper-division writing requirement in a way that’s (presumably) relevant to them.

There was talk of making CMPT 320 (social issues) a W course. That course has a lot of problems of its own. We ended up deciding to go for a dedicated, functional writing course, rather than a disfunctional course that did two things badly. Plus, a lot of our students could use a full three credits dedicated to improving their writing.

Because Ted’s a good person, he agreed to design and (initially) teach the brand-shiny-new writing course. So far it has been quite interesting. Ted is a very different kind of instructor than I am. Usually when I say that about somebody, it’s not meant to be complementary, but in Ted’s case, though, I’m really enjoying the course.

I keep oscillating on whether or not I would want to teach the course. Some days, I’m excited to give it a try. Some days, the very idea terrifies me: what the hell makes me think I know anything about writing?

The Un-Snow-Day

February 7th, 2008, 2:05 pm PST by Greg

As most of you know, I was stuck on Burnaby Mountain last night, along with several thousand of my closest friends.

The more I think about it, the more I’m annoyed by people blaming the University for all of their woes. First, it’s not the University’s responsibility to wipe your nose and pat you on the head every moment you’re on campus: working/studying on a mountain with a single choke point to leave comes with some risks. We have accepted those risks by coming here.

Second, Burnaby Mountain is a microclimate, and there is just no way to get a reliable forecast for the weather up here. There have been plenty of other days that have been as bad as it was at 3:30 yesterday, and everything was just fine. The University can’t close every time there are a few flakes floating around.

Yesterday, things went from bad to worse very quickly. I was sitting in my office, thinking it was snowing a lot and that I should maybe leave before the rush. By the time I finished a couple of emails, the buses had stopped. There just was no way to get 8000 or so people off the hill in the time window they had to work with.

Then, the roads were clogged with cars. Cars everywhere mean no plows can move, and roads get worse. At some point, I think Security blocked some roads to let the plows get around, and things started to get better

By 9:30, the official message was “some traffic is getting through, but the roads are still bad; we don’t suggest you drive without chains or snow tires.” That was a good message: it kept people leaving in a trickle and crawling down the hill.

I drove Daniela’s car down around then (with her and Nathan), and it was fine (as long as you drove appropriately to the conditions).

This morning, I sent the following suggestion to the emergency preparedness people:

When the roads start to get really bad, close them to private vehicles immediately. Allow only plows, emergency vehicles, and Translink on the roads above the lights. Last night, I suspect the roads could have been kept passable if they weren’t littered with cars, and buses would get as many people off the hill as possible.

That would leave plenty of room for the plows to clear the roads. (Remember: we’re only talking about 2 km or so of roads here. One plow could easily keep it passable if it can move.) If Translink could run a regular schedule of buses, it would have cleared campus in an hour or so. People determined to drive their own cars could then be released slowly (to not create gridlock).

I really think the root problem yesterday was crappy driving. My impression was that every time an accident was cleared, traffic sped up and caused another one. If you aren’t experienced driving in snow, don’t: wait it out or take the bus. There was nothing the University could have done to keep idiots from slamming into each other in the middle of the one intersection off campus (except keeping them off the roads).

Bright points from yesterday: John Grant standing in the ASB exit for probably 3 hours, yelling at the top of his voice about the current road conditions and safest thing to do; Kate Ross, the Registrar herself, standing in the AQ for the same length of time, handing out free coffee tickets and answering questions about the conditions. She could have fobbed that off on an underling and walked home (since she lives on the hill). My platonic crush on Kate continues.

A group of complainers has at least posted some good pictures of the exodus.

Amanda :-(

February 6th, 2008, 1:06 pm PST by Greg

As many of you know, Amanda has left Computing Science. Amanda was the manager of the recruitment, advising, and promotions team (and other stuff). Since I’m the undergrad director, and interested in recruiting, we always worked closely together.

She has moved on, and is now the Manager of International Recruitment and Partnerships. Good job. Leaves us with a big hole to fill. Unfortunately, it also causes a lot of work for me.

First of all, somebody has to lead the team while the position is vacant. This is one of those situations where I looked to the left, looked to the right, and realized everybody was looking at me. Annoyingly, I am unique in that (1) I know all the parts of our admissions/recruiting activities, (2) as undergrad director, I can do the strategic decision making, (3) I don’t want the job, so I’ll happily give up all of the responsibilities when a replacement is hired, and (4) it can be argued that I have the time to actually do it.

So, I suddenly find myself the unofficial supervisor of something like eight people. Fortunately, the team is pretty good, and doesn’t actually need much guidance. I’m hoping that their “supervision” will consist primarily of occasionally asking “is everything going okay?” and making sure nobody else meddles with the team dynamic.

Of course, we have to hire a replacement. Since I’m the one that dealt most closely with the position, I’m doing a bunch of legwork on that. The job description has to be revised, and the job’s pay grade reevaluated. HR is resistant to upping the pay grade for some reason, but we really need to bump the pay to get decent applicants. All of this is very bureaucratic and a little painful.

Basically, if I never have to talk to HR again, I’ll be fine with that. Overall, it’s probably good experience for me. Amanda still owes me, and revenge will be mine.

My day in six word sentences.

February 4th, 2008, 5:28 pm PST by Kat

The HPLC is $*#&%^@ broken… again.

Got home and found a papercut.

Why does life hate me so?

I like blogging with six words.

My 6 word life

February 4th, 2008, 12:37 pm PST by Greg

I’m feeling a little directionless today. I have a bunch of possible blog topics queued up, but none of them are really calling out to me. So, I’m going to tell some six word stories that summarize things.

Not teaching causes lack of structure.

Lack of structure causes low productivity.

Teaching students is addictive: in withdrawal.

I don’t care about HR issues.

Two day weekends are too short.

I find the Superbowl fundamentally uninteresting.

Could live with wife any time.

To: Eugene

February 1st, 2008, 12:59 pm PST by Greg

Subject: Re: WANT

So, Eugene is eyeballing a digital SLR, specifically Canon’s recently-announced Digital Rebel XSi. I have the old Digital Rebel XT, and the model in between is the Rebel XTi.

There are a few differences through the product line. There’s a nice feature comparison of the XTi and the XSi to look at.

Sadly, I’m going to give Eugene the advice of his prototypical photography nerd and say that blowing money on the new body isn’t worth it. If it was me, I’d get the XTi body on sale and save a couple of hundred bucks.

The only feature that I see on the XSi that I would personally pay more than a few bucks extra for is the 3″ LCD. The display on my XT is 1.8″ and I find it a bit small (and thus the review image small and not as useful as it could be). But the XTi has a 2.5″ display, so I don’t think the XSi is worth much on top of that.

The mirror-up functionality might be nice, but I suspect it’s more of a gimmick: I can’t imagine using it very much. The spot metering is a little confusing for me: I think the thing my XT does is called spot metering; I can’t imagine they dropped it for the XTi.

The simple fact of digital photography is that the metering isn’t usually all that critical: you have immediate feedback on the levels because of the display. If the metering was off, adjust and take another shot. I think I end up flipping to manual exposure more often than most: in a difficult situation, decide what exposure should be, set it, take shots, adjusting a little as necessary.

Yes, my advice is to spend on glass. I’m quite happy with my Sigma 18-50mm f/2.8, and I just ordered a 30mm f/1.4 for even lower-light goodness.

For the love of god, don’t use the kit lens. Would you buy a $500 graphics card and hook up an old 14″ CRT to it? I took a couple of quick comparison shots with my Sigma zoom and an old Canon kit zoom I have last night. I didn’t have time to get much useful stuff, so I can’t really post comparisons. Maybe I can do something once my prime 30mm comes.

My initial thoughts after last night: my Sigma zoom isn’t appreciably clearer than the kit lens (but a prime lens might be). The colour for the Sigma lens was noticeably better (with the same exposure, lighting, white balance, etc).

Five things I hate about Python

January 29th, 2008, 10:15 pm PST by Greg

A while ago, I stumbled on somebody else’s blog entry Five things I hate about Python. The game (apparently) is to pick your favourite programming language and pick five things you don’t like about it.

This seems most common among the Python crowd: Python 2, Python 3, Python 4. It’s probably because everybody loves Python. But, I did manage to find a few others: C,
Vista, Linux.

So, here are my five things:

  1. No parallelism. The Python interpreter has a global lock that makes it impossible to parallelize execution. My processor has two cores, multiple pipelines, and a vector unit. Wouldn’t it be spiffy to use those? I have used the Parallel Python module to get around this (by spawning multiple interpreters), but it’s a hassle, and only applicable in certain cases.

    To be fair, this is a common problem in imperative languages, which force the programmer to precisely specify how thing are calculated. It’s much easier for a compiler to parallelize things in functional language, which have the programmer specify only what is calculated. Maybe Haskell is the answer to all of our problems? Hey… why are all the 383 students looking at me like that?

  2. Late Binding. This is the mechanism that allows the beauty of duck typing, so it’s probably a net win. It comes up in situations like this:

    def add(a,b): return a+b

    Until the function is called, there’s no way for Python to know whether the + there is addition, string concatenation, or something else. So, when each statement executes, Python has to decide what operators (or whatever) to use at that moment. The net result is slowing the language down a lot.

    Apparently PyPy has some improvement here, and Pyrex allows extension modules with early binding.

  3. Type confusion. I don’t know if it’s the duck typing or weak typing, but beginning programmers (aka CMPT 120 students) often have problems getting the type that a particular value has. I very often see students converting a type to itself. For example:

    name = str(raw_input("Name: "))
    count = int(0)

    That indicates some serious confusion about what’s going on. Or maybe I’m a bad teacher. I’d accept that as an explanation.

  4. GUI libraries. The standard Python install comes with only a Tk binding for GUI development.

    I really wish wxPython came with the default install. Then, we could all use it and assume it would be there. It would make Python a pretty serious contender for cross-platform GUI development.

  5. Standard library. One of the principles of Python is that “the batteries are included”. In other words, the libraries you need are there by default.

    That’s usually true, but there are a few things I wish were always there. The Python modules that I seem to have to install the most often are: Biggles, Imaging, Numarray/Numeric, Parallel Python, PyGame.

    As an aside, maybe if the Imaging and PyGame modules were accepted into the standard library, there would be some pressure to get some good documentation going for them.

« Previous Entries   Next Entries »