Search:
Local Thoughts logo
Computer Science in Canada

Blogs from computer science researchers in Canada including faculty and grad students.

907274
Full

Wednesday, July 23, 2008 - 2:04pm by Daniel Lemire

Science follows a conservative process. It takes a long time for a fact or a law to be accepted. Several scientists must verify and reproduce the same results before acceptance is granted.

So goes the theory.

In practice, science is not such a clean process. Routinely, facts and theories become widely accepted quickly, without criticism. Mostly because they are convenient. Other proposals get shot down immediately: perhaps for good reasons, perhaps not. Negative results, including any challenge to the convenient, but poorly reviewed facts, are frowned upon.

In some fields, there is a bias against simplicity. If you show that a simple technique works well, even if it works better than more complicated or expensive techniques, people will dismiss your work as too easy. I believe we should have the opposite bias: we should try to steer away from complicated solutions. Complicated techniques should have the burden of the proof: do we need something so difficult? But complexity is often convenient: it raises the barrier of entry to a field. If anyone can do your work using simple techniques, then why are you getting paid?

I believe that to minimize the effects of such biases, we should encourage diversity in science. Here are a few clues on how to get more diversity:

  • pick numerous and different reviewers: the composition of program committees should be different year after year;
  • encourage the multiplication of conferences, journals and workshops;
  • provide funding to more researchers (spread the money more evenly);
  • mix researchers from different organizations (universities, government, industry);
  • do not reward researchers who always publish in the same small set of conferences or journals (the same where they often act as reviewers);
  • mix researchers having different backgrounds.

Finally, I believe that we need to stress reproducibility a lot more. Researchers need to open up their data and their code. This will ensure that more people can check the facts. It should lead to better science and more diversity.

343578647
904181
Full

Monday, July 21, 2008 - 10:15pm by Mike


I’m so pleased with my progress on the Ca compiler, I’ve decided to provide an ad hoc link to it in its current state. I’m not confident enough to give proper instructions for it though, as it is for hardcore haxx0rz only.

I’ve made the switch from make to ant for the build system. There are a number of things which are bizarre about ant. For instance, failonerror should default to true in every case. Perhaps there are some cases where silent failure can be acceptable, which can be made explicit in those cases with a failonerror=”false”, but in a build system, I have a hard time believing that an error should, by default, be considered a success. Also there is no convenient built-in way to copy a file while retaining permissions.

Aside from that, I like the ant model of things. Java is not such a horrible way to describe how to build something.

As for the compiler itself, there are a number of bug fixes still in the queue, such that it still can’t be used for useful work. For useless work, however, it is quite fabulous, if I say so myself.

Even more exciting is I’ve run into a theoretical problem which is proving very difficult to prove. Research is one of the few vocations where your very metric of “success” is the number of problems you create. I’m off for a camping trip over the next few days which will give me some time to mull it over.

Next month I’ll be taking a trip back to my alma mater. I’ve been invited by my undergraduate supervisor to help him and his post-doctoral student on a new project he’s starting up. It’s a programming language based on co-inductive types where each program is guaranteed to halt in polynomial time. My job is to come up with, ideally, some clever ways of implementing it efficiently. I don’t know many more details than that, but it sounds like a dream project for me.

903190
Full

Monday, July 21, 2008 - 1:54pm by Daniel Lemire

I am a bit late to the show, but I would like to comment on Carr’s Is Google Making Us Stupid? Carr’s observation is simple:

Once I was a scuba diver in the sea of words. Now I zip along the surface like a guy on a Jet Ski.

Here are my thoughts:

  • Quite often, as a teenager, I would read long-winded technical books and conclude “Oh! That’s what he meant to say”. Unavoidably, I would find a very concise way to represent the same information. I am not surprised if people read fewer books, assuming that is even true, because large textbooks are not an optimal communication channel. Books have several deficiencies: they are static, they are not interactive, and they are often not concise. It would not do to try to publish a 12-page book, so authors have a strong incentive to elaborate (sometimes uselessly).
  • My research has grown better thanks to the Web, not worse. I can quickly survey a field, cross-reference statements, drill-down on an issue, roll-up to get an overview, and so on. Anyone who claims researchers were better off without the Web should try cutting off his net connection for a decade, and see what happens. I doubt very much if the research would be any deeper, it might just become narrower.
  • At all time throughout history, few people have given serious thought to any one topic. The fact that you, as an individual, spend your time facing issues that you cannot think through, does not mean that as a whole, humanity has become shallow.
  • You must not let yourself be overwhelmed. There are proper ways to use the Web. What you do not want to do is to try to stay afloat by skimming the new events. Setup filters and remain firm in your dedication to a few objects. Learn to focus in the chaos. Be rude: if something is outside the scope of your interests, say so. Technology can extend its coverage infinitely, you cannot.
341557024
903195
Full

Monday, July 21, 2008 - 1:45pm by Amr El-Helw


Although many people are already experts when it comes to building a new computer from scratch, many others are still a bit intimidated by the concept of looking for each component, and putting everything together. For those who actually want to know how to build a computer, the computer help website “The How-to Geek” has put up an excellent tutorial about building a computer from scratch.

The tutorial is mainly divided into five parts (the titles are self-explanatory):

The tutorial is very thorough, and full of pictures and screen-shots which makes it even easier to read and follow. If you are interested to learn about building computers, make sure to check it out.

903054
Full

Monday, July 21, 2008 - 12:58pm by Daniel Lemire

There is a strong bias in science, at least in Computer Science, toward positive results. For example, showing that algorithm A is better than algorithm B, will get you published. Reporting the opposite result is likely to get your paper rejected.

One justification for the value of positive results is that it gives you more information. Indeed, there is infinite number of possibilities. Listing all the cases that are of no interest would take too long. We better focus on what works!

This argument is fallacious since it ignores one of the pillars of science: reproducibility. By taking away the possibility of publishing negative results, we basically throw away the most important reason why we require reproducibility: to verify what others have done.

Times and times again, I come across falsehoods in science. Typically, they occur when reporting experimental results that are either badly interpreted or badly implemented. Here is a typical scenario:

  • Researcher A publishes some paper where he makes some false statement.
  • The statement is compelling. It matches people’s intuition.
  • The work becomes well known and is repeatedly cited.
  • Other researchers build upon the falsehood. They either do not verify the statement (where is the profit in that?) or if they do, they avoid denouncing the falsehood.

Eventually, the statement because an accepted fact. Anyone who wants to challenge it has the burden of proof, and it is easy to cast doubts on any experimental procedure. I claim that this happens often. As someone who crafts my own experiments, I see it all the time. I am repeatedly unable to reproduce “accepted facts”. Yet, I never (or almost never) report these problems because trying to do so would ensure that whatever paper I produce is frowned upon. Moreover, I believe few people ever attempt to verify published results. What makes matters worse is that trying to reproduce experiments is never considered serious work in Computer Science. Often, it is quite a difficult task too: either the data or the code is missing or barely available.

What bothers me is not so much the falsehoods, but the fact that it tends to feed into the biases of entire communities. People expect certain things, and they filter out any “negative” result, and protect “positive” results even when such results are not solid. Entire fields are therefore being built on shaky foundations.

We have made some progress recently in Computer Science regarding reproducibility. There are more conferences and journals asking researchers to make their data and code available. However, I believe that culturally, we still have a long way to go.

341517796
902270
Full

Monday, July 21, 2008 - 12:05am by Geoff Wozniak

Bruce Corcoran doesn’t see much point to film criticism, particularly when it comes to children’s films.

We’ve all seen it. Critics review Disney or DreamWorks animated movies. “Kung Fu Panda” and “WALL*E” are two of the latest victims. Critics had issues with the fact one went for looks over plot depth, and said the other had a weak story line.

Bruce apparently missed the fact that both films are getting good reviews and WALL*E is considered to be a masterpiece of storytelling.  He also doesn’t seem to understand that a critic’s job isn’t necessarily to judge whether a children’s film is good for children or not.  A decent critic will consider the notion when writing for the local paper, but not when considering the merits of the art form.  His point amounts to the fact that people have a difference of opinion.

And really, children are more sophisticated than he may think.  I, for one, saw through the Earnest movies and related ilk when I was a kid.  I only wanted to see them so I wouldn’t have to take part in church-related activities.

902097
Full

Sunday, July 20, 2008 - 8:34pm by imackinnon

http://www.imdb.com/title/tt0468569/

As of right now, IMDB users have ranked The Dark Night a better movie than the Godfather for the #1 spot on the top 250 movies of all time. Now, I haven’t seen it yet on account of not wanting to line up multiple hours in advance, but I think we need to be realistic about how good it is. “Batman Begins” was a really good movie and the best Batman movie I’ve seen, but saying it’s sequel is going to be the best movie of all time is a bit of a stretch. Maybe I should go see it tonight before I say much more, but I’m a little skeptical about it being better than the Godfather, The Shawshank Redemption, Schindler’s List, Star Wars, and Fight Club.

896500
Full

Wednesday, July 16, 2008 - 6:52pm by imackinnon

Stephen Hawking “Mulling” a Waterloo Move

I don’t really want to get my hopes up about this, since it was only a little while ago that the prospect of an NHL team was getting people excited.  Of course that didn’t happen and I worry that the Hawking thing might just be a ploy to get the British Government to fund more research.

That being said, it would be a great coup for my former employer (Perimeter Institute), if they got Hawking on board.  Probably not for the reasons you think though; from my understanding Hawking hasn’t really pushed the field of physics since the 80’s.  However, he has been a figurehead for the research community and has made it’s work accessible to the public.  Combined with clear physical challenges, this makes for great PR, but within academia (which can be a little snobby), it’s not as exciting. You’re only as good at the last paper you published.

Hawking coming to Waterloo would be amazing publicity for the City and maybe that’s all that matters.  Perimeter would benefit greatly, Hawking could make his statement, and research in Canada would be taken a lot more seriously.  Perhaps this is a better fit than an NHL team.

895080
Full

Wednesday, July 16, 2008 - 1:55am by imackinnon

Vancouver Weather

My handy OS X dashboard keeps giving me the good news. It’s been giving me results like this for the past 2 weeks. This is actually kind of nice since the first 6 weeks here were unseasonably cold, but the weather has become what was promised. Although I have a feeling that the winters will show straight rain in return. Now, if only I could stop working and enjoy it some more I’d really be in business. Although, truth be told, I kind of wish for some rain because parts of downtown Vancouver start to smell like pee if it hasn’t rained in a week.

894222
Full

Tuesday, July 15, 2008 - 4:24pm by Mike


I apologize for the long delays between posts. Rest assured no news is good news, and it’s just business as usual.

One bit of exciting news, though, is that I’ve received an email from my old supervisor, Robin Cockett, at the University of Calgary. He has a project for a pretty cool sounding programming language based on Martin Hofmann’s work—where programs are restricted to polynomial time—and needs someone to worry about the implementation details. I’m pretty excited about the prospects.

Also I’ve decided to turn my idle attention to my Zipit, borrowed from my friend Albert. It’s kind of a fun little thing, if annoying to type on, but sports a 60MHz ARMv4 chip in it. I’m toying with the idea of having my compiler target not just C, but also ARM. I’ve got an ARM cross-assembler installed, so it’s just a matter of working out the networking details.

ARM is a surprisingly beautiful ISA. Everyone knows it for its pervasive use of conditional instructions, of course, but its addressing modes are quite nice as well. My only other exposure to pre- and post-index addressing was with the PDP-11, but ARM does it in a much cleaner way.

891016
Full

Sunday, July 13, 2008 - 7:50pm by Peter Turney


I recently read an interesting paper, How Is Meaning Grounded in Dictionary Definitions? The abstract follows:

Meaning cannot be based on dictionary definitions all the way down: at some point the circularity of definitions must be broken in some way, by grounding the meanings of certain words in sensorimotor categories learned from experience or shaped by evolution. This is the “symbol grounding problem“. We introduce the concept of a reachable set — a larger vocabulary whose meanings can be learned from a smaller vocabulary through definition alone, as long as the meanings of the smaller vocabulary are themselves already grounded. We provide simple algorithms to compute reachable sets for any given dictionary.

It’s an interesting idea, but I believe there is a flaw in it.

The authors use the following simple example of a dictionary to illustrate their approach:

A simple example of a dictionary.

They write:

In natural language, some word meanings — especially highly abstract ones, such as those of mathematical or philosophical terms — are not or cannot be acquired through direct sensorimotor grounding. They are acquired through the composition of previously known words. The meaning of some of those words, or of the words in their respective definitions, must in turn have been grounded through direct sensorimotor experience.

For example, as we can see in Table 1, “banana” is defined as “yellow fruit”, the composition of the concepts “yellow” and “fruit”. Their algorithm yields the following result:

  • Grounding kernel: bad, dark, good, light, not, or, thing.
  • Level 1 words: color, eatable.
  • Level 2 words: fruit, red, yellow.
  • Level 3 words: apple, banana, tomato.

The authors claim that the grounding words are more concrete than the words that are defined by composition, but it seems to me that “apple”, for example, is more concrete than “bad”. Perhaps this is merely my personal opinion.

Fortunately, there is an easy way to find out. The MRC Psycholinguistic Database includes several thousand words that have been rated by human subjects for their degree of concreteness. The rating scale varies from 100 for the most abstract words to 700 for the most concrete words. The most abstract word in the database is “as”, with a rating of 158, and the most concrete word is “milk”, with a rating of 670. All of the words in Table 1 appear in the database, except for “eatable”, but “eat” does occur in the database. Here are the ratings:

  • Grounding kernel: bad = 308, dark = 497, good = 297, light = 550, not = 273, or = 248, thing = 350.
  • Level 1 words: color = 467, eatable (eat) = 486.
  • Level 2 words: fruit = 612, red = 501, yellow = 537.
  • Level 3 words: apple = 620, banana = 633, tomato = 662.

Note that the ratings are the opposite of what the authors claim. The kernel words are the most abstract and the level 3 words are the most concrete. What has gone wrong here?

I believe that there are (at least) two ways in which words get their meanings: composition and abstraction. We may define “banana” by composing “fruit” and “yellow”, or we may understand “banana” by abstracting the common elements from all of our experiences with particular bananas. We may define “yellow” as the composition of “light” and “color”, or we may understand “yellow” as the abstraction of all of our experiences, verbal and perceptual, with yellow things (bananas, lemons, daffodils, etc.). When we are children, we build a vocabulary of increasingly abstract words through the process of abstraction. As that abstract vocabulary grows, we then have the words that we need to form compositions. The process of abstraction takes us from concrete (bananas and lemons) to abstract (yellow). The process of composition takes us from abstract (yellow and fruit) to concrete (banana).

Now we can see where the authors went wrong. Dictionary definitions are largely based on composition; only rarely do they use abstraction. If the authors wish to discover the concrete words that ground our vocabulary, most dictionary definitions are pointing them in the wrong direction.

It seems that this flaw should be relatively easy to repair. The authors merely need to alter their algorithm to take into account whether a given definition is based on composition or abstraction.

(By the way, the citation information for the paper says that is will appear in Coling 2008, but oddly it is not in the list of accepted papers for Coling 2008.)

890539
Full

Sunday, July 13, 2008 - 5:51am by imackinnon

For hiring, we’ve started giving small coding projects to people who have gotten past our tech screens. The feeling is that we need people who can code right away. I`m not a fan of this, since if we give someone at a distance a coding problem, we have no way of knowing that they did it themself, and proper programming technique is something that can be learned quite quickly in someone who is smart. I also worry about a Hawthorne Effect happening when people know they are writing code they will be evaluated on. It’s pretty easy to indent properly, comment your coding, and spend time on best practices when you know people will be looking for that. It`s harder to fake being good at writing a sorting algorithm. There is also concern that if we ask too much of recruits, they might just realize that it`s not worth the effort to try and work for us. We don`t exactly have people knocking down the door to come work for us.

Once we get a programming puzzle back, it does give some credit to a candidates skills. However, if it works, I`m inclined to give a thumbs up. Looking at the actual source code isn`t going to give a lot of insight into a programming unless it’s really good or really crappy. Our current recruit is someone I nominated, so I`ve been pretty mute on the process given my conflict-of-interest, but this did lead to an interesting exchange:

From: HR

To: IT

Date: Thu, Jul 10, 2008 at 11:48 AM

Hello everyone,

Please take a 5 minute look at [candidate]`s response and send back a note with your thoughts. I’m especially interested to hear if you see any red flags and a yes/maybe answer.

Thanks!

M

Which was followed by:

From: HR

To: IT

Date: Fri, Jul 11, 2008 at 12:44 PM

Hello everyone,

I only have [DoA]`s feedback so far. Would you please send me yours and cc [KoS]? Also, he was wondering if it worked…

Thanks,

M

When you get one of those, you get a sense of relief; not being the last, you at least have good company.

From: HR

To: IT

Date: Fri, Jul 11, 2008 at 1:57 PM

Thanks [DoC]!

I forwarded it to [PoPM]? too. [EoC], Ian and [LoT] - would you please cc [KoS] and [PoPM]?

Thanks,

M

That should have tipped me off that a submission was still expected of me, even though I thought I was immune. Anyway, volleyball got in the way, which led to this:

From: HR

To: Ian, [LoT]

Date: Fri, Jul 11, 2008 at 6:24 PM

Gentlemen,

I see neither of you have put in your 2 cents…and your thoughts are important…please send your note or I will start sending you reminders every 5 minutes mixed up with important messages so you won’t want to block me. :)

…or maybe I don’t want to start that game with either of you..so please…your thoughts…

M

Now, for anyone who knows me, a response of “the code looked fine” would not have been me.

From: Ian

To: HR

Date: Sat, Jul 12, 2008 at 10:13 PM

This code affirmed my faith in humanity. In looking at the code provided by David, I was able to gain a clear understanding of the human condition. While viewing the functions put before me I wept, for I had not seen such beauty before. During my euphoria I burst to the top of my apartment building and cried from the rooftop, “VANCOUVER!, HATH THOU NEVER SEEN CODE SUCH AS THIS!”. While up there, I briefly contemplated ending my existence, as I began to realize that with no better code capable of being produced, my life would no longer have meaning. Oh the irony of something so spiritually fulfilling causing such a hole in my soul. Alas, I knew I needed to meet the man who created it, as while I may not be able to give life to such beautiful algorithms, the man who did may one day achieve an even higher level of greatness.

So yes, the code looked fine.

Ian

Fortunately, at a startup, this kind of thing is encouraged, rather than grounds for kicking your ass to the curb.

888560
Full

Friday, July 11, 2008 - 2:33pm by Daniel Lemire

I used to believe that the pressure to publish what you did in research was inherently bad. About four years ago or so, I started to change my mind.

I now believe that the more you write, the more you think about the issues, and the more ideas you have. In short, productive researchers do not write a lot because they are brilliant, they are brilliant because they write a lot.

This statement has counterexamples, however. We all know of some researchers who produce papers after papers, all of them toying with the same set of narrow ideas, or all of them misguided. Hence, I will add a constraint. You must write a lot about different things.

But clearly, that is not enough. Many people who write textbooks, for example, happen to write a lot, and they write about different things, yet, they are not automatically brilliant researchers (though, I submit to you that they probably are brilliant individuals). Hence, I will add a final constraint: you must be ambitious and go where nobody has gone before.

So, let me summarize my recipe:

  • write a lot…
  • about different things…
  • and be bold.

My final point for the day: When I say that you must write a lot, I do not mean that you must publish a lot in peer-reviewed journals and conferences. Getting continual and high-quality feedback is essential, but I see no evidence that getting formally reviewed frequently is essential. In fact, it may even prove counterproductive as it may encourage you to become more conservative.

How do you get feedback, if not through peer review? For one thing, you can run experiments: nature will tell you whether you are wrong. For another, informal review of your work by friends or collaborators can be as good or better than formal peer review.

I also think that posting your work on the Web might be a very valid form of publication, especially if you have job security. Sometimes you know that your work is correct. At the very least, you know as well as any reviewer might. Or sometimes, your result might just not warrant the process. Maybe we should all create our own personal journals.

332729890
887213
Full

Thursday, July 10, 2008 - 6:23pm by Daniel Lemire

I like to think about graph theory problems these days. Here is one:

What type of graph has minimal diameter for a given number of vertices, given an upper bound on the in-degree and another upper bound on the out-degree?

I will give eternal fame (among the readership of this blog) to anyone who can provide a practical algorithm to construct such graphs. Pointing me to a reference counts.

(No, I have not even tried to solve the problem. I am just interested in the answer.)

331952171
885343
Full

Wednesday, July 9, 2008 - 7:54pm by Heraldk

Polaris Wins!

Our computer poker program took on some of the best poker pros and came out on top!

Sorry for the lack of updates here. If you haven’t figured out, my travel blog has moved over to minoragenda, so if you want to read about our adventures in detail, please head on over there. I forgot to post a message like this earlier, so sorry about not letting you know.

I have a big todo list of stuff and not much time to do it. I want to get around to posting photos and post poker reports for the couple of live sessions I’ve managed to squeeze in. But that will have to wait for a little while.

Hope all is well with you!

Heraldk

331067000
883961
Full

Wednesday, July 9, 2008 - 5:41am by imackinnon

I get it, paying $0.15 for incoming text messages sucks, especially since you can’t control when your friends send you messages. I’m on Rogers, so this doesn’t affect me, but I have know doubt that when 2 of the three members of the telco axis of evil do something, the third probably will join suit. But the online petitions probably aren’t going to change this. Much like the facebook groups to lower iPhone rates for Rogers, the petitions of people who are ultimately going to change anything. Getting a group with a couple thousand people on it just isn’t impressive anymore. Consider the following Canadian-centric groups:

Petition Rogers for fair mobile rates for the iPhone! - 3,805

GAS PRICES ARE OUT OF CONTROL….WE MUST WORK TOGETHER TO STOP THIS!-1,557

Canadians Against the New Copyright Bill C-61 - 70,964

Rick Mercer for Prime Minister of Canada - 27, 406

I bet i can find 100000 people who hate the Toronto Maple Leafs! - 7,180

So, if we were to take facebook group membership numbers to mean anything: people hate the leafs more than high gas prices, a comedian being the head of government is 10 times more popular an idea than a cheaper iPhone rates, and copyright legislation is the most important issue facing Canadians today.

Not to pass judgment on any of that, some of it makes sense, but I think we should stop thinking a group on facebook has any real meaning. It really tells you nothing. How many of the people on the iPhone rate group were actually going to get (rather than just desire) an iPhone, but were turned off by the rates? That’s the number Rogers actually cares about.

On the political side, yes, thousands of letters to politicians saying that they should do “something” would garner a response. That response will be a token gesture to pay lip service and propose legislation that will never pass or be taken seriously, but I assure you there will be no shortage of political heroes on the issue of incoming text message costs in the short term. Any crafty politician would try and score cheap points on this issue and realize that we’ll forget about this come election time. However, think back to ATM fees, is anyone seriously going to tell me that the issue of ATM fees is going to weight more on their mind come election time than healthcare, education, or tax rates? A politician who respects your intelligence will tell you that they have more important things to worry about what toys (and they are) you have and what they cost.

Anyway, back to telcos, consider the following two articles:

Canada urged to lift foreign ownership limits in several sectors

Bell, Telus customers to pay for incoming text messages

I do think the 3 people who kept reading to this point in the entry are smart enough to see the correlation between the 2. Thousands of letters to MPs asking for cheaper iPhone rates becomes a source for comedy in the political back-rooms, thousands of letter to MPs asking for deregulation of foreign ownership laws will be taken seriously, especially with a government already predisposed to the idea ideologically. You may not like the idea of US companies running telcos in Canada, but do you care about that more than the cost of wireless? Enough people wanting something doesn’t magically make it happen, there are trade-offs and tough calls in policy, and 1,000,000 people on facebook can’t change that.

881649
Full

Tuesday, July 8, 2008 - 3:23am by Dan Siemon

This probably isn’t news to many people by now but CBC’s Search Engine will not be returning in the fall. What a loss. To me Search Engine is a great example of what a radio show and Podcast can be. The show had strong audience participation and felt almost more like a blog post than a traditional radio show. More importantly, Search Engine covered digital issues such as Copyright reform in a way that is greatly needed at this time.

I really hope that CBC will reconsider this cancellation. Public broadcasters need to bring in young people and new listeners. A new and experimental format like Search Engine is a great way to accomplish this. The huge amount of interest in this spring’s Copyright reform bill shows that many Canadians are becoming aware of the topics Search Engine covered. Now is not the time to give up on this show.

Fortunately it looks like Search Engine’s sister show, Spark, is still going to continue.

881363
Full

Monday, July 7, 2008 - 10:21pm by Daniel Lemire

I read this on slashdot:

I have a PhD in math, and I still don’t have the multiplication tables memorized

Now I know I am not the only one!

In other news,

  • I still deduce my age from my birth date (takes me a minute or so each time);
  • I was identified as having a learning disability when I entered school (since I could not recite my phone number nor tie my shoes) and put in a special class;
  • I still don’t know my office phone number;
  • I don’t know my bank account number, nor how much money there is in it;
  • I don’t know my Social Insurance Number;
  • I get the birthdays of my sons mixed up.

But I know what a soliton is, I can solve nonlinear differential equations by multiscale methods, and I can program my very own bitmap index from scratch in C++. Oh! and I can grow coreopsis and echinacea from seeds.

Let us face it: the purpose of school should not be to teach specifics. And you should never judge kids by what you expect them to achieve. Let them surprise you!

329254948
880268
Full

Monday, July 7, 2008 - 1:22pm by Daniel Lemire

Yahoo! managed to sort 10 billion 100-byte elements in 209 seconds. This was done in Java using Hadoop.

As a basis for comparison, on a fast and recent Mac Pro, it takes 6000 seconds to sort a 2 GB text file using Unix file utilities. Their problem is 500 times larger, and they solve it 30 times faster : they are 4 orders of magnitude faster! Of course, they have fixed-length records which helps tremendously.

However, I wonder how much energy (power usage) was spent on the sort operation?

328873609
878070
Full

Saturday, July 5, 2008 - 12:28am by Daniel Lemire

A couple of weeks ago, I needed to backup my MacBook Pro to an external disk (a firewire G-Drive) because my hard drive was failing. I started shopping for a good backup solution, but none of them had the following features:

  • support for incremental backups: if a change is made, you only backup the files that differ;
  • adequate handling of IO errors (no all-out abort);
  • inexpensive.

Indeed, I tried two different tools, but they refused to backup my disk due to numerous IO errors. They would not even tell me how to fix my problem.

As it turns out, your Mac has already all it needs, by default, to do just that. First, create a file called “backup.sh”, make it executable (chmod +x backup.sh) and copy the following content to it:


#!/bin/sh
RSYNC="/usr/bin/rsync -E"
# my external disk is located at /Volumes/G-DRIVE\ MINI/
sudo $RSYNC -a -x -S --delete \
--exclude-from backup_excludes.txt $* / /Volumes/G-DRIVE\ MINI/
sudo bless -folder /Volumes/G-DRIVE\ MINI/System/Library/CoreServices

Then run it! Go to a shell and type “./backup.sh”. It will ask for you root password.

If you ever need to restore your files, then create a file called “restore.sh” with the following content:


RSYNC="/usr/bin/rsync -E"
sudo $RSYNC -a -x -S --delete \
--exclude-from backup_excludes.txt $* /Volumes/G-DRIVE\ MINI/ /Volumes/Maci
ntosh\ HD/
sudo bless -folder /Volumes/Macintosh\ HD/System/Library/CoreServices

Executing restore.sh may prove dangerous. Make sure you have tried booting from the external disk first. To boot from an external disk, I think you have to hold down the command key while rebooting.

327022042
877516
Full

Friday, July 4, 2008 - 3:02pm by Daniel Lemire

Everything else being equal, picking the right problems is the key factor determining your success as a researcher (no matter how you define success). In a previous post, I proposed three categories of research problems:

  1. explain a previously unexplained observation;
  2. perfect an existing technique;
  3. invent a new problem.

It appears that all 3 categories are equally valid. Which technique you prefer is a matter of style.

Today, I would like to propose a new, orthogonal, categorization in terms of the depth of the problem you tackle. Some problems

  1. are narrow and well-defined, you can complete them in a few months;
  2. form a set of narrow and well-defined problems, likely to keep you busy for years.

I have tended myself toward the first category (see “my research process“). The benefit of a focused burst of research producing a distinct result should not be underestimated. The most obvious benefit is that you can quickly move on and thus, you can afford to try your hand at random problems. It is the equivalent of a hit-and-run. If you are the curious sort, it allows you to learn about a new topic, without investing your career in it. However, it makes applying for grants more difficult. You are also less likely to achieve some recognition because the depth of your contribution might be less.

The second category means that you must find yourself a niche and work over it for years. Indeed, preferably, not too many people in the world must be aware of these problems you have identified. The catch is: how can you know, ahead of time, that the topic and the problems you see now, will still be interesting in two or three years? Are you investing in vain? Presumably, if you can follow this strategy, grant applications and recognition may come more easily. But what happens if you get bored?

The two categories relate to how you read papers. If you read papers thinking “maybe I could build on their work”, then you will naturally tend to the first category. Reading a lot of papers on different topics favors random hit-and-run research projects. Are you reading the list of accepted papers looking for clues as to what you will work on next? Are you attending talks to pick up random new ideas?

However, if you tend to “pull” research papers out of the (virtual) library based on your own ideas, then you will make likely gravitate toward the deeper research projects. In this case, your mental filters are much stronger: you tend to filter out everything that does not directly relate to your goals. You may still attend many conferences, and read lists of accepted papers, but your brain will filter most of the data out.

326702991
876947
Full

Friday, July 4, 2008 - 4:55am by Alex

After reading Penny Arcade comic’s about the 2003 We’re Right Awards, I felt like doing my own Top lists on various topics. Today, its the videogame edition.

Top game for consuming my time - Guildwars

Today, finishing an FPS game requires about 10 hours. A good RPG will take 20-30 hours, maybe 60 if you play it fanatically. I am not going to tell you how much time I’ve spent in Guildwars over the last three years, but that number is very high. To be fair, Guildwars should be considered as a collection of four games. However, I don’t think any other game comes close to that many hours of gameplay, except maybe for Diablo II or Starcraft. Good thing these games don’t have sequels, or I might be in trouble.

Top game I like, but nobody knows about - Zone of the Enders 2

Zone of the Enders 2 is probably one of the most underrated game on the Playstation 2. The problem is that the game is plagued by bad localization, making the storyline barely understandable. However, it features some of the best high-speed robot fighting action I’ve ever seen. This game is pure joy once you stop listening to the bothersome storyline. I’ve gone back to that game many times, just to redo the memorable stages, like the attack on the 5 capital spaceships.

Top game for punishing you for not using a FAQ - Valkyrie Profile

I’ve just finished Valkyrie Profile a couple of days ago, so I might still be biased. However, the ending was just plain awful. The thing is, the game punishes you for being a good player. If you want to have the real story of the game, you need to play in a very specific average way. There is no way to figure this out without a faq. However, if you don’t follow these steps, expect to miss about 70% of the storyline. That’s just plain bad design.

To game for a To-Be-Continued ending - Kingdom Hearts

Kingdom Hearts doesn’t really have an ending, it has the equivalent of a “to be continued” sign placed over the ending video. To makes things more complicated, the real continuation of the storyline is a Gameboy Advance game called Chain of Memories. Now, you can play Kingdom Hearts 2 without having completed CoM, but be prepared to be slightly confused in the beginning.

Top game for teaching me new swear words - Far Cry

This was a difficult contests. Many games I would consider insanely hard, such as Ninja Gaiden or Final Fantasy Tactics. Lets not even talk about most arcade shooting games. However, Far Cry wins the awards because it was very hard, but not too hard. Far Cry had a level of difficult that would make me swear, but that would never allow me to give up. No mater how badly I failed, I always thought that I could make it given one extra chance. Sadly enough, some of those “one more time” turned into 50 times.

Part 2 of the videogame feature will be released eventually, and will feature exiting categories such as “Top game I’ve stopped counting how many times I’ve finished”, “Top game with the music burned into my skull” and “Top game that is scarily addictive”.

870912
Full

Monday, June 30, 2008 - 9:33pm

Well, it took me a bit longer to get back to this than I planned. I've been working away trying to close up projects before I go on an extended leave. I wanted to share the results of everyone's voting on my photographs.

First and foremost, thank you all that participated.

Overall, people tagged 84 images with printmeplease for consideration to be printed. The top image received 10 votes, and will definitely be touched up and included in the set first available for print. There was a mix of photos I'd selected myself, and ones that I hadn't. It proved to be an interesting experiment showing the difference between my tastes and those of my friends. Surprisingly, the two images receiving the most votes were not images that I'd selected for inclusion.

Content-wise, there are some other interesting stats. There was an almost exactly even mix of color and black and white shots across the set of all photos that received at least one vote. However, 10 of the top 13 photos (those that received 4 or more votes) were black and white. Of those top 13, 7 were landscapes, 6 were architectural/urban, and 1 was a nature/abstract. Nothing particularly surprising there. I do generally prefer black and white, and enjoy taking landscapes / abstracts. No shock my best work comes out in those subjects.

Without further ado, here are the top voted photographs, separated by how many votes they received. Below that are links to the remaining vote tags.

10 votes

Howth cliffs, ocean

9 votes

Tree, below

6 votes

Rocks, Bay at Twilight

5 votes

Stairs Gate Alley Water and rocks, crop 01

4 votes

Lattice Trees Church ceiling Gorge Foggy Sunset Windmills

3 votes, 2 votes, 1 vote

The other lesson learned way that I have a lot less friends on Flickr than I originally thought. A better exercise would have been to quickly code up a little web app that would let people vote without requiring them to have a Flickr account. Even without that, I'm pretty pleased with the turnout. And, combined with the images of my choosing, I have some to send off to print.

Thanks again.

Tags: photo, photography, printing, prints
870113
Full

Monday, June 30, 2008 - 3:27pm by Peter Turney


I’ve said a number of things about good and evil at Overcoming Bias, and I decided to gather my comments together in one place. I’ve extracted the following quotes out of their surrounding context. The full original discussion can be found in Rationality Quotes 7 and Morality Is Overrated. Arguments similar to mine appear in The Moral Void.

Excerpts from Rationality Quotes 7

Robert Bruce Thompson: The simple fact is that non-violent means do not work against Evil. Gandhi’s non-violent resistance against the British occupiers had some effect because Britain was wrong, but not Evil. The same is true of the success of non-violent civil rights resistance against de jure racism. Most people, including those in power, knew that what was being done was wrong. But Evil is an entirely different beast. Gandhi would have gone to the ovens had he attempted non-violent resistance against the Nazis. When one encounters Evil, the only solution is violence, actual or threatened. That’s all Evil understands.

Me: I believe that this quote is not rational, because thinking of human relations in terms of “good” and “evil” is not rational. I prefer to think in terms of the iterated prisoners’ dilemma; in terms of cooperation and defection. If you frame a conflict in terms of “good” and “evil”, you quickly reach violence. If you frame it in terms of “cooperation” and “defection”, you may be able to negotiate a cooperative agreement. Violence may be necessary in certain situations, but it represents a suboptimal solution to conflict.

In a blog that is dedicated to overcoming bias, the term “evil” should only be used to point out the bias and irrationality that is encouraged by the concept of “evil”.

“When one encounters Evil, the only solution is violence, actual or threatened.”

This whole quote is sophistry. The capitalized word “Evil” is a metaphorical personification of an abstract concept. A standard definition of “evil” is “morally objectionable behavior”. Suppose we replace the personification “Evil” with “morally objectionable behavior”:

“When one encounters morally objectionable behavior, the only solution is violence, actual or threatened.”

The result is absurd. Suppose we agree that shoplifting is morally objectionable behavior. Is it true that the only solution to shoplifting is violence or the threat of violence? I don’t think so. But “Evil” is an emotionally loaded term that triggers our biases and discourages careful, rational thought. So when we read, “When one encounters Evil, the only solution is violence, actual or threatened,” it is not quite so obviously false as, “When one encounters morally objectionable behavior, the only solution is violence, actual or threatened.”

One problem with the term “evil” is that it is typically applied to a person, rather than to a person’s behavior. For example (see Rationality Quotes 7), “Kevin Giffhorn is Evil.” Compare this to, “Kevin Giffhorn has behaved in a way that is morally objectionable.” The first statement leads to the conclusion that an evil person must be punished. The second statement leads to asking what caused Kevin Giffhorn to behave as he did, and how can we address the cause? To say that he acted evilly because he is evil gets us nowhere.

Paul Gowder: The point is that some things are pre-analytically evil. No matter how much we worry at the concept, slavery and genocide are still evil — we know these things stronger than we know the preconditions for the reasoning process to the contrary — I submit that there is simply no argument sufficiently strong to overturn that judgment.

Me: In the American civil war, some people fought against slavery and others fought to continue slavery. If your statement above is correct, it would seem that everybody who fought to continue slavery was evil. Was their pre-analytical “sense of evil” somehow missing or damaged? If your statement above is correct, it would seem that there is no possible case in which a rational argument caused a person to change sides in the civil war. This seems highly unlikely to me.

Culture, including ethics, evolves over time. Actions that were once morally acceptable are no longer considered morally acceptable. I don’t claim to understand all the forces that govern the evolution of ethics, but it is plain to see that our ethical systems have evolved. Slavery was once accepted and considered ethical by many; now it is not accepted. Women were once not allowed to vote; now they can vote.

To say that something is “pre-analytically evil” seems to be an excuse for avoiding rational, scientific analysis of the epistemology and ontology of our ethical judgments.

DSG: The fact that there is a lot of emotional/inept-philosophical baggage to the word does not mean it is irrational to use it.

Me: If your goal is to engage another person in clear, careful, rational discussion, then it is not rational to use terminology that you know to have “a lot of emotional/inept-philosophical baggage”, because to do so would be counter-productive with respect to your goal. I assume that the purpose of a blog called “Overcoming Bias” is to engage in clear, careful, rational discussion.

Excerpts from Morality Is Overrated

Robin Hanson: Many people advise us on what to do. Some discuss personal actions, while others suggest how groups could better coordinate. And, crucially, some advise us on what we should do, while others advise us on how to get what we want.

At the personal level, parents, teachers, preachers, and activists tend to tell us what is morally right, while friends, mentors, lawyers, doctors, therapists, and financial planners tend to tell us what will achieve our ends. At the level of social policy, pundits and wonks give a mixture of rationales for their suggestions. Moral philosophers, for example, tend to emphasize policies we should pick, while economists tend to emphasize policies to better get us what we want.

All else equal, we may each prefer to do what is right, but when all else is not equal we often allow other considerations to weigh against morality. After all, morality is only one of the many ends we pursue. Yes we want to be moral, but we also want other things, and we each choose as if we often care about those other things more than morality. (Some say moral beliefs directly cause us to be moral even if we don’t want that, but I prefer to describe this as a revealed preference for moral ends, i.e., for “wanting” to be moral.)

Me: Morality is a means, not an end. Consider the Iterated Prisoner’s Dilemma. We tend to view cooperation as morally superior to defecting. Many people believe that tit-for-tat is a good moral rule. Note that tit-for-tat is an algorithm — a means. Morality does not involve altering the payoff matrix in the Iterated Prisoner’s Dilemma — it is not an end; it is not another value to put in the matrix.

Moral rules encode hard-won wisdom about how we should best go about getting what we want. Consider a few familiar moral rules: tit-for-tat, do unto others as you would have them do unto you, watch your karma, what goes around comes around. Moral algorithms are algorithms that work better than immoral algorithms in the long run, averaged over the long term. Immorality is about short-term thinking and ignoring probabilities and risks (gambling).

“some advise us on what we should do, while others advise us on how to get what we want”

Once you see that morality is a means, not an end, this false dichotomy dissolves. The best, wisest advice about how to get what you want is also moral advice on what you should do.

For more on this, see A Scientific Approach to Morals and Ethics.

Richard: Granted, there’s the phenomenon of “weakness of will”, whereby we act against our better judgment. But that seems to be a special case. Did you have something else in mind? (That is, do you endorse your divergent answer to the question “what to do” as your better judgment as to what act is warranted, or do you take yourself to be going wrong - by your own lights, even - in such a case?)

Robin Hanson: Richard, I’m not sure how I can be any more direct or clear about this: we all knowingly make choices contrary to what we “should” choose. Yes sometimes this is due to mistakes, but it mainly reflects the fact that we do not want only to be moral.

Me: I disagree. I believe that enlightened self-interest is a sufficient basis for morality. In this view, when we make choices contrary to what we “should” choose, it is always due to mistakes (lack of enlightenment). A fully enlightened being (if such a being could exist) would never knowingly make choices contrary to what “should” be chosen.

Sometimes we feel a conflict between what we want and what we know we should do. You seem to believe that this conflict must be due to competing values (wanting to do the moral thing versus wanting to do the immoral thing). I believe that the conflict is due to bugs in our algorithms for making decisions (lack of enlightenment).

What would it mean to want to be moral (to do the moral thing) purely for the sake of morality itself, rather than for the sake of something else? What could this possibly mean to a scientific materialistic atheist? What is this abstract, independent, pure morality? Where does it come from? How can we know it? I think we must conclude that morality is a means, not an end in itself.

869032
Full

Sunday, June 29, 2008 - 7:14pm by Dan Siemon

About a month ago Karen and I spent the weekend in Chicago. If you haven’t been to Chicago I would recommend it. We had a great time.

One of the highlights and quite possibly the coolest museum exhibit I’ve seen was U-505 at the Museum of Science and Industry. This was worth the trip by itself. I have a bunch more pictures here.

U-505