blog dds

2012.01.11

Refactoring on the Cheap

The refactorings that a good integrated development environment can perform are impressive. Yet, there are many reasons to master some cheap-and-cheerful alternative approaches. First, there will always be refactorings that your IDE won’t support. Also, although your IDE might offer excellent refactoring support for some programming languages, it could fall short on others. Modern projects increasingly mix and match implementation languages, and switching to a specialized IDE for each language is burdensome and inefficient. Finally, IDE-provided refactorings resemble an intellectual straightjacket. If you only know how to use the ready-made refactorings, you’ll miss out on opportunities for other code improvements.

Continue reading "Refactoring on the Cheap"

2012.01.08

Mind Mapping

In a recent NPR interview the journalist described how I used a mind map to organize my work while I served as Secretary General for Information Systems at the Greek Ministry of Finance. A number of people asked me for more details; if you're interested read on.

Continue reading "Mind Mapping"

2011.12.28

Pretend Invitations

Choosing between people you want to invite to a function and people you have to invite is sometimes difficult. Say Alice wants to invite Tom, Dick, and Harry to a party, but she'd actually prefer if Dick didn't show up. Here's how Alice can send invitations by email from an email-capable Unix system to achieve the desired result, while covering her scheming with plausible deniability.

Continue reading "Pretend Invitations"

2011.12.17

Advice from Successful Greek IT Startups

Members of the Hellenic Association of Mobile Application Companies and the Hellenic Semiconductor Industry Association, assorted biotechnology companies, and representatives from Greek and US-based venture capital funds gathered on Friday December 17, 2011 in a meeting to exchange advice, tips, and war stories on venturing abroad. It was one of the most inspiring meetings I've attended for some time. These are my notes from the meeting.

Continue reading "Advice from Successful Greek IT Startups"

2011.12.14

Apps are the New Users

Some facilities provided by mature multi-user operating systems appear arcane today. Administrators of computers running Mac OS X or Linux can see users logged-in from remote terminals, they can specify limits on the disk space one can use, and they can run accounting statistics to see how much CPU time or disk I/O a user has consumed over a month. These operating systems also offer facilities to group users together, to specify various protection levels for each user's files, and to prescribe which commands a user can run.

Continue reading "Apps are the New Users"

2011.11.27

Using the HP 4470c Scanner Under Windows 7

Neither Hewlett Packard nor Microsoft Windows 7 offer native support for my HP 4470c scanner. Throwing a working scanner away to buy a new one only because some software was missing seemed like a waste, so I looked for an alternative solution. This is how I made it work using SANE, an open source framework for scanners.

Continue reading "Using the HP 4470c Scanner Under Windows 7"

2011.10.30

Lessons from Space

By Diomidis Spinellis and Henry Spencer

We can lick gravity, but sometimes the paperwork is overwhelming.

— Wernher von Braun

Twilight saw the landing of Atlantis at the Kennedy Space Center on 21 July 2011, marking the end of the 30-year Space Shuttle program and leaving the Soyuz series of spacecraft as the only remaining major option for sending humans into space. With a history of 1,700 flights over an almost half-century lifetime, the Soyuz rocket and spacecraft are arguably a tremendously successful spaceflight design. Given the parallels between the complexity of human spaceflight and large software systems, what can we developers learn from the Soyuz program?

Continue reading "Lessons from Space"

2011.09.11

Faking it

This column is about a tool we no longer have: the continuous rise of the CPU clock frequency. We were enjoying this trend for decades, but in the past few years, progress stalled. CPUs are no longer getting faster because their makers can’t handle the heat of faster-switching transistors. Furthermore, increasing the CPU’s sophistication to execute our instructions more cleverly has hit the law of diminishing returns. Consequently, CPU manufacturers now package the constantly increasing number of transistors they can fit onto a chip into multiple cores—processing elements—and then ask us developers to put the cores to good use.

Continue reading "Faking it"

2011.07.31

Impact Factor of Computer Science Journals 2010

The Thomson Reuters Web of Knowledge has published the 2010 Journal Citation Reports. Following similar studies I performed in 2007, 2008, 2009, and 2010, here is my analysis of the current status and trends for the impact factor of computer science journals.

Continue reading "Impact Factor of Computer Science Journals 2010"

2011.07.23

How I Dealt with Student Plagiarism

Panos Ipeirotis, a colleague at the NYU Stern School of Business, received considerable media attention when, in a blog post he subsequently removed, he discussed how his aggressive use of plagiarism detection software on student assignments poisoned the classroom atmosphere and tanked his teaching evaluations. As detailed in a story posted on the Chronicle of Higher Education blog, Mr. Ipeirotis proposes instead that professors should design assignments that cannot be plagiarized. Along these lines here are two methods I've used in the past.

Continue reading "How I Dealt with Student Plagiarism"


Creative Commons License Last update: Thursday, January 12, 2012 1:02 pm
Unless otherwise expressly stated, all original material on this page created by Diomidis Spinellis is licensed under a Creative Commons Attribution-Share Alike 3.0 Greece License.