Tuesday, January 31st, 2006

New Electronic Mathematics Journal For Students

Filed under: — Daniel Lemire @ 10:49

Franklin sent me the following announcement, pass it along:

NEW ELECTRONIC MATHEMATICS JOURNAL FOR STUDENT PAPERS.

http://aejm.ca

Dear Colleague,

We would like to draw your attention to an exciting opportunity for your students to publish their research papers. The Atlantic Electronic Journal of Mathematics (the AEJM) is now accepting submissions.

We publish two issues per year, one in June and one late in December, with submission deadlines mid April and mid November, respectively.

The AJEM is a refereed online journal for articles in mathematics and related disciplines. The primary purposes are to give students (both graduate and undergraduate) a venue for publishing papers and to publish articles from established researchers at a level suitable for students. Each article is refereed by professional mathematicians to ensure a high publication standard.

While original research results are not required, high quality in exposition and content are required. The AEJM publishes new results, new perspectives on known results, historical aspects of mathematics, relationships between areas of mathematics (or other areas of study), or interesting applications of mathematical ideas or techniques.

The AEJM consists of serious mathematics at a student level, but slightly below the typical research journal. We see a gap in journals available at this level. If a student can get their work in an established research journal, then we obviously want them to do this. However, many times students produce work that is not suitable for research journals but is quality work demonstrating research ability and promise and this type of work should be recognized in a way that will aid the student’s in their careers.

So if you have (or know about) a summer research student, undergraduate honours student, beginning (or advanced) graduate student who has produced quality research and is looking for a place to publish, please encourage them to submit their work to the AEJM.

Thank you very much for your help in publicizing the AEJM to your students.

Franklin Mendivil
Holger Teismann

Do not open external links in new windows

Filed under: — Daniel Lemire @ 10:04

A university official who shall remain nameless wrote to me this morning the following sentence regarding our web sites:

it is important that links to external sites appear as a new window

The official claims this is for well-established legal reasons.

When Tim Berners-Lee invented the web in 1991, there were no concept of a link opening in a new page. In fact, the target attribute use to achieve this feat was a W3C recommendation only for a brief time: in HTML 4.0 which was immediately replaced by HTML 4.01. It is worth noting that neither frames nor target attributes are supported in recent versions of HTML (XHTML 1.1).

Let’s add that there are serious accessibility issues with opening new windows and that Jacob Nielsen considers it to be one of the top 10 errors web developers can make:

Even disregarding the user-hostile message implied in taking over the user’s machine, the strategy is self-defeating since it disables the Back button which is the normal way users return to previous sites. Users often don’t notice that a new window has opened, especially if they are using a small monitor where the windows are maximized to fill up the screen. So a user who tries to return to the origin will be confused by a grayed out Back button.

As for legal justifications, there are none.

Monday, January 30th, 2006

After Oracle and Microsoft, IBM sets its database free

Filed under: — Daniel Lemire @ 22:19

I wrote about this two months ago, but IBM finally announced it is setting a limited version of DB2 free. It was unavoidable after Microsoft and Oracle doing the same. It seems clear that the various free open source databases, MySQL, PostgreSQL, MaxDB, Firebird and Ingres, are putting a lot of pressure on the database vendors.

How to make external links exit HTML frames?

Filed under: — Daniel Lemire @ 13:33

Generally, avoiding copy and paste is a great idea whether you are designing a web page or sending people on the moon.

A common problem with the badly constructed web sites relying on HTML frames is that external links are loaded within the frame which poses serious usability issues. A better solution is not to use frames, but sometimes, you are stuck with them. I had an argument recently with some people who insisted they had to add a “target=’_top’” attribute to all external links, in all pages.

Using the DOM API and JavaScript, you can easily add the correct target attribute to all external links without any copy and paste if you follow the convention that external links begin with “http”. Simply add the following within the “head” element of your web page:


<script type="text/javascript">
function externalLinks() {
var anchors = document.getElementsByTagName("a");
for(var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
var myurl = anchor.getAttribute("href");
if( ! myurl) continue;
if(myurl.indexOf("http") == 0) {
anchor.setAttribute("target","_top");
}
}
}
window.onload = externalLinks;
</script>

Of course, this relies on JavaScript being enabled, you might have cross-browser issues, and it adds an overhead to the processing of the page.

Thursday, January 26th, 2006

Looking For Great Open Source Graph Library

Filed under: — Daniel Lemire @ 21:40

I’m currently looking for good open source graph theory. It needs to support basic algorithms for problems like minimum cost maximum flow. I need a GPL-compatible license.

  • In C++, I found that the Boost library has something pretty complete together with Python wrapping. But I hate working with Boost: it is monolithic, the code is obscur (to me) and they require their own build tools instead of the default unix way (./configure; make; make install).
  • In Python, I found NetworkX but while it has great plotting facilities, it lacks supports for fancy algorithms.
  • In Python, I found kjbuckets which is self-described as “a Python extension module that provides fast set, graph and mapping operations”.

NRC Promoting Slope One

Filed under: — Daniel Lemire @ 12:53

My old research group at NRC is promoting the Slope One algorithm for recommender systems:

The performance of Slope-One is remarkable; recommendations can be culled from collection of a million rated songs in a matter of seconds.

Note that the people who make this statement are only indirectly related with the authors of this algorithm (Anna and me) and they certainly could have chosen to work with other algorithms now that we have left NRC for quite some time (2 years). They base these statements on in-house, independent implementations they have designed.

Sunday, January 22nd, 2006

Why libxml2 takes forever to transform XHTML files

Filed under: — Daniel Lemire @ 13:03

For my Online XML Course, I process lots and lots of XHTML content using XSLT. Up until now, I avoided the libxml2 XSLT processor (xstlproc) because it was unacceptably slow.

Today, I found out what is happening. It loads all of the XHTML DTD files from W3C each and every time it processes an XHTML file. To get around the problem, use the –novalid flag when invoking the xsltproc command line. You might get warnings about problematic entities, so I suggest you try a DOCTYPE declaration like the following:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"[
<!ENTITY laquo "&#171;">
<!ENTITY raquo "&#187;">
<!ENTITY oelig "&#339;">
<!ENTITY nbsp "&#160;">
]>

Next Page »

30 queries. 0.188 seconds. Valid XHTML

Powered by WordPress

Subscribe to this blog in a reader or by Email.