What will happen in 100 years time?

There was a recent news article on the internet that discussed 100 year predictions made by the American civil engineer John Elfreth Watkins. Having read the interesting ideas he had that have come true, I thought I’d have a few guesses at what’s going to happen in another 100 years time.

1)      We will have solved the energy crisis – a combination of improved safety and management of nuclear waste, new technologies such as fusion, beamed microwave power transmission, hydrogen power and vast solar arrays will provide all our energy needs as older methods of generating power are made redundant.

2)      However, we will have massive infrastructure problems as cities become gridlocked, buildings get taller, and countryside is concreted over to cope with housing demand. We will probably have built cities in the sea.

3)      We will have a colony on the moon, and have travelled to Mars. The colony is likely to be mostly scientists rather than families.

4)      We will have discovered evidence of life on another planet, although probably only microscopic.

5)      Global population will be declining, having peaked at over 12 billion. Demands on our food networks will have forced us to farm the oceans more intensively.

6)      We will have discovered how to use matter transport, although it will not be commercially viable or particularly safe.

7)      There will have been at least one huge natural disaster, possibly a super volcano, killing tens if not hundreds of thousands of people and causing global climate cooling.

8)      Computing power will have increased exponentially. Computers will write their own programs as needed. Very few people will know how the technology inside future computers works as the computers will learn how to improve and manufacture new parts for themselves.

9)      The global influence of the middle-east will  not be diminished as oil resources become scarce. Deserts will be used as huge solar arrays, and energy produced will be sold to other countries.

10)   Computer gaming will have advanced hugely – it is unlikely however that we will view those games on television sets, which will be obsolete. Instead, we will wear a headset that allows us to control the game via mind control, and the images produced by the game will be transmitted directly to the brain.

Any other ideas?

Minced Beef Casserole

One of the things I’ve noticed about IT types over the years, is that people that work in the software development industry quite often have hobbies outside of work that are quite creative. Whether they are musicians or they do woodwork, gardening or something else, it seems hobbies that involve creating something with their hands are quite popular. I attribute this in part to the fact that creating software doesn’t actually create a tangible, tactile item at the end of development that you can hold in your hands and proudly state “I made that”.

I’m no exception to this, and one of my particular favourite hobbies is cookery. I found a version of this particular recipe on the internet. After adapting it to my needs and the foodstuffs in our cupboards, I came up with this recipe:

Ingredients

450g minced beef
2 large potatoes, cut into slices
1 large onion (diced)
2 carrots (diced)
1 tbsp tomato puree and 1 tbsp ketchup, or 2 tbsp ketchup
Worcestershire sauce
A few knobs of butter
Salt and pepper

Pre-heat the oven to 180c/350F.

Peel and slice the potatoes, but not too thinly, about half a centimetre thick. Put them in a saucepan with some water, bring to the boil and simmer for about 5 minutes. While they’re simmering peel and chop the onion and the carrots into small pieces and set aside. When the potatoes are done, drain them and set them aside too.

Brown the mince, cooking it on a high heat and set it aside.

Cook the onion and carrots for about 5 minutes (until the onion is soft, but before it burns) in the same pan, this time on a low heat, then add the whole thing back together.

Having re-added the meat, add a dash of  mustard, tomatoe puree and/or ketchup, a liberal splash of Worcestershire sauce, salt and pepper. Fry it for a couple more minutes, stirring well so that the flavour is evenly distributed throughout the meat.

Put the meat mixture into the oven proof casserole dish and top with the sliced potato, overlapping so that it’s evenly covered. Sprinkle with a pinch of salt and dot it evenly with butter. You don’t need loads, just enough to moisten the potato. However, do make sure the butter covers all the potatoes.

Put in the oven for about 30 minutes, or until the top of the potatoes has started to turn brown. If you feel like it, serve up with salad or you can just serve up by itself.

Logging onto a machine not on a domain

I discovered a neat trick today that was so obvious I can’t believe I haven’t ever tried it before. When you try to mount a network share from Windows Explorer, the operating system has a tendency to assume that the machine is operating under the same domain as your machine, and tries to log on using your current username/password combo.

This is all well and good, however if you are attempting to log onto a machine that is not a part of the same domain (or part of a domain at all!) you get a dialog box popup similar to this:

Network Share login dialog

Network share login dialog

Notice that the dialog is assuming I want to login via my corporate domain. I can specify an alternate login ID via the username entry, something I have done regularly for many years!:

Login with an alternate domain ID

Specify an alternate domain for login

Here’s the bit that I’ve never thought of doing before. It is possible I may want to log into a machine that isn’t on any domain (in a workgroup for instance). Doing this requires logging in via a local username on the machine. When I’ve needed to do this I’ve always reverted back to my favourite dos prompt and created a ‘net use’ for the share. It had never occurred to me that I can use a ‘\’ at the start of my username login – this removes the Domain field and allows me to enter the local user and password for the machine.

Logging in as a local user on a non-domain machine

Thanks to Paul Kelly for doing this in front of me so that I realised this is possible!

 

Mounting a drive as a directory

Many people may know Windows has a subst.exe command which allows you to temporarily substitute a folder on your computer for another drive letter.

Windows 7 (may be available on other operating systems too, it’s probably alway been there but I’ve not noticed it before!) has an additional interesting feature that lets you map a complete hard drive to a virtual folder on another drive. Assuming you have two drives in your computer, To enable this, first go to Control Panel > System and Security > Create and format Disk Partitions. This loads up the disk management console:

Disk Management Console

From here, right click on the drive you want to mount as a virtual directory, and select ‘Change Drive letter and paths”:

Right-Click menu

To mount a partition as a virtual directory first the existing drive assignment must be removed. Click on the existing drive letter and select the Remove button. Assuming you’ve read the warning about removing a drive letter assignment and clicked yes to remove, enter the drive letter assignment menu again, and this time select the ‘Add’ button. (Tip: you must create a directory first, click the New Folder button under the Browse for directory dialog to create one.)

Assigning a directory

Click ok and open Windows explorer. It is now possible to see this directory as a linked folder:

This is especially useful to extend the space on an existing machine while not requiring operating system upgrades, re-installs and so on.

Installing Samba – the most minimalist install possible!

Samba makes it easier to access your files from Windows and other operating systems. It can also be very complicated to install and configure! As with most things on Linux there are several ways of doing this. A Samba client is installed by default with Redhat. However to allow a Windows machine to connect to your Redhat shares a Samba Server is required.

A binary distribution for redhat is available that makes it much easier to install and configure. You can download this from http://www.enterprisesamba.com. A direct link for the redhat version is http://ftp.sernet.de/pub/samba/3.5/rhel/5/i386

Like most software on Linux, the piece of software you want to install (Samba Server) depends on some other modules that are not installed. To get Samba installed you must first install these other modules.
In this case, fortunately they are all available at the same location. Save the
required files to your desktop before double clicking on them in turn to
install the rpm. You can ignore warnings about unsigned RPM’s and install
anyway.

In this configuration, the modules you must download and install (in order) are:

            libwbclient0-3.5.11-44.el5.i386.rpm

libsmbclient0-3.5.11-44.el5.i386.rpm

samba3-client-3.5.11-44.el5.i386.rpm

samba3-3.5.11-44.el5.i386.rpm

This completes the installation of Samba. The next step is to configure it so that it can be used. Using a root user terminal window, navigate to /etc/samba.

Using gedit, modify the smb.conf file. This is the global configuration file for Samba. There are a bewildering number of options here that may or may not be relevant to a particular installation. Refer to the Samba documentation for more details. In this example a simple share will be created. Enter the data into the file listed in image smb.conf.

Contents of smb.conf

Save and close the editor.

The next step is to add a user to the samba database.
The login and samba user databases are different, and so alternative logins can
be used.  However, to keep things simple
the same username and password will be added into the Samba database.

Samba password entry

At this point Samba is installed and configured but is
still not running. It’s best to ensure that Samba is started on bootup – that
way you don’t have to start it every time you start the machine.

You can do this by running a command ‘chkconfig’ at the terminal prompt:

chkconfig configuration

Restarting the virtual machine will now start the Samba
service. However, if you want to start it immediately you can do this by issuing the command manually. You can also check that it’s running afterwards by using the ‘ps’ command:

Checking if a process is running with the 'ps' command

That’s it, Samba is installed configured and running!

You can check your installation is available by finding
your ip adress and connecting to it from your Windows machine. To do this, first find out your ip address by running the command /sbin/ifconfig

Now, open Windows explorer on your desktop and navigate to \\<ipaddress> e.g \\10.120.10.10. When prompted for username and password enter the same username and password as you entered when adding them to the Samba
database earlier.

Entering samba user password

Now connected, you can browse create and delete directories in your home directory.

Installing Linux

Brought up on Windows, most people think of Linux as an alien platform. As such, they tend to think it must be really difficult to work with Linux. Over some forthcoming posts, I will show just how easy it can be to install and setup Linux. That’s not to say that there aren’t some complicated configuration options available – indeed these options can be very powerful, but there are complicated configuration options available on Windows too! Here I am going through a basic OS configuration and will enable a couple of other things as well to show how straight forward it can be to administer your own Linux machine. I will use Redhat Enterprise for this demo, but the same principles apply whatever your Linux distribution. I am using a virtual machine technology from Oracle called Virtualbox for this demo. As a tester, this means I can set up multiple machine configurations and environments that suit my needs accordingly.

VirtualBox is an operating system virtualisation program that allows you to emulate a full computer system on your desktop.  There are other virtualisation technologies available, including VMWare and Hyper-V, and the process is quite similar with all of these. Virtual Disks created in VirtualBox can be imported into any of these programs. To get started, download the latest version and install it.  Once installed, start the program from the Start menu.

In our example we will install Redhat from an .iso image that we have previously obtained.

      Create a new Virtual Machine

From the front end of Virtualbox, click the ‘New’ button. This will start the new
virtual machine wizard. Select Next, then enter the OS type and the name you want to call the machine. Be sure to select 64 bit if you have a 64 bit OS image/CD.

Select the memory that the Virtual machine will use. 512mb is probably sufficient for a basic install of Linux, but you can give the machine more memory if you wish – it will certainly help performance!

VirtualBox Settings

The default options for the ‘add hard disk’ wizard should be fine. Click Next after ensuring ‘Create new hard disk’ is selected. In this Wizard, select the default options. The only thing you may wish to change is the size of the hard disk. If you have the space it is recommended to create a 30-40 gb drive as this will give your new system room to grow. Click ‘ Finish’ to close the wizard.

One more change you should make is in the networking settings. Select ‘Settings’ for the Virtual Machine and find the networking section. Change the adapter type from ‘NAT’ to ‘Bridged’.
This will ensure you can get a real IP address from your DHCP server.

Network Options

   Installing Linux (Redhat)

Select the Machine you have just created and press the ‘Start’ button on the toolbar. This will start the ‘first run’ wizard.

On the installation media page select the browse button and navigate to your ISO image. If you have a DVD image you can select the drive here instead.

Installation Media

Close the wizard by selecting Next, then Finish. This will start the machine, booting from the CD image.

Once the installer starts, press Enter to begin the installation. You can generally skip the media test section and proceed straight to the installation section. To do this press tab until ‘Skip’ is highlighted and press Enter.

Once the graphical mode installer starts, you can mostly go straight through the wizard clicking Next – the menus are fairly self-explanatory.

If you do not have a Redhat installation number to hand, you can select skip and enter it later.

You will see a message about unreadable data – this is because the virtual hard disk has not yet been formatted. Clicking ‘Yes’ will do this for you.

Preparing the virtual hard drive

For the network settings page, you can leave all the options at their default and click next.

The next page asks for a root password. Enter something you can remember. This is equivalent to adding a user to the system administrators group on Windows.

When the option is offered to include extra software for Software development, ensure you tick the option before clicking next.

Optional but useful stuff!

Go and make a cup of your favourite beverage (tea/coffee/gin etc) – the system
will then install, taking a while so an ideal opportunity to catch up on some reading or make some lunch. After a little while you should see a screen which signifies that you have finished installing the operating system.

Installation Complete!

Once the system has rebooted there are just a couple more settings and personal preferences still to complete.  You can mostly just click ‘Next’, but you may wish to either disable the firewall on the appropriate page if you are on an internal network. If you keep the firewall and SeLinux enabled, you will need to open any ports you intend to use – and be sure to add Samba as a trusted service.

When you advance to the ‘Create User’ page, be sure to add a user:

That’s it! – once the wizard is finished you can log in as the user you just created.

Log in as the user you just created

Windows 8 developer preview

I recently downloaded the developer preview version of Windows 8 and installed it into a Virtual machine. Obviously I was expecting some teething problems as I installed it, and I got them!.

First problem was that I downloaded the 64 bit version, with the intention of trying this in Oracle VirtualBox, however I could not get as far as the setup before it crashed with an unrecoverable error!.

Not to be deterred, I downloaded the 32 bit version instead. At this point I thought I’d try it in Virtual PC instead, the thought being that a Microsoft product is more likely to work with a Microsoft Virtualisation engine than an Oracle one!. When I tried this version in VPC, I entered the setup only to find an error “HAL_INITIALIZATION_FAILED”. Again, I was stopped dead!

I did get the 32 bit version installed and working under VirtualBox, and I did get the 64 bit version working on a Hyper-V instance.. This enabled me to get it installed and up and running…

During the install, I found some interesting things. One thing that could be nice is the ability to log in via a Windows Live ID. This should mean that things like bookmarks, favourites, personal settings etc should all be synchronised between devices. I guess that could be useful, although probably not if you have a Windows 8 computer and an iPhone/Android I guess! :)

Options for logging into the computer

Options for logging into the computer

Having gone through the setup options which are mostly very similar to other Windows installations, I was presented with the Welcome/login screen. This is much prettier than previous versions of Windows so I thought I’d share it!

Windows 8 Welcome Screen
Windows 8 Welcome Screen

So, from beginning starting to install the Virtual Machine to being ready to login took a little under 20 minutes – this is much quicker than previous versions of Windows, easily as quick as if not quicker than most Linux installations that I’ve done, and I’m told is quicker than a Mac install, although I’ve no personal experience of this. Next post will concentrate on some things that looked a bit different to previous Windows versions once I logged in.

New web host upgrade – new blog

I’ve just upgraded my web host, I was running out of space on the old website, and they offered me a free space, feature and bandwith upgrade on their new servers at no extra cost. Unfortunately during the move I’ve managed to lose my orignal blog contents through an inadvertant database deletion (ahem!). I could recover the posts from a backup, but this seems as good a time as any to start fresh and create some new content with a new version of wordpress and new themes.

It’s very frustrating to have lost some of my old blog content but there wasn’t huge amounts there and mostly wasn’t that useful. So here’s to a new set of blog posts that are better than ever!