<?xml version="1.0" encoding="UTF-8"?>
<rss
	version="2.0"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:admin="http://webns.net/mvcb/"
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:blogChannel="http://backend.userland.com/blogChannelModule"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel>
	<title>Diomidis D. Spinellis Web Log</title>
	<link>http://www.spinellis.gr/blog</link>
	<description>The Internet soapbox of Diomidis Spinellis</description>
	<dc:creator>dds</dc:creator>
	<dc:type>Text</dc:type>
	<dc:title>Diomidis D. Spinellis Web Log</dc:title>
	<dc:identifier>http://www.spinellis.gr/blog</dc:identifier>
	<dc:date>2004-08-20T18:00:00-03:00</dc:date>
	<dc:language>en</dc:language>
	<sy:updatePeriod>weekly</sy:updatePeriod>
	<sy:updateFrequency>2</sy:updateFrequency>
	<sy:updateBase>2003-01-01T12:00+00:00</sy:updateBase>
	<generator>$Id: blog.pl,v 1.43 2011/05/31 16:05:06 dds Exp dds $</generator>
	<docs>http://blogs.law.harvard.edu/tech/rss</docs>
	<atom:link href="http://www.spinellis.gr/blog/dds-blog-rss.xml" rel="self" type="application/rss+xml" />

	<image rdf:about="http://www.spinellis.gr/dds.gif">
		<title>Diomidis D. Spinellis Web Log</title>
		<url>http://www.spinellis.gr/dds.gif</url>
		<link>http://www.spinellis.gr/blog</link>
	</image>

	<item>
		<title>Systems Software</title>
		<link>http://www.spinellis.gr/blog/20130508</link>
		<description>
 
Systems software is the low-level infrastructure that applications run on: the operating systems, language runtimes, libraries, databases, application servers, and many other components that churn our bits 24/7. It&#8217;s the mother of all code. In contrast to application software, which is constructed to meet specific use cases and business objectives, systems software should be able to serve correctly any reasonable workload. Consequently, it must be extremely reliable and efficient. When it works like that, it&#8217;s a mighty tool that lets applications concentrate on meeting their users&#8217; needs. When it doesn&#8217;t, the failures are often spectacular. Let&#8217;s see how we go about creating such software.
 

</description>
		<guid isPermaLink="true">http://www.spinellis.gr/blog/20130508</guid> <!-- Hardcoded site here -->
		<dc:creator>Diomidis D. Spinellis</dc:creator>
		<dc:type>Text</dc:type>
		<dc:title>Systems Software</dc:title> <!-- Hardcoded site here -->
		<dc:identifier>http://www.spinellis.gr/blog/20130508</dc:identifier>
		<dc:date>2013-05-08T13:58:37-00:00</dc:date>
		<dc:language>en</dc:language>
	</item>

	<item>
		<title>How to Fix the Sony MDR-W08L Headphones</title>
		<link>http://www.spinellis.gr/blog/20130330</link>
		<description>
 
I love the  Sony MDR-W08L headphones ,
because they are featherlight and the only ones that don't
fall from my ears when I run.
Sadly, there's no effective strain relief at the point where the cable leaves
their body.
As a result the cable can become internally severed,
and the sound becomes intermittent.
Here's how to fix this problem.
 

</description>
		<guid isPermaLink="true">http://www.spinellis.gr/blog/20130330</guid> <!-- Hardcoded site here -->
		<dc:creator>Diomidis D. Spinellis</dc:creator>
		<dc:type>Text</dc:type>
		<dc:title>How to Fix the Sony MDR-W08L Headphones</dc:title> <!-- Hardcoded site here -->
		<dc:identifier>http://www.spinellis.gr/blog/20130330</dc:identifier>
		<dc:date>2013-03-30T11:51:58-00:00</dc:date>
		<dc:language>en</dc:language>
	</item>

	<item>
		<title>Software Tools Research: SPLASH Panel Discussion</title>
		<link>http://www.spinellis.gr/blog/20130314</link>
		<description>
 
Written by Dennis Mancl and Steven Fraser
 
 At the recent SPLASH (Systems, Programming, Languages and Applications: Software for Humanity) conference, one of us (Steven Fraser) organized an international group of experts to discuss challenges in software tools research.  1   The panelists included Kendra Cooper (University of Texas, Dallas), Jim &#8220;Cope&#8221; Coplien (Gertrud &amp; Cope), Junilu Lacar (Cisco Systems), Ruth Lennon (Letterkenny Institute of Technology), Diomidis Spinellis (Athens University of Economics and Business), and Giancarlo Succi (Free University of Bolzano-Bozen). 
 The discussion interwove three threads&#8212;tool use, development, and education&#8212;and the panelists took a critical look at how well tools serve the needs of software professionals, managers, and academics. Their passion for the topic was reflected through some heated exchanges, even during the opening statements.  

</description>
		<guid isPermaLink="true">http://www.spinellis.gr/blog/20130314</guid> <!-- Hardcoded site here -->
		<dc:creator>Diomidis D. Spinellis</dc:creator>
		<dc:type>Text</dc:type>
		<dc:title>Software Tools Research: SPLASH Panel Discussion</dc:title> <!-- Hardcoded site here -->
		<dc:identifier>http://www.spinellis.gr/blog/20130314</dc:identifier>
		<dc:date>2013-03-14T11:18:01-00:00</dc:date>
		<dc:language>en</dc:language>
	</item>

	<item>
		<title>Systems Code</title>
		<link>http://www.spinellis.gr/blog/20130221</link>
		<description>
 
If I program in many high and low-level languages, but don’t write systems code, I am a quiche programmer or a code monkey. And if my code runs without errors, and I know the complexity of all algorithms; and if my servers have hundreds of cores and gigabytes of RAM, but don’t write systems code, I am nothing. And if I run the hippest kernel, and install the neatest apps, but don’t write systems code, it profiteth me nothing.
 

</description>
		<guid isPermaLink="true">http://www.spinellis.gr/blog/20130221</guid> <!-- Hardcoded site here -->
		<dc:creator>Diomidis D. Spinellis</dc:creator>
		<dc:type>Text</dc:type>
		<dc:title>Systems Code</dc:title> <!-- Hardcoded site here -->
		<dc:identifier>http://www.spinellis.gr/blog/20130221</dc:identifier>
		<dc:date>2013-02-21T15:04:37-00:00</dc:date>
		<dc:language>en</dc:language>
	</item>

	<item>
		<title>The Importance of Being Declarative</title>
		<link>http://www.spinellis.gr/blog/20130123</link>
		<description>
 A declarative programming style focuses on what you want your program to do rather than how to perform the task. Through diverse programming techniques, libraries, and specialized languages, you end up with code that sidesteps nitty-gritty implementation details, dealing instead with a task&#8217;s big picture. 

</description>
		<guid isPermaLink="true">http://www.spinellis.gr/blog/20130123</guid> <!-- Hardcoded site here -->
		<dc:creator>Diomidis D. Spinellis</dc:creator>
		<dc:type>Text</dc:type>
		<dc:title>The Importance of Being Declarative</dc:title> <!-- Hardcoded site here -->
		<dc:identifier>http://www.spinellis.gr/blog/20130123</dc:identifier>
		<dc:date>2013-01-23T16:27:51-00:00</dc:date>
		<dc:language>en</dc:language>
	</item>

	<item>
		<title>APIs, Libraries, and Code</title>
		<link>http://www.spinellis.gr/blog/20121219</link>
		<description>
 
Let&#8217;s say you want to display a JPEG-compressed image, calculate Pearson&#8217;s correlation coefficient, parse an XML file, or create a key-value store. You can often choose between using the functionality of the application&#8217;s platform (Java EE or .NET), calling one of several available external libraries, or writing the code on your own. It isn&#8217;t an easy choice because you have many factors to consider. Specifically, you must take into account the task&#8217;s complexity, as well as the licensing, quality, and support of competing alternatives. See how you can narrow down your choice by eliminating alternatives at the earliest possible decision point.
 

</description>
		<guid isPermaLink="true">http://www.spinellis.gr/blog/20121219</guid> <!-- Hardcoded site here -->
		<dc:creator>Diomidis D. Spinellis</dc:creator>
		<dc:type>Text</dc:type>
		<dc:title>APIs, Libraries, and Code</dc:title> <!-- Hardcoded site here -->
		<dc:identifier>http://www.spinellis.gr/blog/20121219</dc:identifier>
		<dc:date>2012-12-19T10:44:45-00:00</dc:date>
		<dc:language>en</dc:language>
	</item>

	<item>
		<title>Changes in the Way we View Computing</title>
		<link>http://www.spinellis.gr/blog/20121212</link>
		<description>
 
The  Association for Computing Machinery 
recently released the
 2012 version of the ACM Computing Classification System  (CCS).
This is the work of 120 volunteers and marks significant changes over
the previous version, which was released in 1998.
To create it the volunteers mined ACM Digital Library search terms and used
the services of a specialist company that creates ontologies.
To see what has changed in the past 14 years in the way we view computing,
I used
 Wordle  to create word clouds from the 1998 and the 2012 versions.
Here are the two views of our discipline's Zeitgeist
and my take of their differences.
 

</description>
		<guid isPermaLink="true">http://www.spinellis.gr/blog/20121212</guid> <!-- Hardcoded site here -->
		<dc:creator>Diomidis D. Spinellis</dc:creator>
		<dc:type>Text</dc:type>
		<dc:title>Changes in the Way we View Computing</dc:title> <!-- Hardcoded site here -->
		<dc:identifier>http://www.spinellis.gr/blog/20121212</dc:identifier>
		<dc:date>2012-12-12T19:26:49-00:00</dc:date>
		<dc:language>en</dc:language>
	</item>

	<item>
		<title>Programming Languages vs. Fat Fingers</title>
		<link>http://www.spinellis.gr/blog/20121205</link>
		<description>
 
A substitution of a comma with a period in project Mercury's working Fortran code compromised the accuracy of the results, rendering them unsuitable for longer orbital missions.
How probable are such events and how does a programming language's design affect their likelihood and severity?
In a paper I recently presented at the
 4th Annual International Workshop on Evaluation and Usability of Programming Languages and Tools 
I showed results obtained by randomly perturbing similar programs written in
diverse languages to see whether the compiler or run-time system
would detect those changes as errors,
or whether these would end-up generating incorrect output.
 

</description>
		<guid isPermaLink="true">http://www.spinellis.gr/blog/20121205</guid> <!-- Hardcoded site here -->
		<dc:creator>Diomidis D. Spinellis</dc:creator>
		<dc:type>Text</dc:type>
		<dc:title>Programming Languages vs. Fat Fingers</dc:title> <!-- Hardcoded site here -->
		<dc:identifier>http://www.spinellis.gr/blog/20121205</dc:identifier>
		<dc:date>2012-12-05T09:40:35-00:00</dc:date>
		<dc:language>en</dc:language>
	</item>

	<item>
		<title>Chemical Element Trump Cards</title>
		<link>http://www.spinellis.gr/blog/20121021</link>
		<description>
 
I can still remember the weight of the Lancia Stratos car that featured
in the  Top Trumps 
cards were playing as children in the 1970s: 870kg.
It was the lightest of all the flashy cars in the set,
and therefore a much sought-after card.
Other card sets that kept us busy included airplanes, motorcycles, and tanks.
Through them we learned tens of useless trivia,
but also got a feeling of the compromises inherent in engineering.
Wondering whether I could leverage such a game to make it even more educational,
I created a set of trump cards containing properties of chemical elements.
 

</description>
		<guid isPermaLink="true">http://www.spinellis.gr/blog/20121021</guid> <!-- Hardcoded site here -->
		<dc:creator>Diomidis D. Spinellis</dc:creator>
		<dc:type>Text</dc:type>
		<dc:title>Chemical Element Trump Cards</dc:title> <!-- Hardcoded site here -->
		<dc:identifier>http://www.spinellis.gr/blog/20121021</dc:identifier>
		<dc:date>2013-01-11T08:02:42-00:00</dc:date>
		<dc:language>en</dc:language>
	</item>

	<item>
		<title>Virtualize Me</title>
		<link>http://www.spinellis.gr/blog/20121011</link>
		<description>
 
The virtual machine (VM) is the most dazzling comeback in information technology. IBM implemented a VM platform architecture in the late 1960s in its CP/CMS operating system. The company&#8217;s goal was to provide the time-sharing capabilities that its batch-oriented System/360 lacked. Thus a simple control program (CP) created a VM environment where multiple instances of the single-user CMS operating system could run in parallel. Thirty years later, virtualization was rediscovered when companies like VMware found ways to virtualize the less accommodating Intel x86 processor architecture. The popularity of Intel&#8217;s platform and the huge amount of software running on it made virtualization an attractive proposition, spawning within a decade tens of proprietary and open source virtualization platforms.
 

</description>
		<guid isPermaLink="true">http://www.spinellis.gr/blog/20121011</guid> <!-- Hardcoded site here -->
		<dc:creator>Diomidis D. Spinellis</dc:creator>
		<dc:type>Text</dc:type>
		<dc:title>Virtualize Me</dc:title> <!-- Hardcoded site here -->
		<dc:identifier>http://www.spinellis.gr/blog/20121011</dc:identifier>
		<dc:date>2012-12-19T10:21:28-00:00</dc:date>
		<dc:language>en</dc:language>
	</item>

	<item>
		<title>How to Calculate an Operation's Memory Consumption</title>
		<link>http://www.spinellis.gr/blog/20120922</link>
		<description>
 
How can you determine how much memory is consumed by a specific
operation of a Unix program?
 Valgrind 's  Massif  subsystem could help you in this regard,
but it can be difficult to isolate a specific operation from
Massif's output.
Here is another, simpler way.
 

</description>
		<guid isPermaLink="true">http://www.spinellis.gr/blog/20120922</guid> <!-- Hardcoded site here -->
		<dc:creator>Diomidis D. Spinellis</dc:creator>
		<dc:type>Text</dc:type>
		<dc:title>How to Calculate an Operation's Memory Consumption</dc:title> <!-- Hardcoded site here -->
		<dc:identifier>http://www.spinellis.gr/blog/20120922</dc:identifier>
		<dc:date>2012-09-22T14:46:15-00:00</dc:date>
		<dc:language>en</dc:language>
	</item>

	</channel>
</rss>
