<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4513701215193089585</id><updated>2012-02-20T22:53:27.411+01:00</updated><title type='text'>Hitchhiker's Guide to Computers</title><subtitle type='html'>Computers, programming and random things I like or I like to rant about</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hhgtc.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hhgtc.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Gio</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4513701215193089585.post-1953116339526046780</id><published>2009-02-15T15:00:00.008+01:00</published><updated>2009-02-15T15:56:08.424+01:00</updated><title type='text'>Equal implies "less or equal", right? Right?!?</title><summary type='text'>Well, no, not really according to (my understanding of) C# language specification.
While reading the specification, I was struck by the definition of the relational lifted operators. The idea, roughly, is that if you've defined a relational operator working on, say, (non-nullable) types A and B, then the language automatically gives you a lifted operator working on the (nullable) types A? and B?.</summary><link rel='replies' type='application/atom+xml' href='http://hhgtc.blogspot.com/feeds/1953116339526046780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4513701215193089585&amp;postID=1953116339526046780' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/1953116339526046780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/1953116339526046780'/><link rel='alternate' type='text/html' href='http://hhgtc.blogspot.com/2009/02/equal-implies-or-equal-right-right.html' title='Equal implies &amp;quot;less &lt;em&gt;or equal&lt;/em&gt;&amp;quot;, right? Right?!?'/><author><name>Gio</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4513701215193089585.post-1476324334262605189</id><published>2008-11-02T13:27:00.003+01:00</published><updated>2008-11-02T13:41:16.063+01:00</updated><title type='text'>Press play on tape - c64 revival band</title><summary type='text'>It's certainly not a secret I'm a Spectrum addicted, yet I have a thing for home computers in general. So, today I'll post something about a Commodore 64 (!) revival band. They're called Press play on tape and they really rock: my advice is to check their site out and enjoy their music.
Have fun!</summary><link rel='replies' type='application/atom+xml' href='http://hhgtc.blogspot.com/feeds/1476324334262605189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4513701215193089585&amp;postID=1476324334262605189' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/1476324334262605189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/1476324334262605189'/><link rel='alternate' type='text/html' href='http://hhgtc.blogspot.com/2008/11/press-play-on-tape-c64-revival-band.html' title='Press play on tape - c64 revival band'/><author><name>Gio</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4513701215193089585.post-9119823261987582560</id><published>2008-10-26T22:40:00.003+01:00</published><updated>2008-10-26T22:51:18.134+01:00</updated><title type='text'>Dog risks life for kittens</title><summary type='text'>This is not a word play and the subject would be definitely off-topic if it weren't for the "random things" part of the blog subtitle ;)
Anyway, it's been a while since I posted something and I've found this piece of news quite moving.</summary><link rel='replies' type='application/atom+xml' href='http://hhgtc.blogspot.com/feeds/9119823261987582560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4513701215193089585&amp;postID=9119823261987582560' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/9119823261987582560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/9119823261987582560'/><link rel='alternate' type='text/html' href='http://hhgtc.blogspot.com/2008/10/dog-risks-life-for-kittens.html' title='Dog risks life for kittens'/><author><name>Gio</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4513701215193089585.post-8450932781339352124</id><published>2008-09-16T15:30:00.002+02:00</published><updated>2008-09-17T07:51:48.583+02:00</updated><title type='text'>Why java.io.PrintStream is badly designed</title><summary type='text'>Sweeping the exceptions under the carpet is considered a bad practice, I mean really bad practice. Consider, for instance, try {  do something} catch (SomeException e) {  set a flag (or, even worse, do nothing!) } Obviously, one of the great advantages of having an exception mechanism is that programmers do not need to explicitly check for error conditions after every single statement: when </summary><link rel='replies' type='application/atom+xml' href='http://hhgtc.blogspot.com/feeds/8450932781339352124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4513701215193089585&amp;postID=8450932781339352124' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/8450932781339352124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/8450932781339352124'/><link rel='alternate' type='text/html' href='http://hhgtc.blogspot.com/2008/09/why-javaioprintstream-is-really-broken.html' title='Why java.io.PrintStream is badly designed'/><author><name>Gio</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4513701215193089585.post-6932853477305289895</id><published>2008-09-15T21:02:00.003+02:00</published><updated>2008-09-15T21:09:15.059+02:00</updated><title type='text'>Who wants to be a researcher?</title><summary type='text'>In [Javascript is not enabled; please enable JS in your browser to see the counter]
function calc(secs, num1, num2) {
  return ((Math.floor(secs/num1))%num2).toString();
}
function s(n) {
  return n==1 ? "" : "s";
}
function runCounter() {
  var dthen = new Date("8 Oct 2008 16:00");
  var dnow = new Date();
  var  ddiff = new Date(dthen-dnow);
  var secs = Math.floor(ddiff.valueOf()/1000);
  if (</summary><link rel='replies' type='application/atom+xml' href='http://hhgtc.blogspot.com/feeds/6932853477305289895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4513701215193089585&amp;postID=6932853477305289895' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/6932853477305289895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/6932853477305289895'/><link rel='alternate' type='text/html' href='http://hhgtc.blogspot.com/2008/09/who-wants-to-be-researcher.html' title='Who wants to be a researcher?'/><author><name>Gio</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4513701215193089585.post-6311500981933522510</id><published>2008-09-07T14:50:00.003+02:00</published><updated>2008-09-07T15:11:18.140+02:00</updated><title type='text'>Running Turbo Pascal 1.0 on (a real) Spectrum +3</title><summary type='text'>As I wrote in my previous post, I was determined to run Turbo Pascal 1.0 on a (real) Spectrum +3.  The issue is how to dump a DSK image file (on the PC) onto an actual three-inch Amstrad/Sinclair floppy disk (like the one shown in the second picture by a friend of mine who, by the way, is a very skilled hacker).   One obvious way is to connect a three-inch floppy drive to a modern PC. While this </summary><link rel='replies' type='application/atom+xml' href='http://hhgtc.blogspot.com/feeds/6311500981933522510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4513701215193089585&amp;postID=6311500981933522510' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/6311500981933522510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/6311500981933522510'/><link rel='alternate' type='text/html' href='http://hhgtc.blogspot.com/2008/09/running-turbo-pascal-10-on-real.html' title='Running Turbo Pascal 1.0 on (a real) Spectrum +3'/><author><name>Gio</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4513701215193089585.post-5050936087989644614</id><published>2008-09-01T22:12:00.001+02:00</published><updated>2008-09-01T22:15:47.948+02:00</updated><title type='text'>Running Turbo Pascal 1.0, on the CP/M, on the Spectrum +3 (emulated on Windows)</title><summary type='text'>I've never been a fan of the Pascal programming language; actually, I can't stand it... for a lot of reasons, many of which can be found in the (old and must-read) paper "Why Pascal is not my Favorite Programming Language" by Brian Kernighan. However, Turbo Pascal was different. The language was   still not my favorite, but I have to admit it was far better than the standard one and the IDE was </summary><link rel='replies' type='application/atom+xml' href='http://hhgtc.blogspot.com/feeds/5050936087989644614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4513701215193089585&amp;postID=5050936087989644614' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/5050936087989644614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/5050936087989644614'/><link rel='alternate' type='text/html' href='http://hhgtc.blogspot.com/2008/09/running-turbo-pascal-10-on-cpm-on.html' title='Running Turbo Pascal 1.0, on the CP/M, on the Spectrum +3 (emulated on Windows)'/><author><name>Gio</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4513701215193089585.post-8078725211150731835</id><published>2008-08-12T17:16:00.006+02:00</published><updated>2008-08-12T17:53:01.982+02:00</updated><title type='text'>A not so obvious answer to: Can Java interfaces have static initializers?</title><summary type='text'>Static initializers are blocks of code that are automatically executed when a class is initialized. They are particularly handy when an expression is not enough to calculate an initial value or when the evaluation of an initializing expression may throw a (checked) exception. For instance, suppose we want to initialize a (final static) field me with the IP address of the local machine. We'd like </summary><link rel='replies' type='application/atom+xml' href='http://hhgtc.blogspot.com/feeds/8078725211150731835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4513701215193089585&amp;postID=8078725211150731835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/8078725211150731835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/8078725211150731835'/><link rel='alternate' type='text/html' href='http://hhgtc.blogspot.com/2008/08/not-so-obvious-answer-to-can-java.html' title='A not so obvious answer to: Can Java interfaces have static initializers?'/><author><name>Gio</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4513701215193089585.post-1941763752274347700</id><published>2008-08-08T12:09:00.001+02:00</published><updated>2008-08-08T12:13:45.245+02:00</updated><title type='text'>Alice: a very cool way to teach programming</title><summary type='text'>Alice is a freely available teaching tool designed to be a student's first exposure to object-oriented programming. The idea reminds me of the Turtle Graphics of LOGO, that is, making the programming activity more "tangible" by leveraging a parallel with the real world, where (real) objects can interact. Anyway, about thirty years have passed since those seminal ideas were born and Alice is </summary><link rel='replies' type='application/atom+xml' href='http://hhgtc.blogspot.com/feeds/1941763752274347700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4513701215193089585&amp;postID=1941763752274347700' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/1941763752274347700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/1941763752274347700'/><link rel='alternate' type='text/html' href='http://hhgtc.blogspot.com/2008/08/alice-very-cool-way-to-teach.html' title='Alice: a very cool way to teach programming'/><author><name>Gio</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4513701215193089585.post-282510402075267007</id><published>2008-08-05T17:38:00.004+02:00</published><updated>2008-08-05T18:32:39.884+02:00</updated><title type='text'>Installing fully encrypted Windows and Ubuntu on the EEE 900</title><summary type='text'> In the last few days I've played a lot with my latest toy, an ASUS EEE 900, that I really love. The only thing I have a hard time with is its keyboard: it's very small, which is both cute and uncomfortable (anyway, an external rollable keyboard could easily solve this matter). I've  managed to get Windows XP and Ubuntu working, sharing a data partition on a fully encrypted disk (well, actually "</summary><link rel='replies' type='application/atom+xml' href='http://hhgtc.blogspot.com/feeds/282510402075267007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4513701215193089585&amp;postID=282510402075267007' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/282510402075267007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/282510402075267007'/><link rel='alternate' type='text/html' href='http://hhgtc.blogspot.com/2008/08/installing-fully-encrypted-windows-and.html' title='Installing fully encrypted Windows and Ubuntu on the EEE 900'/><author><name>Gio</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4513701215193089585.post-8766899384035695272</id><published>2008-08-04T16:03:00.002+02:00</published><updated>2008-08-04T16:18:21.720+02:00</updated><title type='text'>Audiotapes, a trip down memory lane</title><summary type='text'>Once upon a time there were homecomputers, that used analogue audio tapes to store programs. Those who've played with computers in the eighties will surely recognize some of these tapes from tapedeck.org</summary><link rel='replies' type='application/atom+xml' href='http://hhgtc.blogspot.com/feeds/8766899384035695272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4513701215193089585&amp;postID=8766899384035695272' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/8766899384035695272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/8766899384035695272'/><link rel='alternate' type='text/html' href='http://hhgtc.blogspot.com/2008/08/audiotapes-trip-down-memory-lane.html' title='Audiotapes, a trip down memory lane'/><author><name>Gio</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4513701215193089585.post-908027526265454197</id><published>2008-08-02T18:29:00.003+02:00</published><updated>2008-08-02T18:33:01.399+02:00</updated><title type='text'>Achieving your childhood dreams</title><summary type='text'>Randy Pausch was an American professor of computer science, who died from cancer when he was 47.
Randy has achieved worldwide fame for his "The Last Lecture", a speech entitled Achieving your childhood dreams, that manages to be touching, fun and extremely inspiring.

</summary><link rel='replies' type='application/atom+xml' href='http://hhgtc.blogspot.com/feeds/908027526265454197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4513701215193089585&amp;postID=908027526265454197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/908027526265454197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4513701215193089585/posts/default/908027526265454197'/><link rel='alternate' type='text/html' href='http://hhgtc.blogspot.com/2008/08/achieving-your-childhood-dreams.html' title='Achieving your childhood dreams'/><author><name>Gio</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
