Daniel Lemire's blog

Longtable LaTeX package breaks pages after header

, 1 min read

Here’s an annoying longtable bug for those of you using LaTeX for a living. Sometimes, but rarely so, a longtable will break at the oddest places when using horizontal lines (hline), including right after the header. The solution is to define a special kind of hline called “nobreakhline” and…

My most commented posts so far

, 2 min read

Following on my earlier post about wordpress statistics, I decided to pull out my most frequently commented posts: select count(comment_id) as cnt,post_title,guid from wp_posts, wp_comments where comment_post_id=id group by post_title having cnt>12 order by cnt desc; post number of…

My wordpress statistics

, 2 min read

Following Mauro, here are my blogging statistics… While we are at it, why not explore a bit how wordpress stores its data? First, I had to do some cleaning up of the comments to ensure I do not miscount them, let’s remove the spam: mysql> delete from wp_comments where comment_approved =…

Stephen Downes comments on his current job/location

, 2 min read

Stephen Downes was a coworker of mine. While I left, he is still a senior researcher at the largest research institution in Canada. It is thanks to him if this blog exists, if I understand why the current university learning model is wrong, and finally, why I keep on putting into question so many…

My predictions for IT in year 2006

, 3 min read

A year ago, I made a few predictions regarding IT in 2005. Let’s see how well I did. Didn’t come true at all: The home PC market will keeping declining and by the end of 2005, a new architecture will seriously threaten the PC for home web surfing, email and instant messaging. There will be…

Time to move from Numerical Python to SciPy Core

, 1 min read

If you are a Python user, and you do Numerical Analysis, it might be time to move from Numerical Python to SciPy Core. I complained earlier about SciPy Core, but it seems that most of the problems I pointed out (missing inline documentation and broken functions) have either been fixed, or I wrongly…

Java Data Mining 2.0 – Early Draft Review

, 1 min read

An early draft of Java Data Mining 2.0 (JSR-000247) is available. In JDM 2.0, data mining includes the functional areas of classification, regression, attribute importance, clustering, association, feature extraction, time series, and anomaly detection. These are supported by such supervised and…

Standard Deviations : XSLT, RDF, XQuery, XLinq

, 2 min read

Standard Deviations says he doesn’t get XSLT, RDF, XQuery, XLinq. Here are some of his comments: XSLT: It seems to me transformation is complex. It appears it requires a programming language. It strikes me I know a couple of those already. It strikes me that XSLT is yet another, and that I would…

A solid Firefox extension for turning any textarea into a rich editor

, 1 min read

I’m still looking for a Firefox extension that will turn any textarea (such as those found in forms) into a powerful text editor. Meanwhile, I just found Xinha Here! It turns any textarea into a pretty decent HTML editor. The little secret is that an HTML editor is also a text editor. Not a very…

BASIC for Javascript

, 1 min read

Will Whim points us to a BASIC interpreter working in your Firefox 1.5+ browser. I tried it and it took a really long time to start and the fonts are just way too small for my tired eyes, but it works and reminds me of the good old Microsoft BASIC implementation from when Microsoft meant command…

AJAX RSS Display

, 2 min read

Using JavaScript only without any server-side script, you want to be able to display a RSS feed? Easy! (But it took me 3 hours of hacking.) First setup a web page like this (write your own HTML, this is only an example): <html> <head> <title>JavaScript RSS…

Metaclass programming in Python

, 1 min read

I’m a few years behind, but while I knew you could modify classes in Python, it turns out you can do it conveniently as of Python 2.2. Here’s how you can dynamically create a class: >>> from new import classobj Foo2 = classobj('Foo2',(),{"mymethod":lambda self,x:…

Multisite lecturing on a budget using webhuddle

, 1 min read

Here is our current plan for this Spring’s CS6905 Advanced Technology on E-business course. The course will be offered in Fredericton and Saint John, and there are three lecturers: Yuhong Yan, Owen Kaser and myself (and I reside near Montreal). Also, while Owen and I are Linux addicts, Yuhong…