Seth Godin wrote a devastating post on the future of higher education. Unlike Godin, I fail to see an imminent crash of high education. But then, I failed to predict the recent financial market crash. However, as someone who spent most of his adult life on a campus, I have an idea of what students…
David Donoho was among the first researchers to promote reproducible research through software publication (see Buckheit and Donoho, 1995). Fifteen years later, Donoho and his collaborators are even more insistent :
Scientific computation is emerging as absolutely central to the scientific method.…
Following a blog post by John D. Cook, I started reading Fred Brooks‘ latest book. Brooks is famous, among other things, for his earlier book, the Mythical Man-Month. The book is really a collection of essays, organized like blog posts. It is really engaging.
I had never read about design per se,…
I’m currently a tenured professor with research grants and graduate students. Yesterday, I decided to list attributes of my job that I liked, in no particular order:
I have the best computer gear money can buy;
I spend most of my time thinking and writing;
I have no immediate financial…
Would you accept work designing mass destruction weapons? Back when a was in college, one my most memorable philosophy assignment was a rebuttal to the claim that scientists working on weapons of mass destruction were responsible for the creation of the weapons. As intellectuals, and scientists, do…
In my previous post, you were invited to help with a reference implementation of external sorting in Java. Several people tested and improved the code. I like the result.
I posted the code on Google code. All contributors are owners of the project. The source code is under subversion.
I have…
Update: this code is now obsolete. Please see the corresponding Github project.
Sometimes, you want to sort large file without first loading them into memory. The solution is to use External Sorting. Typically, you divide the files into small blocks, sort each block in RAM, and then merge the…
Today I spent money from a research grant. Here is the process:
I grab the form in Excel format.
I fill it out.
I print the form.
I sign it.
I give it to a secretary.
The secretary gets the chair of my research center to sign it.
The form is then sent to accounting, by internal mail (on…
I agreed to give a talk to graduate students on how to write good research papers. I have posted the slides of my talk online.
What annoys you about research papers? How do you recognize a good research paper? Do you have any advice to share?
Most researchers are convinced that their current work is important. Otherwise, they wouldn’t do it. Yet, few of them work on obviously important things like curing cancer or solving world hunger. Rather, they do silly things like prove the Poincaré conjecture. A century to figure out some…
You can sort large files while using little memory. The Unix sort tool is a widely available implementation of this idea. Files are written to disk sequentially, without random access. Thus, you can also sort variable-length records, such as lines of text.
What about shuffling? Using the…
The bitwise exclusive or (e.g., 1110 XOR 1001 = 0111) looks simpler to compute than integer addition (e.g., 2 + 9 = 11). Some research articles claim that XOR is faster. It appears to be Computer Science folklore. But is it true?
Which line runs faster? (The symbol “^” is the XOR.)
for(int k =…
Even if you have extensive training in Mathematics, the average Mathematics paper is undistinguishable from the ramblings of a madman. Many of these papers seek to solve narrow problems. And yet, we respect Mathematicians.
Software programming is a form of communication, usually between human…
My current employer, UQAM, refuses to allow email forwarding. Students would rather forward their emails to their existing GMail accounts, for example. And the IT Department (the SITEL) agrees that it would have several benefits. However, they refuse to allow it for the following reasons:
Email…
According to student evaluations, most of my students appreciate short programming assignments. Yet, every year, some students think that programming is below them or unimportant.
Maybe I should start my courses with this theorem:
Theorem. If you understand an idea, you can implement it in…
I get ten to fifteen questions a week on recommender systems from entrepreneurs and engineers. Sometimes, I help people find their way in the literature. On occasion—for a consulting fee—I get my hands dirty and evaluate, design or code specific algorithms. But mostly, I answer the…
One of the upsides of working for a university are the stimulating academic discussions. Yesterday, a philosopher challenged me a question:
Beyond the fact that software is expressed in Mathematics artefacts (bits, algorithms), are Information Systems fundamentally Mathematical?
For my…
Almost all software I write for my research is open sourced. Some fellow researcher argued today that I risk reducing the gap between and my pursuers. Similarly, I should keep my data to myself (and avoid listing good sources of research data).
Here is my take on this issue.
Sharing can’t hurt…
I am not opposed to the Publish or Perish mantra. I am an academic writer. I am what I publish. We all think of researchers as people wearing laboratory coats, working on exotic devices. And my own laboratory includes a one-million-dollar computer cluster with a SAN server as large as a fridge. I…
If you read my blog, you probably like to read in general. Thus, if you don’t own an ebook device, you will soon. The choice is growing: the Amazon Kindle, the Sony Reader, the Apple iPad,… I bought a kindle because my wife won’t let me fill the house with books. And I hate to throw away…