Universities Withdraw Support of Macleans University Survey/Ranking

I have never thought highly of Macleans Magazine's annual university ranking. Finally it looks like the universities are taking some action against Macleans. It was announced yesterday that several universities have withdrawn support for Macleans university ranking. 11 universities in fact, including the University of British Columbia, Simon Fraser University, University of Alberta, University of Calgary, University of Toronto, and McMaster University. Apparently the have "reservations about the methodology." I have reservations about the methodology as well, however, a more basic problem I have is that I do not think it is possible to "rank" universities at all and also that it is not productive to do so. If anyone wants to spend any time ranking "universities" their time is better spent ranking "programs" or better yet, classes or professors. One university might have the "best" agricultural sciences program in the country while at the same time having the "worst" medical school program in the country. This kind of information is completely lost in the Macleans rankings.

Book Swapping

I'm not sure why I bothered signing up at whatsonmybookshelf.com when it turns out there are many other sites out there doing the same thing. Some of the other sites have a much larger selection of books as well as different points systems.

The first site was sf-books which trades in sci-fi and fantasy books. I might check that out when I want a new sci-fi book. I don't have a ton of sci-fi I'm ready to give away yet though.

bookins.com has an interesting system. It is a flat rate $3.99 for every book you receive. Sending books is free, using labels that can be printed on your own printer. Alas, when you try signing up, I get this "Bookins does not ship internationally. We ship within the United States and to U.S. Territories." If there was a website like this in Canada that would be great. At the bottom of their pages it says "US Patent Pending." If they didn't patent it in Canada it might be possible to copy their idea exactly.

bookcrossing.com goes a bit like this: "the practice of leaving a book in a public place to be picked up and read by others, who then do likewise."

titletrader.com - Swapping of books, CDs, DVDs and available for Canadians.

There are a bunch more book swapping sites at Wikipedia.

I'm thinking of giving up on whatsonmybookshelf.com and going with bookmooch.com for any future books I want to get rid of. It has far more books than whatsonmybookshelf.com (see here compared to whatsonmybookshelf.com which only has 400 or so books). I like bookmooch.com's points system better:

Action Points
Add a book to inventory + 1/10th
Give away book (within your country) + 1
Give away book (to another country) + 2
Give away book that's on their wishlist + 1 additional
Mooch a book (within your country) - 1
Mooch a book (from another country) - 2
Acknowledge receiving a book you mooched + 1/10th

I like how you get more points for sending a book internationally, something that isn't accounted for on whatsonmybookshelf.com.

Recipe Matcher - Find Recipes Based on Ingredients You Have

Recipematcher.com is a recipe website where you enter in all the ingredients you have and you can then search for recipes that use those ingredients (the results are sorted by which recipes require you to buy the least numbers of ingredients). It's a great idea. Too bad that updating the list of ingredients you have on hand is a major pain in the ass. I filled it out quickly and for some things I checked off the box even though I didn't have it because it's something that I have no problem buying or having extra around. Like onions, tomato sauce, or chicken breasts. I don't any of those around right now but I have no problem buying them because they will easily get used up.

The one great thing this website could be useful for is finding recipes that use ingredients I want to get rid of. It is always satisfying to get rid of an ingredient that I've had in the cupboard for months. There's no way I'm going to update this website's list of ingredients I have on hand though. I may just tweak it by adding some ingredient that I want to get rid of and then using their search option that finds recipes that MUST contain a specific ingredient. I am not so sure how useful this is as Google can pretty much too the same thing and probably has access to more recipes than this website does. I have used this Cookin' With Google form in the past. There's also Google Base Recipes, which currently contains 1.12 million recipes.

Greens and NDP Should Swap Ridings Next Election

I saw this article today "Beating Harper: NDP + Greens?" about NDP + Greens joining forces being a great solution (since we don't PR) to beat Harper. I look at it more as a solution to reduce vote-splitting, not at a way to "beat" any particular other party.

I also agree that this is a great idea; however, this will never happen. I think a better idea would be to trade ridings. Based on the popular vote numbers from the last election the NDP and Greens could work out some riding swapping mechanism whereby the Greens won't run in x ridings of the NDP's choosing, while the NDP won't run in y ridings where the Greens were strongest. It should be computed mathematically based on last year's popular vote in a very clear and scalable way, so that if the Greens were to suddenly get 10% of the vote next election the number of ridings the NDP would "give" to the Greens would increase proportionately in some way without leading to bickering, only leading to continued proportional representation for both parties. I'm not sure if those two parties could ever agree to this. They all seem to be blind to the fact that we are living in a non-PR system, where running 2 left-wing candidates in the same riding is just stupid. It would be like having 5 separatist partites in Quebec. What a dumb idea that would be. Running Greens and NDP in the same ridings, ridings where one or the other has a slim chance of winning, is equally as dumb, although just less obviously dumb.

One negative side-effect of such a scheme is that it would essentially lessen the motivation for actually implementing PR in this country.

One interesting factoid in the article: "In an article published in Canadian Forum in 1989, former NDP MP Lynn McDonald called on the NDP to be the Green Party of Canada." Probably would have been a good idea. They would have grabbed the Green name ahead of the true Greens, preventing the vote split that exists today, and with the support of labour-votes we could easily imagine the Green party having seats today if Lynn McDonald had her way.

There is lots of discussion over here, which I'm not sure I want to get involved in.

Swiss "public" toilet

I thought this Swiss public toilet in Basel was pretty funny. I think it would be fun to pee in there. As someone pointed out it may not be a one-way mirror at night.

Updated to Drupal 4.7.3

Just updated to Drupal 4.7.3. Drupal says there are no feature enhancements, but looking at the diff it looks like they added support for zip compression if the server and client both support it.

Updated (2006-09-09): Actually I was wrong about the gzip compression thing. See comments

Farting Preacher

The farting preacher videos are just too funny. Here are all of the farting preacher videos on Google Video. Here's one of the best ones:

Review of the Vancouver Python Workshop

I attended the Vancouver Python Workshop this weekend and had a great time. What follows is a brief chronological discussion about the talks I attended:

Friday:

Guido van Rossum's Key Note presentation: Guido talked about Python 3000 and the various things he has in mind for it. He has a clear idea for what kinds of changes he want to fix, but a lot is still up in the air. Some of this is documented in PEP 3100. Here are some of the things I wrote down (that seemed important to me):

  • range won't return lists anymore, xrange will be killed. I use xrange all the time so I will have to stop! range will return an iterator so I assume one will have to do something like list(range(n)) to create a list now.
  • All strings will become unicode. Whereas now there are string objects and a unicode string is a different beast, in Python 3000 what we now call strings will just be like byte arrays and what we now call unicode strings will just be strings (because unicode will be default).
  • <> will be dropped as a not-equal-to operator.
  • exec and print will become functions. This is great because now you can easily replace occurences of the print command in your code with a custom function like debug or logger...
  • apply, filter, map, reduce will all be removed.
  • list comprehensions will no longer leak into the surrounding scope. I've noticed this recently and it will be nice when this is gone.
  • lambda will stay. Guido has been convinced to keep it in the language.
  • Replacing raise E, arg: in favour of  raise E(arg)
  • The ability to use `x` as an alternative to repr(x) will be removed
  • Guido said something about perhaps allowed function to be overloaded by definining the types of the expected arguments but I didn't catch everything he said on this and I dont' see it written in PEP 3100.

Code migration from < Python-2.4 will be achieved through tools like PyChecker or PyLint for 80% of the work and version of Python 2.x that warn about "doomed code."

Overall I really enjoyed Guido's talk and I instead of talking about it anymore, you can basically watch the entire speech here:

It is pretty much the same slides with maybe a few changes. He admitted that it was the same talk he gave at OSCON 2006 but that he improvises a lot.

Jim Hugunin's Key Note: Jim (created of Numeric, Jython, and now IronPython (.NET)) gave us all an overview of IronPythono and what it can do. It is pretty amazing. Imagine accessing all of .NET's libraries and framework without having to code in C#. Or to code up a bottleneck in C# and call it from python code. Iron Python has released a 1.0 release candidate and it is released under a BSD-style license. I was very interested in the possibility of using IronPython as a language for numerics with some C/C++/C# running the time-consuming stuff. Jim loves the CLR and actually mentioned that he would love to port NumPy to the CLR if he could get 6 months time off to work on it. It was an awesome presentation and Jim went through a lot in 45 minutes.

Saturday:

Q&A with Guido van Rossum:

The most interesting question was something along the lines of "what is your favourite GUI toolkit/wrapper for Python" and Guido's answer was Tkinter. The interesting part was when Guido said he thought GUI toolkits were on the way out and that web apps are instead the way to go. He said using the web model where half the work can be done on the server and half on the client and things can be shared over the network is the way of the future. He also said that we have good GUI frameworks for the web already.

The other thing I found out from the Q&A was that Python has an education special interest group, the Python EDU-SIG. Apparently some schools are already starting to teach Python in introductory computer science courses. I think Python would be a great course for high school students as well as for university students in many courses, in fact any course that doesn't absolutely require another language for some reason.

Jim Hugunin: more about .NET, great presentation

Bradley Lawrence (from Rapid): Great information on how to convince your boss that Python is the right tool for the job (rapid development time, easy to bring new hires up to speed, mature and stable, support (ActiveState), license not viral). He talked about their RapidData application

Tom Weir: Good presentation about SWIG; however, it had the side-effect of convincing me that I should avoid SWIG at all costs unless I really need to use it.

For the rest of the afternoon I attended two panel discussions where a learned a little more about Zope, Plone, general web services using Python, and embedding Python in C, C++, Objective C, Java, and other languages.

Sunday

Jim O'Leary's Object-Oriented Basics with Python: I expected this to be an introduction to Object-Oriented Python for programmers, instead it turned out to be an Introduction to Object-Oriented Basics. I already know OO in Python but there are some niggly details about inheritance that I am still a bit fuzzy on. Nothing against Jim though. It did seem like there were a lot of programming newbies in the room.

Wilson Fowlie: A great talk all about pyparsing. If you need to parse anything, check out this module. Sounds awesome.

James Thiele: A good talk about embedding domain-specific languages in Python. It was a great tutorial, he built up his code slowly slide-by-slide explaining exactly how do go about adding syntax to python for defining syntax for a edge for a weighted graph (such as n1->n2). He slides should be on his website soon.

Anthony Howe (from Voice Mobility: Interesting application called WebFeeds that sends you RSS feeds to your voice mail. The ascii to voice translation was done using NeoSpeech and it sounded so good that I didn't realize it was not a real voice at first.

Lightning talks: A quick talk about Django (which I am really excited about) and many, many other talks (5 minutes each). The work going on at rPath sounds interesting.

Ian Caven: Great talk showing off the movies his company has restored over the years. The bulk of all the algorithms that he coded for restoring movies is done in Python with Numeric, most likely with an old version of Numeric. They have something like 50000 lines of Python code and about the same amount of legacy C++ sharp code which I assume is called from Python.

Overall I really enjoyed the conference and I made a couple contacts. The slides of all the presenters should be on the web soon and I look forward to having a second look at some of them and a first look at others that I wasn't able to attend.

Flickr Integration with Drupal

I just started using flickr recently with a pro account. I'm gradually moving all my pictures there. There is some Drupal integration using the flickr module. There is a page that shows all my flickr sets within my website.

Tags:

Flickr Uploading Tools in Linux: juploadr and kflickr

I tried two applications for uploaded photos to flickr in Linux. The first is juploadr-1.0, which crashed many times for me and after an entire day of trying I just couldn't get all of the 500 photos I wanted to upload, uploaded. I had much better luck with kflickr-0.6. There seems to be a trend of quality KDE applications (amarok, KDE itself, k3b). Not so many Java or Gnome ones, but I digress. Originally I liked the way of editing descriptions and tags in kflickr but then I realized that neither of these applications compared to flickr's organizer feature, so it didn't matter. kflickr did crash on me if I right-clicked anywhere on the imported images.

kflickr would pop up a dialog box if there was a network timeout and stop uploading entirely whereas juploadr would skip that file and then try the next file. Why it doesn't just retry that file again, I'm not sure. This "feature" turns out to be more of a bug because after it has skipped about 1 out of every 20th photo in my 500 photos, it ended up crashing at some point. So I had a big swath of photos that had not yet been uploaded, but I also had some other photos that had not uploaded because they were skipped. Finding out which photos were skipped would be impossible.

kflickr basically worked on the first try. I got the timeout dialog a few times and thus had to click "OK" and then hit the "Upload" button to resume but in the end it did finish up. For now my flickr uploading application of choice is flickr.

One that I really want to try but have not had luck with is flickrfs. It looks really neat, but I had problems mounting my flickr account on a local directory.

Updated (2006-08-12): Another advantage of kflickr over the competition (juploadr) is that it loads thumbnails lightning fast. With juploadr I was waiting forever for all of them to load whereas flickr took less than a minute for 500 photos.

Updated (2006-08-15): So the problem related to jUploadr timing out is apparently fixed, simply by adding -Xmx512m (for example), to increase the amount of memory available to the Java VM. This will be fixed in 1.1 which is in Beta right now. The other advantage kflickr has over jUploadr right now, however, is the ability to set the title or description for one picture and then to easily move to the next or previous picture, just like you can do in flickr's Organizer. On the other hand, this is a "feature" for jUploadr because it is dangerous to have too many features like this in the client. If the client crashes or your computer crashes you will lose all the captions (for example) that you created locally on your hard drive. This is why I prefer using flickr's organizer. For a small number of pictures, doing all the titles/descriptions in the client quickly can be handy... Another thing, kflickr remembers the tags you used previously (for autocompletion) which just prevents typos in your tags more than anything. Both clients provide a good batch editing mode.

Some Kind of Animal in Our Apartment

There must be some kind of animal living in our apartment or sneaking in through the window because I keep noticing chucks being bitten off my little basil plants as well as disturbance in the soil. One day there was about a 5 inch hole in the soil that appeared out of nowhere and the soil had been tossed around. They are growing in a large barrel on a closed-in balcony, near a window. I am planning on setting up a webcam and motion-detection software tonight to try and catch the culprit.

Clever Spam

A spam message got through the GMail spam filter this morning. It was a very clever spam and I am going to be very annoyed if every spammer starts adopting this strategy. Here's the message:

Easiest thing in the world, tight? They bookended Annie and she was saying something to them, first looking up to speak to Goliath, then half-turning and looking down to reply to David.
"Her eyes actually were a bit red. Part of him, a craven, cowardly part which would rather risk losing Misery forever than look upon the inevitable results of such a mistake, denied it. Ill put it under my tongue when I swallow the other one, then stick it under my mattress with the other pills when she takes the drinking glass out. in real life was quite different from playing it in a cross-legged circle as a kid or doing it in front of a typewriter as a grown-up, he discovered.

He could not tell her because it would hurt her badly, and in spite of all the pain she had afforded him, he found he could not hurt her in that way. He had been gotten by the goddess.
in real life was quite different from playing it in a cross-legged circle as a kid or doing it in front of a typewriter as a grown-up, he discovered. Part of him, a craven, cowardly part which would rather risk losing Misery forever than look upon the inevitable results of such a mistake, denied it.

Then there was an image attachment containing text about a stock (SMKG). How do you catch these randomly generated messages of text followed by an image containing text? Paul Graham has written more about spam then anyone else I know. I've read a bunch of his articles and I highly recommend them to anyone.

Tags:

Coloured diff in Linux with Subversion

To get coloured diff, install colordiff (http://colordiff.sourceforge.net/) and then you can make some aliases like below:

alias svndiff="svn diff --diff-cmd=colordiff"
alias diff="colordiff -u"

Note that I didn't need the -u (unified diff) option for subversion because it does it by default.

If you pipe your diff through less, the output will be all screwed up, this can easily be fixed by using less -r. I aliased it like this:

alias less="less -r"

Stephen Colbert, Wikipedia, and 60 Minutes

Stephen Colbert was all over digg.com today, with 3 stories on the front page last time I checked. The first was related to this, Colbert's "The Word" segment, which last night was "Wikiality":

That article sparked a flurry of page vandalism (as it is called) on Wikipedia, part of which was stopped by this guy, a Wikipedia administrator from Vancouver. There is a detailed account of what went down at Wikipedia here.

Finally there was a 60 minutes piece on Stephen Colbert, which included a very tiny one-on-one intervivew:

Well a busy day for Colbert, I'm still amazed that he was featured in 3 of the top front-page digg articles for the day.

site5 is Annoying me Today

I never have access to wget or ssh for any of my site5 accounts by default. I always have to file a ticket asking them to give me access. Half the time it takes 2 or 3 tries for them to get their 'fix' right as well. This time it is really bothering me because I filled out the ticket 24 hours ago and they still haven't responded.

Update: I switched to slicehost a long time ago. Much, much better.

Pages

Subscribe to David Grant RSS