Europeana Launches, Again
The European Union's digital library
Europeana,
launched with great fanfare last month only to crash two hours later
due to high demand.
Today it came back up again with quadruple serving capacity and a promise
for a suboptimal user experience during its test phase.
Continue reading "Europeana Launches, Again"Last modified: Wednesday, December 24, 2008 7:55 pm
No Blinkelichten, Please
A computer's flashing lights used to fascinate me.
They showed me it was alive and offered me a glimpse on
its innards.
They also epitomized the hacker culture of the famous "Blinkenlichten" sign.
Continue reading "No Blinkelichten, Please"Last modified: Monday, December 22, 2008 5:54 pm
Sound-Bytes from the Open World Forum
I'm currently attending the
Open World Forum taking place
in Paris.
The conference is proving extremely interesting with many notables,
like,
Jim Whitehurst the president and CEO of Red Hat and
Mike Milinkovich the executive director of the Eclipse Foundation,
talking and exchanging opinions.
Many of the discussions are too cerebral to be effectively blogged,
but here are some sound-bytes I noted down from the session on
public policies to promote sustainable development of shared resources.
Continue reading "Sound-Bytes from the Open World Forum"Last modified: Tuesday, December 2, 2008 4:00 pm
Robert Kaplan on Strategy Execution
Today I attended a presentation by
Robert S. Kaplan,
a Professor of Leadership Development at the
Harvard Business School,
on using strategy maps and balanced scorecards in a strategy execution system.
Dr. Kaplan managed to distill 15 years of research and its application by
the world's leading companies into a fascinating 90 minute talk.
These are my notes.
Continue reading "Robert Kaplan on Strategy Execution"Last modified: Monday, November 10, 2008 11:34 am
The Value of Computing Paradigm Diversity
Today I wrote a combinatorial optimization algorithm to match members of
pair programming
teams according to the psychological traits of each pair's members.
The program appeared to rearrange the initial random allocation of pairs
in a way that might match my specifications.
However, as I'll use this allocation for an experiment that I'll be able
to perform only once, I realized that I wanted to carefully verify the results.
How does one verify the operation of such a program?
Continue reading "The Value of Computing Paradigm Diversity"Last modified: Friday, November 7, 2008 5:03 pm
Monitor Process Progress on Unix
I often run file-processing commands that take many hours to
finish, and I therefore need a way to monitor their progress.
The Perkin-Elmer/Concurrent OS32 system I worked-on for a couple
of years back in 1993 (don't ask)
had a facility that displayed for any executing
command the percentage of work that was completed.
When I first saw this facility working on the programs I maintained,
I couldn't believe my eyes, because I was sure that those rusty
Cobol programs didn't contain any functionality to monitor their progress.
Continue reading "Monitor Process Progress on Unix"Last modified: Monday, October 27, 2008 1:34 pm
A Look at Zero-Defect Code
The US
National Security Agency
has released a case study showing how to
develop zero-defect code in a cost-effective manner.
The researchers of the project conclude that,
if adopted widely, the practices advocated in the case study
could help make commercial software programs more reliable and less vulnerable.
I examined a small part of the case study's code, and was not impressed.
Continue reading "A Look at Zero-Defect Code"Last modified: Saturday, October 18, 2008 1:39 pm
Missing the Point
A number of Greek web sites offer for download a very strange Excel form.
Continue reading "Missing the Point"Last modified: Thursday, October 16, 2008 5:36 pm
An Inadvertent Denial of Service Attack
If you're wondering why this blog was down for the past few hours, here is
the story.
In an earlier blog post I listed a small script
I'm using to lock-away door knockers who attempt to break into our
group's computer by trying various passwords.
If you like puzzles, read the script again and think how it
could be used against us by isolating our computer from the entire world.
Continue reading "An Inadvertent Denial of Service Attack"Last modified: Wednesday, October 8, 2008 10:10 am
Suspend Windows from the Command Line
I used to leave my computer up all night, but I've come to realize that this
is ecologically unsound.
Now I suspend it before going to sleep, but this missed running
a daily job that used to run at 03:00 am.
The job marks my students' exercises and send me email with the next day's
appointments.
I thus decided to schedule the task to wakeup my computer at 3:00 am,
run the job, and then suspend it again.
The Windows scheduler allows you to specify a wakeup option,
but not a subsequent suspend.
Furthermore, it seems that Windows lacks a way to suspend from the
command line (while maintaining the ability to hibernate), and the
only free tools on the web are distributed in executable form,
so I ended writing a small tool myself.
Continue reading "Suspend Windows from the Command Line"Last modified: Monday, October 6, 2008 7:25 pm
Web Services Come of Age
For years I've reacted to the hype surrounding web services with skepticism.
I found SOAP, WSDL, and UDDI to be too complex and brittle for wide deployment,
and I also wondered what types of services could be better provided over the
web rather than locally.
A new excellent developer site,
Stack Overflow,
answers both of my concerns.
Continue reading "Web Services Come of Age"Last modified: Wednesday, September 24, 2008 10:47 am
Central Planning Hurts Research
Today I was invited to contribute to the European Commission
Information Society's
public consultation
that will be used to draft (in the Commission's words)
a new strategy for ICT research and innovation aiming is to put European
ICT industry, especially SMEs, to the fore of the race for global
competitiveness.
I believe that the Commission's approach towards research planning
and funding is fundamentally wrong.
Continue reading "Central Planning Hurts Research"Last modified: Tuesday, September 16, 2008 3:07 pm
Unzipping Files in Order
Over the past couple of years I've enjoyed listening to the
audio edition of the
Economist newspaper.
The material is superb
(although I occasionally get the feeling of listening to the
Voice of America),
the articles are read in a clear voice,
the data's encoding is plain MP3,
unencumbered by digital rights (restrictions) management silliness,
and the audio format is convenient to listen on the metro or while jogging.
Unfortunately, the articles in the audio edition's zip file are
haphazardly ordered, which, until today, marred the enjoyment of my listening.
Continue reading "Unzipping Files in Order"Last modified: Thursday, September 11, 2008 6:05 pm
Daring Youth: Then and Now
My friend and colleague Stephanos Androutsellis-Theotokis
pointed me to two amazing YouTube videos
(here and
here)
of
Parkour and
Free running.
He commented that
it's crazy what these people can do,
and with how much flow and speed.
Continue reading "Daring Youth: Then and Now"Last modified: Saturday, September 6, 2008 2:16 pm
UMLGraph Version 5.1
Over the summer two articles presented
UMLGraph to the masses.
Paul Duvall wrote on IBM developerWorks an article titled
Automation for the people: Pushbutton documentation, and
Meera Subbarao published on DZone Javalobby another piece on how to
reverse-engineer source code into UML diagrams.
In addition, I received a number of interesting patches and contributions.
As a result I decided it was time to release UMLGraph version 5.1.
Continue reading "UMLGraph Version 5.1"Last modified: Wednesday, August 27, 2008 8:28 pm
Saving the Editor's History
I recently spent a few days writing some tricky bit-twiddling code to
implement a radix tree.
I found myself making many programming mistakes, and I thought it would be
interesting to study them, examine their contributing factors, and
think how each of them could be prevented.
Continue reading "Saving the Editor's History"Last modified: Monday, August 25, 2008 4:32 pm
Two More Years of Wikipedia Data
Following a
study
that my colleague Panagiotis Louridas and I published in the August 2008 issue of the Communications of the ACM,
Victor Grishchenko
gave me a copy of a complete Wikipedia dump covering 2006
and 2007 (enwiki-20080103-pages-meta-history.xml.7z).
Over the past four days I reran the study on this new data set.
Continue reading "Two More Years of Wikipedia Data"Last modified: Friday, August 8, 2008 11:30 pm
A Child's Crontab
When the time to go to sleep is approaching,
all children seem to be configured with the same crontab.
Continue reading "A Child's Crontab"Last modified: Tuesday, August 5, 2008 9:35 am
Top Researchers in Computer Science and Informatics
Today the
European Research Council announced
the
105 recipients
of its prestigious advanced research grants in physics
and engineering.
Eight proposals got selected by the Computer Science and Informatics panel.
As I had also applied for an ERC advanced research grant,
I followed the results with considerable interest.
Given the highly competitive nature of the program and the carefully
designed proposal and evaluation procedure,
the selected proposals make an interesting reading;
the winners are clearly the researchers and projects to watch in the future.
Continue reading "Top Researchers in Computer Science and Informatics"Last modified: Thursday, July 31, 2008 7:28 pm
Wikipedia Faces no Limits to Grow
Although there have been
many studies
on
Wikipedia,
little attention has been given to the limits to its growth.
As Wikipedia is expanding, it is possible that new concepts are added
without having corresponding articles, or that the number of new
concepts grows slower than the number of articles. In the first case,
Wikipedia's coverage will deteriorate as it will contain articles
drowned in an increasing number of undefined concepts. In the second
case, Wikipedia's growth may stall.
A new
study, which my colleague Panagiotis Louridas and I
published in the
August 2008 issue of the
Association for Computing Machinery
flagship magazine
Communications of the ACM,
shows that Wikipedia sits
comfortably between the two extremes.
Continue reading "Wikipedia Faces no Limits to Grow"Last modified: Wednesday, July 30, 2008 7:35 pm
Eric K. Clemons on Monetizing the Net Without Advertising
Earlier today I attended a very interesting and entertaining talk that
Eric K. Clemons,
Professor of Operations and Information Management and Management
at Wharton,
gave on Internet business models that don't rely on advertising.
Continue reading "Eric K. Clemons on Monetizing the Net Without Advertising"Last modified: Wednesday, July 16, 2008 4:34 pm
Impact Factor of Computer Science Journals 2007
The ISI Web of Knowledge
recently published the 2007
Journal Citation Reports.
Following
a similar study I performed last year,
here is my analysis of the current status and trends for the
impact factor
in computer science journals.
Continue reading "Impact Factor of Computer Science Journals 2007"Last modified: Friday, June 27, 2008 11:22 pm
The Way We Program
If the code and the comments disagree, then both are probably wrong.
Continue reading "The Way We Program"Last modified: Thursday, June 26, 2008 12:40 am
Denise Rousseau on Publishing to Top Tier Journals
Yesterday I heard a talk by
Denise M. Rousseau,
President of the Academy of Management and the 1998-2007 Editor-in-Chief of the Journal of Organizational Behavior.
During the talk (which turned out to be an interesting Q&A discussion)
I wrote down some of the tips she gave.
Here they are.
Continue reading "Denise Rousseau on Publishing to Top Tier Journals"Last modified: Friday, May 30, 2008 10:25 am
Interoperability, at Last
Language is a very powerful way to describe behavior.
Therefore even when I create pictures, instead of dragging around my mouse,
I use declarative tools like GraphViz,
gnuplot,
and
UMLGraph.
These allow me to describe what I want to draw, instead of
how I want the end-result to look like.
The truth however is that the end-results are not always perfect.
Today I realized that the state of the art has advanced to the point
where I can create the drawing declaratively, and then visually
polish the final drawing.
Continue reading "Interoperability, at Last"Last modified: Saturday, May 24, 2008 9:48 pm
A Visit at BMW's Leipzig Factory
Yesterday I had a chance to tour the BMW Leipzig factory.
It was a unique experience, in which I witnessed
the sophistication of modern production methods,
and the most well-organized complex human undertaking I have seen first hand.
The factory literally runs like a clockwork, eerily bringing to my mind
the descriptions of Mars's factories in Bogdanov's science fiction novel
Red Star.
Continue reading "A Visit at BMW's Leipzig Factory"Last modified: Saturday, May 17, 2008 3:20 am
Open and Closed Source Kernels Go Head to Head
Earlier today I presented at the
30th International Conference on Software Engineering a
research paper comparing the
code quality of Linux, Windows (its
research kernel distribution),
OpenSolaris, and
FreeBSD.
For the comparison I parsed multiple configurations of these systems (more than ten million lines), and stored the results in four databases, where I could run SQL queries on them. This amounted to 8GB of data, 160 million records.
(I’ve made the databases and the SQL queries available
online.)
The areas I examined were file organization, code structure, code style, preprocessing, and data organization.
To my surprise there was no clear winner or looser, but there were interesting differences in specific areas.
Continue reading "Open and Closed Source Kernels Go Head to Head"Last modified: Friday, May 16, 2008 1:44 am
Software Builders
The tools and processes we use to transform our system’s source code into an application we can deploy or ship were always important, but nowadays they can mean the difference between success and failure. The reasons are simple: larger code bodies, teams that are bigger, more fluid, and wider distributed, richer interactions with other code, and sophisticated tool chains. All these mean that a slapdash software build process will be an endless drain on productivity and an embarrassing source of bugs, while a high-quality one will give us developers more time and traction to build better software.
Continue reading "Software Builders"Last modified: Tuesday, May 6, 2008 12:04 am
In Presentations Less is More
A couple of months ago I prepared the slides for a paper I will present
at the
30th International Conference on Software Engineering.
After reading Garr Reynolds's book
Presentation Zen: Simple Ideas on Presentation Design on Presentation Design and Delivery
I became enlightened, and I decided to redo the presentation from scratch,
creating less cluttered, more focused, and simpler slides.
Continue reading "In Presentations Less is More"Last modified: Monday, April 28, 2008 0:12 am
Assigning Responsibility
Over the past few days I worked over a large code body correcting various
accumulated errors and style digressions.
When I finished I wanted to see who wrote the original lines.
(It turned out I was not entirely innocent.)
Continue reading "Assigning Responsibility"Last modified: Sunday, April 20, 2008 9:34 pm
LTO Tape Drive Compression Considered Harmful
I used to think that tape drive compression was a silly marketing trick
used by manufacturers to inflate the advertised capacity of their tape drives.
Apparently it is worse than that.
Continue reading "LTO Tape Drive Compression Considered Harmful"Last modified: Friday, April 18, 2008 0:21 am
A Minute Minute Minder
Today I delivered the opening
keynote address
at the 4th Panhellenic Conference on Computer Science Education.
For a number of reasons (more on that later) I wanted to keep track of
my progress during the presentation.
For this I put together a minute minder that displayed the
time from the presentation's start and the slide I should be in.
I could thus adjust my pace to finish as planned.
Continue reading "A Minute Minute Minder"Last modified: Saturday, March 29, 2008 6:22 am
Using and Abusing XML
Words are like leaves; and where they most abound,
Much fruit of sense beneath is rarely found.
Continue reading "Using and Abusing XML"Last modified: Friday, May 2, 2008 11:11 am
Backwards Compatibility in Office Open XML
As a member of my country's
national standards body
committee on electronic data processing, I lately spend considerable time
deliberating what our position should be in the upcoming Office Open XML
ISO Ballot Resolution Meeting in Geneva.
My biggest objection concerns large parts of the standard that
are proposed to live in an Annex containing normative descriptions of
deprecated features that will only be used by existing binary documents.
The rationale behind this decision is backwards compatibility.
My opinion is that this solution is counterproductive for a number
of reasons.
Continue reading "Backwards Compatibility in Office Open XML"Last modified: Thursday, February 21, 2008 6:37 pm
The Power of an Integrated Platform
FreeBSD, unlike Linux, is not a kernel, but a complete
operating system.
This allows a much smoother integration of its components,
which is a real boon when you try to locate and fix a problem.
The source code for all the parts is all ordered in a single
directory tree for you to examine and experiment with.
Continue reading "The Power of an Integrated Platform"Last modified: Thursday, February 21, 2008 8:15 am
What I'd Say to Bill Gates
Bill Gates is visiting Athens tomorrow.
In his short stay he'll inaugrate Microsoft's
so-called innovation center, which is provided
as an offset for a deal Microsoft signed with the Greek government
for the purchase of 70.000 licenses, and he'll also give a talk
on Microsoft's vision for the future of technology.
As a prelude to this event
the Sunday newspaper Eleftherotypia inset
Epsilon
has invited a few Greek open-source advocates to give in a few sentences
what they would say to Bill Gates during his visit.
Continue reading "What I'd Say to Bill Gates"Last modified: Sunday, January 27, 2008 11:56 am
The Mysterious TreeMap Type Signature
For my lecture notes on file handling
I wrote a small Java program to display the number of characters
that fall in each
Unicode block,
and got bitten by an unexpected
runtime error.
Angelika Langer,
a wizard of Java Generics, kindly provided me with an explanation
of the JDK design,
which I'd like to share.
Continue reading "The Mysterious TreeMap Type Signature"Last modified: Wednesday, January 23, 2008 11:34 am
Rational Metaprogramming
Metaprogramming, using programs to manipulate other programs, is as old as programming. From self-modifying machine code in early computers to expressions involving partially applied functions in modern functional-programming languages, metaprogramming is an essential part of an advanced programmer’s arsenal.
Continue reading "Rational Metaprogramming"Last modified: Sunday, January 13, 2008 10:52 am
The Relativity of Performance Improvements
Today, after receiving a 1.7MB daily security log message containing
thousands of ssh failed login attempts from bots around the
world, I decided I had enough.
I enabled IPFW to a FreeBSD system I maintain, and added a script
to find and block the offending IP addresses.
In the process I improved the script's performance.
The results of the improvement were unintuitive.
Continue reading "The Relativity of Performance Improvements"Last modified: Monday, January 7, 2008 10:58 am
Curing MIDlet Bluetooth Disconnects
Over the last few days I've been writing a
MIDlet
to collect GPS coordinates and cell identifiers.
I'm doing this
in an effort to look at what algorithms might be needed
in order to implement something similar to Google's
My Location
service.
Here is a Google Earth example of the data I'm collecting.
Yesterday,
I reached a point where I was collecting all the information I needed,
but the program was often plagued by random disconnections of the Bluetooth
link to the GPS.
Continue reading "Curing MIDlet Bluetooth Disconnects"Last modified: Friday, January 4, 2008 1:13 pm