Ott 20

Short version:
the place is great and the admission is free: go visit it!

Long version:
The Royal Air Force Museum of Colindale is one of the best aviation museum a person could visit. There are so many aircrafts that an enthusiast will spend an entire day to see everything.
The visit is enjoyable at all ages, in fact there are many interactive panels and monitors showing the history, the facts and trivia of every aircraft ( including quizzes I passed with an average of 9.7 / 10 per aircraft ).
The various halls, from the smaller one of the “aviation milestones” to the larger bombers’ one, all contain something unique that could be hardly seen in other places or museums around the World.
From hystorical aircrafts like the Sopwith Triplane or the Vickers Vimy, to the Supermarine Spitfire ( a total of four version are on display! ), the Hawker Hurricane and Typhoon, the Avro Lancaster, the English Electric Lightning and Camberra, the Blackburn Buccaneer, the Avro Vulcan and the latest Panavia Tornado and Eurofighter Typhoon ( the unique english DA2 “Black Typhoon” is on display ).
There are a lot of other aircrafts that served with the RAF but were not designed or build in the United Kingdom, like the Boeing B-17, the Consolidated B-24, the North American B-25 and P-51 and the McDonnell F-4 Phantom ( with the Rolls-Royce Spey engines, of course: what did you expect? ).
There is an entire hall dedicated to the Battle of Britain in which all the four bombers used by the german Luftwaffe, the Messerschmitt BF-110, the Junker JU-87 and JU-88 and the Heinkel HE-111 stand together. On the other side of this hall, it’s also possible to enter in a Short Sutherland flying boat.

During my visit at the beginning of October I had some small talks with a really nice attendant in the “aviation milestones” hall about the situation of the air forces and the navies in our respective countries. Needless to say we were both skeptical about the future.
Seeing how simple and yet how complicated were the aircraft of the past is something that always make people thinks.
The wreck of an ill-fated Avro Halifax, retrieved from the sea of Norway after many years under the water, stay in the bomber area, rembembering us what being a bomber’s crew meant during WWII.
Walking under the wing of the Avro Vulcan and standing under the bomb bay ( that now contains an LCD panel on which are showed some clips of the aircraft during the Cold War era ) is just great because really gives you the idea of how big the airplane really is and how advanced

The museum continuosly acquire new aircrafts. Always in the aviation milestones hall, there were two “brand new” ( well, sort of ) items: a WWII Gloster Meteor, that at the time of the visit was still undergoing re-assembly, and the mock-up of a Lockheed-Martin F-35A. The aforementioned attendant told me that there are about 20 aircrafts in storage they’re unable to show because of space issues.

So, in the end, if you’re an aviation enthusiast and you’re planning a trip to London, just add a day to visit the RAF museum at Colindale ( you can reach it via underground, is in zone 4 Link to Google Maps ) because… the place is great and the admission is free: go visit it!

Bye


Ott 3

Being a Microsoft Student Partner simply means I like most of Microsoft’s technologies and products because they work the way I expect them to work, my expectations based on a 17 years old experience with Microsoft’s products.

For instance, as far as other desktop OSs can arrive, nothing, in my opinion, beats Windows 7 nowadays.
MacOS X is a very good OS, but as long as it’ll run only on Apple hardware, I’ll never gonna use it.
GNU/Linux-based distros like Red Hat, Ubuntu, Fedora, OpenSUSE, Debian, etc. are today very good OSs, but there’s an overall lack of agreement between developers and, even worse, an incompatibility issue between licenses that lead to a “reinvention of wheel” time after time ( the Big example: ZFS and btrfs ).

So, while I usually like Microsoft products, sometimes I think that some little or big decisions have been made without thinking too much to a certain part of the users.

My first criticism was about Windows Phone 7, that is a really good mobile OS for the average user. But as long as I want to: sync my contacts with Outlook rather than Windows Live, join a domain, run native C++ applications and other things, Windows Phone 7 is not a choice for me. I’m still fine with Windows Mobile 6.x.

But MetroUI caught my attention when I first tried the developers’ preview of Windows 8 some days ago.
The concept behind MetroUI is the “unification of the user experience”, a marketing expression used instead of “users are getting more and more lazy and they don’t want to bother about what’s under the hood” ( meaning they don’t care what they’re using: a mobile phone, a desktop computer, an ATM or a washing machine ).
Many people think touchscreens were one of the biggest revolution in the late ’00s market. Probably they’re the same people whose jaw drops on the floor when I tell them my first experience with a touchscreen was in 1994, in a ship command bridge on a green phosphor CRT monitor used to manage the course ( Yeah, I actually steered a 200 yards-long ship ). By the way, they’re right if considering only the consumer market.
The idea of unifying the UI between “handy” devices ( mobile phones and tablets ) is hardly new and, most important thing, it works. After all, they’re similar and they’re expected to work in a similar way.
But, in my opinion, if the differences between a mobile phone and a tablet are like the differences between a car and a van, those between a tablet and a PC are more like those between a GA aircraft and an airliner.
They’re not similar, they’re not expected to be used in the same way. I don’t expect to find a manifold pressure gauge in the cockpit of a Boeing 737 ( or an ATR-42 or an Airbus A380 ) in the same way I don’t expect to find a FMS console in a Cessna 172 ( or in a Piper PA28 ).

Saying that I don’t like MetroUI would be wrong. I just think that MetroUI has no reason to be the default UI on a desktop OS. I also think that standard utilities should remain non-Metro applications. I find unacceptable that the remote desktop connection client is available only as a MetroUI application on a desktop machine, as I find wrong not giving the user the option to actually kill the application, even by some abstruse key combination, I don’t care, and not just suspending it.
For seventeen years I closed an application in Windows by clicking on the top left ( top right starting with Windows 95 ) corner button of the application window, or by pressing Alt + F4. In MetroUI I can’t quit application like this. I find it a bit ( well more than just a bit ) disappointing.

In the end, considering that there’s a lot of research behind the dvelopment of an operating system ( and Microsoft really care about what users think, or wouldn’t have released Windows 8 Developer Preview publicly ), what I’m starting to think is that average users are beginning to be afraid ( I could have used the word “tired”, but I didn’t ) of the keyboard as well as, following Windows 95, users started to be afraid of the command line.

What I’d really like, as a power user, as an enthusiast and as an experienced user, is a choice. As there are six versions of Windows 7, I’d like the Professional and Enterprise versions of Windows 8 use explorer as the default UI instead of MetroUI.
We will wait for the beta versions to see what will appens.

Bye



Last night I wanted to try something new on Mirage, my Sun Ultra 5. After changing the configuration of the SCSI disks, moving some drives between the two channels of the controller ( and changing the correspondingly devaliases in the NVRAM with several nvunalias / nvalias commands ), I thought about installing NetBSD-current ( currently 5.99.55 ).

This wiki list a serie of commands that would compile and install NetBSD-current assuming that a release of NetBSD is already running. So because I already had a NetBSD 5.1 running on Mirage, I thought of following the “short way”… only to find out that fetching the sources via anoncvs took nearly 4 hours. I’m not blaming anoncvs, because trying to fetch the tarball and extracting all the files took nearly 2 hours two days later.

Now, the most “interesting” thing is that the build script, before compiling the kernel and the userland, need to compile the compiler, because NetBSD 5.99 need GCC 4.5 compiled for the target architecture ( in this case, sparc64 ).
I was just thinking to stay with 5.1 ( losing some opportunity offered by current, like some ZFS support etc. ), when I tought about doing some test on a VM in VirtualBox. During the installation process I choose to get the sets ( a bunch of tgz files ) from http rather than from the CD. Looking at the options for the http install, I tought of doing something “nasty”:

using the 5.1 installer to install 5.99.

It’s longer to explain than actually doing it, but this is possible because on the nyftp http mirror ( http://nyftp.netbsd.org/ ) inside the pub/NetBSD-daily/HEAD/ directory are stored the last five build of NetBSD-current. Inside each directory ( named after the date and time of build ), there are the directories for each architecture, containing the binary sets ( the bunch of tgz files ) that will be used from the installer.
So, after changing the options in the installer accordingly to what is needed, the installation can start and will end with only two minor problems.

The first one is that it’s not possible to set the root password, the second is that the rc_configured variable in /etc/rc.conf will not be changed by the setup program, resulting in a single user boot after reboot, with the root filesystem mounted in read-only.
But these are problems that even a NetBSD newbie know how to solve ( If someone is interested in something like NetBSD-current, then a basic knowledge of vi and of the standard UNIX commands, like mount or passwd is take for granted ).

Mirage is now running NetBSD-current with a LVM volume ( not as powerful as ZFS but require a lower overhead ) in the Sun StorEdge FlexiPack 599, and has been configured as a NFS ( Nightmare Network File System ) Server.

Bye



This article is a sort of “Post-it®”, a brief explanation of how to configure a network bridge with two NICs under CentOS 5.x / 6.x. After spending more than 10 minutes googling how to perform this task ( mainly reading about ( l ) users that didn’t have a clue about what a network bridge is or, worse, asking how to bridge n-thousand VM while performing routing having iptables misconfigured… ), I thought it was better to write everything down in “safe place”: what’s better than my blog?

So, this is how I have made the bridge on Nighthawk ( a double Pentium III – 800 MHz with a Gig of RAM and a pair of UWSCSI3 disks ), under CentOS 6.0.
The two NICs are both based on an Intel 82559 chip. The first one is integrated into the motherboard, while the second one is on a PCI slot.

OBVIOUSLY, a network bridge has ONE MAC address ( could be the same of one of the two NIC or could be a different one ) and ONE IP address, unless your playing with aliased interface over a bridge, but this is not the case.

The integrated NIC is eth0, the NIC on the PCI slot is eth1 while the network bridge is nbr0.

So, these are the configuration files:

# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
HWADDR="00:30:48:AA:BB:CC"
ONBOOT="yes"
BRIDGE="nbr0"

# /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
HWADDR="00:90:27:DD:EE:FF"
ONBOOT="yes"
BRIDGE="nbr0"

# /etc/sysconfig/network-scripts/ifcfg-nbr0
DEVICE="nbr0"
TYPE="bridge"
BOOTPROTO="dhcp"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
ONBOOT="yes"

The bridge takes its IP address via DHCP. If a static address is required, file ifcfg-nbr0 must be changed according to what is reported into the RHEL Deployment Guide.

Bye


Lug 27

I know, it’s been a long long time. I’m sorry, but I’ve actually got many things to do and I’m unable to find the time to turn the 3 / 4 draft I already wrote into “real” articles.
Probably you were expecting something on the end of the Shuttle era, the anniversary of the first landing on the moon, recent hauls… and you’re more or less right, just wait a little more.

This post is just a reminder that was set 17 years ago ( yes, in 1994 A.D. ), when Lightning ( Intel 486DX2 ) was pretty new and when I first “flew” using Microsoft’s Flight Simulator 5.0, Spectrum HoloByte’s Falcon 3.0 and – the reason this post exists – Origin’s Strike Commander, the CD edition that included the “Speek Pack”, the “Tactical Operations” expansion and, of course, the July 2011 issue of Sudden Death… yeah, the July 2011 issue in 1994.

Cover of Sudden Death - July 2011 issue

Bye


Mar 18

This is my first post about IPv6 and, as you can read in the title, is gonna be the first of a serie.

One thing that is driving me mad during these days is that on many sites, blogs, forums etc. there are a lot of explanations about how IPv6 works, but really few explanations on how to make it working.

So now I’m not gonna explain what IPv6 is, or how it works, because I’ll assume that the reader has at least a basic IPv6, IPv4 and UNIX / NetBSD understanding.
I’m gonna write down the steps I performed to get IPv6 connectivity ( assuming your ISP isn’t already giving you native IPv6 connectivity, otherwise you can stop reading now ) using a D-Link DSL-2640B aDSL modem-router with a standard firmware ( support IPv4 only ) and a NetBSD/i386 5.1 based router ( any computer with two NICs ).
I currently have no firewall on the DSL-2640 and no services / daemons running on the NetBSD router.

In this first post I will illustrate how to get IPv6 connectivity via a tunnel broker. There are many free services availables. I choose Hurricane Electric ( HE from now on ) just because a pair of friends already use it and told me that it works.

The tunnel created with an HE’s endpoint is static and request that you have a public pingable IPv4 address.
If you are behind a router that does NAT, like me, this could represent a problem, so I created this page to test if I can ping my public IPv4 address.
The solution I found was to move the NetBSD router to the DMZ, so when someone ping my public address, actually it sends ICMPv4 requests to my NetBSD router.

Creating a tunnel on the HE website is pretty simple, just look at the image below:

Create tunnel with HE

  1. Click;
  2. Insert your public pingable IPv4 address

HE tunnel details

Just remember, for this specific configuration, when configuring the tunnel interface on the router, not to use your public IPv4 address but to use the private address of your IPv4 gateway. So, to create a tunnel in NetBSD ( 4.x or 5.x ) type the following as root:


# ifconfig gif0 create
# ifconfig gif0 tunnel $Your_IPv4_gateway $Server_IPv4_address
# ifconfig gif0 inet6 $Client_IPv6_address $Server_IPv6_address prefixlen 128
# route -n add -inet6 default $Server_IPv6_address

The tunnel should be up and ready. Just try to send an ICMPv6 echo request to someone using ping6, like ipv6.google.com ( you have to create and configure /etc/resolv.conf first ).

If you succeed, congratulations! You’re now on the IPv6 internet and halfway in configuring the router!

In the next part I’m gonna explain how to enable routing, configure the router advertisement daemon and make the configuration permanent.

Bye


Feb 24

Let’s start saying I’m really not a space enthusiast, although in my opinion the exploration of space and other planets is the future of humanity, so it could be interesting to know something about astronomy, astrophysics and space technologies.

Back in 1994 Microsoft released Space Simulator. I’ve never used it but, as I’ve found on various sites and forums, seems that the space vehicles the user could fly were all fictional, and that atmospheric flight was not simulated.

NASA reported that budget for the last STS mission, STS-135 / Atlantis, has been approved. Anyway, that means 2011 will be the year in which the Space Shuttle fleet will be decommissioned, after the final flights for Discovery, Endeavour and Atlantis.

While looking for some Space Shuttle’s videos, I found some videos made with Orbiter, so I started searching some info about this program.

Orbiter ( current version as of writing is Orbiter 2010 ), is a space flight simulator released for the first time in 2000. It simulates both space and atmospheric flight, it’s modular, so a large number of plugins and add-ons already exists, and it’s very realistic.
It’s also free, and you can download it following the link on the official site.
Without AA at low resolutions runs even on tomcat ( a laptop with a Pentium 4 2.4 GHz and 1 GB of RAM ).

Atlantis in orbit with Canadarm ( in Orbiter 2010 )
Coming from more than 15 years of flight simulators doesn’t help very much during the first flights. It’s actually better to forget how to fly aircrafts and start to learn almost everything from scratch. Furthermore, Orbiter use the metrical system while in aviation, apart from Russia and some other former Soviet republics, the most used system is the US customary one, especially for distance ( nm ), speed ( kts ) and altitude ( ft ).

Let’s start saying that using orbiter is all but easy, so for the first flights, the Delta-glider is the best choice. This rocket-spacecraft is able to take off and land like an aircraft and has enough thrust not only to reach Earth orbit without using any booster, but also to change the orbit plane by several degrees ( something the OMS of an Orbiter can’t do ).
After learning how to get into orbit, change the orbit plane and period in order to synchronize it with that of another spacecraft / satellite / space station ( it takes some weeks… ) and last but not least, how to perform a correct re-entry manouver ( to land where you want, when you want, possibly without burning ), it is possible to do simulate other stuffs, like flying with the Space Shuttle to repair Hubble or simulating a transfer to another planet ( using time warp of course ) or to the moon, maybe with the Apollo add-on.

If you like new challenges and you don’t bother about learning a lot of things before even leaving the ground, I strongly recommend you to try Orbiter.

Atlantis departure ( in Orbiter 2010 )

Bye


Gen 28

Exactly 25 years ago, on January 28, 1986, I was still a baby so I can’t remember anything. I knew what happened after some years, when I got interested in aviation.

As everyone should know, because of a fuel leakage from the right SRB caused by a fractured o-ring, 7 people lost their lives 73 seconds after lift off of the Space Shuttle Challenger from the launch pad of the KSC.

The Day of Remembrance is the way the people at NASA remember the crews of Apollo 1, STS-51-L / Challenger and STS-107 / Columbia.

So if you wanna know something about those extraordinary men and women, please visit the following link.

Bye



The procedure I’m gonna explain is mainly a remainder to myself.

But first of all a little introduction.

Back in the good ol’ days of MS-DOS there were four types of soundcard:

  • AdLib Pro Audio Spectrum ( and compatible chips/cards )
  • Creative Sound Blaster 16 ( and compatible chips/cards )
  • Creative Sound Blaster Pro ( and compatible chips/cards, I own one * )
  • Windows Sound System ( and compatible chips/cards )

* An Oak Technology Mozart Sound System 16 bit, Sound Blaster Pro compatible.

The way to install the driver files for a Sound Blaster card under MS-DOS, although not really easy, was more or less standard.
Launching a setup ( the easy part ), followed by some tweaking of the autoexec.bat and config.sys files ( the complicated part ) and hopefully nothing more.
Under Windows, things became a little more complicated and with the begin of the PnP ( actually, that means PLUG and PRAY ) era, things got even more complicated.
The final user is unaware of this because, over the time, setup programs became “smarter” and got the job ( installing the drivers and configuring the operating system ) done well almost always. That simply means sometimes they fail.

Some days ago, I had to install a Creative Sound Blaster Live! 5.1 Digital into Eagle, my 2.66 GHz Pentium 4 HT. Eagle already has an integrated audio chip, which works, but is not powerful enough for some tasks and doesn’t support ASIO drivers very well.

Picture of a Creative Sound Blaster Live! 5.1 Digital sound card

The SB Live! 5.1 instead is built around the EMU10K1 audio processor that, ten years ago, was one of the most powerful audio processors on the market and was used also on semi-professional equipment, so the decision to put the SB Live! 5.1 into Eagle was rather straightforward.

I already had the drivers for the card, downloaded from the Creative website three or four years ago ( they are 8 years old now and, no, Creative didn’t released a new version since 2003, so these are still the same NT 5.x drivers ) and I have already installed it once upon a time, so I knew just one or two things about the setup…

As I wrote, just above, sometimes the drivers setup programs fail. Needless to say that this setup fails just at the beginning.
The setup downloaded from the Creative support website, LiveDrvUni-Pack_ENG.exe, usually fails to locate the SB Live! installed into the system and quit without doing anything.
Although is an executable, actually is a self expanding archive that can be opened, for example, using WinZip.
Inside the audio\drivers directory there are some files that should be the drivers needed to use the card with Windows NT 5.x.

But using the Windows wizard to install the drivers doesn’t work for me as the OS tells that drivers for the device can’t be located in the folder… in which they actually are.
So I launched ctzapxx.exe, and that seemed to work, but the system failed to reboot ( Windows XP hanged during shutdown ). At the next boot, no drivers were installed in the system.
The solution was to launch ctzapxx.exe and, when asked to reboot the system, power-off the system using the switch of the power supply. At the next boot, drivers were installed and working.

Bye


Dic 31

/* A truly complicated way to... do it :) */

#include<stdio.h>

int main( int argc, char* argv[] )
{
   int values[] =
   {
      0, 25, 15, 0, 9,
      -89, 46, 23, 18, -87,
      57, 12, -4, 17, -82,
      18, -2, 1, 0, -16
   };
   char c = ( 'N' + 'C' ) / 2;
   int i;
   for( i = 0; i < 20; i++ )
   {
      c += values[ i ];
      printf( "%c", c );
   }
   return 0;
}

/* Bye */