donderdag 29 mei 2008

The manycore shift


"The manycore shift is coming!" my colleague Jos Bredek keeps telling (harassing?) me about every other day. "What are you going to do about it?"
Even if you take into account that the journals and bloggers are hyping each other up, it is an important development which is coming nearer everyday. The fact that multi/manycore systems are becoming prominent cries for programmers who have the skills to take advantage of them. And these programmers need to have programming languages and tools to work with.
What does a bachelor student need to know about parallel programming? How would we teach them this subject? I don't have definite answers yet, but it's got my attention.


So in the past weeks I've seen some interesting material passing by. I'll share the best with you:

* The manycore shift, a general white paper by microsoft.

* Microsofts parallel extensions are something a developer can sink his teeth in. This blog post by Daniel Moth shows the concrete usage in .Net. Daniel Moth? Yes, he's the guy from the QCon ("I speak so fast, just download the video and play it at half speed.")

* So what's the Java world up to then? Under JSR166 mr Doug Lea is working on a parallel "fork-join" framework which might be included in Java 7. Some interesting links: an InfoQ article, a in-depth pdf and the homepage including the API.


My first impression is that .Nets Parallel.for(...) and Parallel.do(...) are really simple and concise compared to the Java stuff? I could teach that in about 5 minutes. But then again, I might not yet know enough about this material to make a real comparison...

maandag 26 mei 2008

Slideshare.net


As there are sharing sites for pictures, movieclips etc, it shouldn't be a surprise that there are sites for sharing your presentations.

www.slideshare.net is one of those and it's a nice source to browse occasionally. It gives you:
a) Inspiration. Looking at all those great slides inspires me to try and make mine better. Take a look at "Death by powerpoint" for example to learn about another way that bullets can kill people.
b) Information. A lot of IT-related slides appear online, sometimes even during the conference the presentation was given.

vrijdag 16 mei 2008

Keeping up with Joomla CMS

After the website of our chessclub broke down, it was my wonderful task to get it up and running again. It was quite a painful experience, but now that I'm (almost :) through I'll share the lessons learned.

1. Rates and functionalities of webhosting have changed dramatically over the years. Our old webhosting was ripping us of. We're now moving to a webhost which is 1/3 of the price and offers Joomla pre-installed.
2. It's best to keep the administrative side of your site up to date. Our domainname was still registered under the name of somebody who had left the board. Getting his written confirmation lost us some time, together with some confusion about what the procedure was.
3. Resurrecting the website locally from a database backup took quite some time. Try getting the installer of Joomla 1.0.10. That's not so easy. Here we are returning to the general problem with open source: the lack of accessible documentation.
4. The migration process of the database from 1.0.x to 1.5 was reasonably well described. (But I later ran into the problem that a table including data just went missing?? I copied it by hand.)
5. But the fact that templates are broken was not well described. To solve this a lot of piecing together of forumposts was needed.

So I learned it the hard way, but got there in the end. But even though Joomla is maybe the most popular CMS out there, I would be dissatisfied with the quality if it were a commercial product.
- domainname moving
- webhosting prices and facilities
- setting up local webserver with wamp/xamp
- installing Joomla, components, modules and templates
- migrating Joomla 1.0.10 to 1.5.3
- migrating Joomla templates to 1.5.3

woensdag 14 mei 2008

Assembla: an all-in-one software development environment


Version control is a Good Thing. But supplying our students with a centralized CVS-server resulted in a lot of overhead (creating accounts and repositories, changing permissions halfway when the projects start, etc) which is a Bad Thing. So I started looking for an online version control system that students could manage for themselves. The first couple I found were free for one user per repository, but not for multiple users.

But then I stumbled across http://www.assembla.com/. This site offers not only a free Subversion repository but includes it in an entire suite of tools including Trac and a wiki. I uploaded all the code from our exercises into SVN (which integrates with Eclipse) and force students to get the code from there. When the project starts in two weeks time I will instruct the students to use the wiki to document the requirements. So far, things are looking good.