Victor Shoup’s A Computational Introduction to Number Theory and Algebra

Through Didier, I got to Victor Shoup’s Home Page. He has an on-line textbook called A Computational Introduction to Number Theory and Algebra. It is unclear whether he intends the textbook to remain free, but it is pretty cool to post the book on his home page. Shoup’s is an expert in cryptography.

How Technology Will Destroy Schools

Through Downes’, I found an article by David Wiley’s with the provocative title How Technology Will Destroy Schools (he actually is being needlessly provocative, he means “schools as they exist now”). The gist of his argument goes as follows:

The development of (…) technology will obviate the need for certain types of instruction — like the teaching of facts. Why spend time memorizing when the same information is available just as quickly from the network as it is from your own memory? But never fear, schools! The technology will create the need for new types of instruction — in higher level information literacy skills. Perhaps this will finally force some change through the public schools.

Well, I must admit. I have a Ph.D. in mathematics and I never learned my multiplication tables. There you go. I never saw the point of learning these tables, so I didn’t. Instead, I learned a few tricks to do multiplications… like 9 times 8 is almost 10 times 8, you have to subtract 1 times 8.

Mathematics is not about learning facts. I suspect that all disciplines have a component above learning the facts. You can’t be an expert in something if you only know the facts… because I can easily input the facts into a piece of software and compete with you, but we all know that software can’t compete (yet) against human experts. I’m not very good at memorizing facts, I’ve never been good at it. In fact, I’m not good at memorizing anything and that’s why I have a PDA always with me. Yet, I’m in expert at some things.

It is the difference between real knowledge and shallow knowledge. Most of our education system is based on acquiring and testing shallow knowledge. Most but not all.

How are you going to get past shallow knowledge through technology as Wiley predicts we will? I think that blogs, games, and simulations are good examples. Yes, we can role play without technology, but it becomes so much cheaper to deploy gaming scenarios through technology (because you only have to do it once) that it might become more common place in the future.

Maybe my son Lohan, by the time he makes it to school, will have “gaming instruction” where he will enter a gaming universe to learn basic mathematics. Who knows.

I’m not holding my breath though, I think we lack the human power to do pull it off in the next 5 years.

What the Bubble Got Right

A beautiful article by Paul Graham: What the Bubble Got Right. It is a good analysis of the dot-com era. I totally agree with the analysis too! People tend to overestimate the impact of technology over the short term, but underestimate it over the longer term. The dot-com bubble was proof of that. It is not so much that the new economy was a sham… but rather that the new economy will take a bit more than 2 years to settle… Here’s the conclusion of this beautiful article:

When one looks over these trends, is there any overall theme? There does seem to be: that in the coming century, good ideas will count for more. That 26 year olds with good ideas will increasingly have an edge over 50 year olds with powerful connections. That doing good work will matter more than dressing up– or advertising, which is the same thing for companies. That people will be rewarded a bit more in proportion to the value of what they create.

If so, this is good news indeed. Good ideas always tend to win eventually. The problem is, it can take a very long time. It took decades for relativity to be accepted, and the greater part of a century to establish that central planning didn’t work. So even a small increase in the rate at which good ideas win would be a momentous change– big enough, probably, to justify a name like the “new economy.”

As a side-note, the mere fact that such a good article is waiting at the end of a URL, for all to see and absolutely free, should remind you of how powerful, after all, the Web really is. I was raised in an era where you needed to go buy a magazine to read such a great article. Then you’d get many bad articles, but what could you do: there were few magazines, and your choices were limited. Things have changed, they have changed tremendously.

Data centers as a utility?

Seems like Gartner predicts data centers are going to become a utility:

The office environment will dramatically change in 50 years’ time, with desktop computers disappearing, robots handling more manual tasks, and global connectivity enabling more intercontinental collaboration. Data centers located outside the city will run powerful database and processing applications, serving up computing power as a utility; many more people will work remotely, using handheld devices to stay connected wherever they go, although those devices will be much more sophisticated and easier to use than current handhelds.

If you haven’t switched to Firefly, do it now.

I’ve finally moved all my machines to Mozilla Firefox 1.0. It is, by far, the best browser I ever used, and it is totally, truely free. Unfortunately, the French version is lagging behind a bit. Unless you are running something else than Windows, Linux, or MacOS, you have no excuse to use another browser. None.

Update: Sean asks why I switched away from Konqueror. The main reasons are XML support and Gmail. Gmail doesn’t support konqueror for some reason, and I badly need a browser having decent support for XSLT. Also, there is a comment below saying that Firefox is not stable on OS X 10.2.

On tools for academic writting and a shameless plug

First, the shameless plug: my long-time friend, Jean-François Racine published a book available both as hardcover and paperback. The title is “The Text of Matthew in the Writings of Basil of Caesarea”.

More seriously, and maybe he had told me about this, but he told me about this specialized word processor he uses, called Nota Bene. More interesting is a component of this word processor called Orbis. Specifically, Orbis generates vocabulary lists, as well as frequency of occurrence; and it allows you to define synonym lists to expand search capabilities.

An Amazon Web Services (AWS) 4.0 application in just a few lines

I have somewhat of a debate with my friend Yuhong about the correct way to use a Web Service. Yuhong seems to prefer SOAP. I much prefer REST. What is a REST Web Service? For the most part, a REST Web Service is really, really simple. You simply follow a URL and magically, you get back an XML file which is the answer to your query. One benefit of REST is that you can easily debug it and write quick scripts for it. What is a SOAP Web Service? I don’t know. I really don’t get it. It seems to be a very complicated way to do the same thing: instead of sending the query as a URL, you send the query as a XML file. The bad thing about it is that if it breaks, then you have no immediate way to debug it: you can’t issue a SOAP request using your browser (or maybe you can, but I just don’t know how).

Now, things never break, do they? Well, that is the problem, they break often because either I’m being stupid or I don’t know what I’m doing or the people on the other side don’t know what they are doing or the people on the other side are experimenting a bit or whatever else. I find that being able to quickly debug my code is the primary feature any IT technology should have. The last thing I want from a technology is for it to be hard to debug.

Here is the problem that I solved this week-end. I have this list of artists and I want to get a list of all corresponding music albums so I can put it all into a relational (SQL) database. Assuming that your list of artists are in a file called artists_big.txt and that you want the result to be in a file called amazonresults.sql, the following does a nice job thanks to the magic of Amazon Web Services:

Yes: the code goes over because I cannot allow HTML to wrap lines (Python allows wrapping lines, but not arbitrarily so, white space is significant in Python). There is just no way around it that I know: suggestions with sample HTML code are invited.

import libxml2, urllib2, urllib, sys, re, traceback
ID=""# please enter your own ID here
uri="http://webservices.amazon.com/AWSECommerceService/2004-10-19"
url="http://webservices.amazon.com/onca/xml?Service=AWSECommerceService&SubscriptionId=%s&Operation=ItemSearch&SearchIndex=Music&Artist=%s&ItemPage=%i&ResponseGroup=Request,ItemIds,SalesRank,ItemAttributes,Reviews"
outputcontent = ["ASIN","Artist","Title","Amount","NumberOfTracks","SalesRank","AverageRating","ReleaseDate"]
input = open("artists_big.txt")
output = open("amazonresults.sql", "w")
log = open("amazonlog.txt", "w")
output.write("DROP TABLE music;nCREATE TABLE music (ASIN TEXT, Artist TEXT, Title TEXT, Amount INT, NumberOfTracks INT, SalesRank INT, AverageRating NUMERIC, ReleaseDate DATE);n")
def getNodeContentByName(node, name):
for i in node:
if (i.name==name): return i.content
return None
for artist in input:#go through all artists
print "Recovering albums for artist : ", artist
page = 1
while(True):# recover all pages
resturl = url %(ID,urllib.quote(artist),page)
log.write("Issuing REST request: "+resturl+"n")
try :
data = urllib2.urlopen(resturl).read()
except urllib2.HTTPError,e:
log.write("n")
log.write(str(traceback.format_exception(*sys.exc_info())))
log.write("n")
log.write("could not retrieve :n"+resturl+"n")
continue
try :
doc = libxml2.parseDoc(data)
except libxml2.parserError,e:
log.write("n")
log.write(str(traceback.format_exception(*sys.exc_info())))
log.write("n")
log.write("could not parse (is valid XML?):n"+data+"n")
continue
ctxt=doc.xpathNewContext()
ctxt.xpathRegisterNs("aws",uri)
isvalid = (ctxt.xpathEval("//aws:Items/aws:Request/aws:IsValid")[0].content == "True")
if not isvalid :
log.write("The query %s failed " % (resturl))
errors = ctxt.xpathEval("//aws:Error/aws:Message")
for message in errors: log.write(message.content+"n")
continue
for itemnode in ctxt.xpathEval("//aws:Items/aws:Item"):
attr = {}
for nodename in outputcontent:
content = getNodeContentByName(itemnode,nodename)
if(content <> None):
content = re.sub("'","'",content)
if(nodename == "SalesRank"):
content = re.sub(",","",content)
attr[nodename] = content
columns = "("
keys = attr.keys()
for i in range(len(keys)-1):
columns += keys[i]+","
columns+=keys[len(keys)-1]+")"
row = "("
values = attr.values()
for i in range(len(values)-1):
row+="'"+str(values[i])+"',"
row+="'"+str(values[len(values)-1])+"')"
command = "INSERT INTO music "+columns+" VALUES "+row+";n"
output.write(command)
NumberOfPages = int(ctxt.xpathEval("//aws:Items/aws:TotalPages")[0].content)
if(page >= NumberOfPages): break
page += 1
input.close()
output.close()
log.close()
print "You should now be able to run the file in postgresql. Start the postgres client doing psql, and using i amazonresults.sql in the postgresql shell."

Update : this was updated to take into account these comments from Amazon following the upgrade of AWS 4.0 from beta to release:

Service Name change: You will need to modify the Service Name parameter in your application from AWSProductData to AWSECommerceService. We realize that it may take some time to implement this change in your applications. In order to make this transition as easy as possible, we will continue supporting AWSProductData for a short time.

2) REST/WSDL Endpoints: You will need to modify your application to connect to webservices.amazon.com instead of aws-beta.amazon.com. For other locales, the new endpoints are webservices.amazon.co.uk, webservices.amazon.de and webservices.amazon.co.jp.

Academic life: a balancing act

Today, I realized that the life of a researcher/professor is really a balancing act. A professor…

  • has a rich personal life;
  • gives great courses;
  • gets a lot of funding;
  • has many students;
  • publishes a lot papers each year;
  • consults on industrial/governmental projects;
  • manages something (departement, project, program).

It is no surprise that many professors end up being overworked. I think you simply cannot pull all these things at once. Maybe 2 or 3 from the list. You have to choose or life will choose for you.

Does your university think that “Jobs are for the little people”?

Tall, Dark, and Mysterious is a Math. professor somewhere in Canada, possibly in British Columbia. She graduated from a big school and now teaches at a smaller (lesser?) school.

Well, is it a lesser school? That’s where her tale becomes interesting. Myself, I attended UofT. I don’t know if the rule is true, probably not, but it seem that the larger the school, the more it suffers from the jobs-are-for-little-people syndrome as documented in a post by Tall, Dark, and Mysterious. Here is an insightful quote:

University isn’t job training, because universities are adamant about university not being job training. And it’s not because they’re too busy enriching students’ lives and fostering a love of learning. Underneath all of the cheap idealism – trumpeted by gainfully employed people, many of whom haven’t learned how to play a musical insturment, how to speak a foreign language, or how to play a new sport because none of those things are related to their jobs and because they’re too old to be doing that sort of thing – about learning for the sake of learning is a willful inability to confront the fact that students are not at universities to learn for the sake of learning.

Some insight from John Travolta

This morning, I was chatting with a colleague, Richard Hotte, and we were discussing research, funding, and the relation between the two. I’ve also had these discussions with Martin Brooks. Richard pointed out that John Travolta has figured it out all some years ago when he received a prize at Cannes for the movie Pulp Fiction. According to Richard, Travolta was asked then about how it felt to finally win a prize that he surely coveted for many years. John Travolta answered that his goal was never to win a prize, but rather to grow as an actor. The prize was nice, but not his goal.

This echoes my own feeling about funding for research. If your goal is funding, you’ll probably get some, maybe a lot, but unfortunately, you may never become a great researcher.

Use of blogs in higher education

Through Downes’, I found this great paper on Exploring the user of blogs as learning spaces in the higher education sector.

Looks like a great paper:

This paper explores the potential of blogs as learning spaces for students in the higher education sector. It refers to the nascent literature on the subject, explores methods for using blogs for educational purposes in university courses (eg. Harvard Law School), and records the experience of the Brisbane Graduate School of Business at Queensland University of Technology, with its ‘MBA blog’. The paper concludes that blogging has the potential to be a transformational technology for teaching and learning.

The Edu-Blogger: ITI: Stephen Downes keynote

From the wish-I-was-there Department, here’s a review of Stephen Downes’ keynote at ITI.

There are few people that can be called “visionary”. I’ve met very few. Very few can pass my tests over and over because often, you discover they had one idea and the rest is just fluff or posturing. Stephen is the real thing. That doesn’t mean he makes a lot of friends in the way. However, maybe the people who should listen to him just don’t understand him and that’s why he doesn’t get shot.

eLearning live!

A few years ago, I remember hearing the word eLearning for the first time. I had accepted a job with NRC circa 2001. I knew there was an eLearning team in Moncton. I remember thinking they were lucky because Moncton is a relatively cool city.

I vaguely remember meeting Stephen Downes for the first time. He probably doesn’t remember me though. I was in a basement and had nothing close to an office. It wasn’t so bad though, but because very quickly we moved to a beautiful office where I had a gigantic office. In any case, I see this tall angry man come in and try to plug is laptop. Can’t remember what wasn’t working, but I remember he was quite angry. This was eLearning for me at the time.

Fast-forward a few years. I’ve grown convinced that eLearning is there to stay. As Stephen might put it: we’ve now integrated technology without changing our ways in any fundamental manner. Next step is to change our ways. Gone will be the lecture halls. Campuses will be lifestyle choices.

It is easy to predict such revolutions, but you need evidence to back your statements. Well, blogging is one such sign. I read many exciting blogs by students, but two come to mind right now Claire’s and Didier’s. Claire is struggling to finish her Ph.D. while Didier is probably a top 1% undergraduate student. Of course, there are many examples of exciting blogs by students… but I pick these two because they are great examples. There is a tight integration between the learning process and the content of the blog. The blog is part of the learning process. You can see it live. In Claire’s case, it is not so much the content of her Ph.D. that is integrated with the blog, but rather the process of writting the damn thing and the usual Ph.D. versus employment struggle. Though Claire might have another blog strictly about the content of her Ph.D. As for Didier, he writes about the content of his classes and textbooks.

In many ways, I feel like Didier could be a student at my school. A relatively close student. Claire could be down the hall some place and we could chat about academia, industry and all the usual stuff. But this is happening on-line. This is all happening without a building. There is no brick-and-mortar involved. I suspect I might know a bit more about Didier and Claire than some of their professors do… This is what physical campuses are up against.

Technology in the classroom is not what eLearning is about. eLearning is about abolishing the classroom just like libraries have been abolished. I still go to libraries, but for the lifestyle effect… not to buy books. If I want to buy a book, I do it on-line.

In many ways, on-line learning is more human, it has more soul. It is about real people communicating, becoming part of a rich networking. Learning and growing together.

(Oh! And my blog is a student’s blog as well. I just happen to be on the other side of the fence, the side charging tuitions…)

Marketing will never be the same

Cringely points out that Apple is slowly making the normal retail and marketing process obselete.

This is the end of the RIAA and the big recording industry. Apple in the last year has signed deals with more than 300 independent record labels, most of them not big enough to do much promotion. But now they don’t have to because that promotion will be handled by mtv.com and every music web logger, now that they have a material incentive to make recommendations and print lists. If I recommend a song — IF I JUST TYPE A FEW WORDS — and a thousand people decide to download based on my recommendation, heck, I just made $50 bucks. This is like sending tens of thousands of record sales people out on the road except that they can sell anything THEY like — any of the one million iTunes songs — making them salespeople with real conviction and maybe even with good taste. Maybe.

To me, this is extremely interesting. When the dot-com era started, people began talking about the new economy. It was a catchy phrase, but it turned out to be wrong. There wasn’t a new economy, yet, but mostly an extension of the old one using new tools. However, the new economy is slowly emerging out of the burning ashes of the old one. Here is what is being transformed forever and dramatically: marketing and distribution channels. I think we are moving to a more distributed world. And I have the nagging feeling that Internet publishing will be the core element. We will buy and sell according to what we read and experience on the Web. Who controls that? Right now, the rising force are blogs. Blogs are essentially distributed publishing units. This is where the future lies, maybe.

Chronic lack of time in academia

Yes, I know, everybody runs out of time. All employees in the world have too much work…

But academia is kind of special because you have one of the most complex job description you can imagine. You are a teacher, a researcher, sometimes an engineer, sometimes a manager, sometimes a public speaker, sometimes a consultant and many other things yet, all wrapped in one job. And you are supposed to be very good at all those jobs. You do spend your typical day wearing many hats. I don’t think there are many jobs where you are expected to wear so many hats.

So, what happens? You run out of time. Which means you don’t do certain things. At some point, you learn to say “No”. Everybody has to say no, but I think that professors have to say no far more often than others. I think. But I’m currently wearing my blogger hat, and I have to quickly go back to my must-work-on-funding-application hat so don’t mind me.

PlanetMath a free/better alternative to Mathworld?

Mathworld is a mathematical encyclopedia on the Web. Up until now, I thought it was the only one. I was a bit annoyed at having to use Mathworld because it is owned by the Mathematica people and so, you never know when they won’t pull a Microsoft on you.

Didier (who I wrongly assumed to be from France initially) pointed out PlanetMath. The cool thing about PlanetMath is that the content is great and released under GPL. This means that they won’t pull a Microsoft on you! You can copy the content and redistribute it if you so wish. They can close their servers, but the data itself is free, free to go with someone else, free to be reproduced, free.

How Google is just plain better

What is one of the most visited page on all of my sites? It is “Jolie, petite coquine”, the Web page of our cat. The page was originally designed by my wife back when she had a Web site of her own. The page ranks high on Voila for some sex bound keyword searches and people arrive at my cat’s page because they are horny. Now, that’s at least 10 hits per day. How come Google doesn’t fall short the same way? I don’t know, but somehow, Google knows my cat isn’t a sex object…

Or is she? Well, check it out for yourself!

Note: in doing research for this post, I found out that dmoz.org actually indexes various sex sites in a taxonomy. But my cat is nowhere to be found.