Spooky Case of the Wem GhostTank Wars in G3DNasa's Space Shuttle Atlantis Transiting the SunCreamy Swiss-style (Vegan) Chicken and Mushroom Pepper StewReading Email with PHP and IMAP/POP3Compiling and Installing Freespace 2 on Ubuntu Linux
A pretty simple dish, the only complicated part being the vegan gravy. I use Beyond Meat vegan sausages, fried or grilled. The mashed potato is easy enough - I add soy milk so it's not dry, a healthy amount of dried parsley, and salt and pepper to taste.
There's this annoyingly patronising habit that I blame Microsoft for, where items on your computer are labelled using possessive pronouns e.g. 'My Computer', or 'My Documents'. It's annoying because it is your computer, there is no need to label it, and it is patronising because the computer has no idea who is reading the label - it could be your girlfriend, dog, or even a laptop thief, in which case it should say 'Absolutely NOT your documents'. But it doesn't, it just says 'My' all the time, because you're just a stupid dribbling moron who appreciates being spoken to like a child.
A few updates ago, Mozilla started doing a similar thing with the Thunderbird email client. Since then, messages in your inbox no longer show the email address they were sent to, and just show 'Me' (previously 'You'). This is such a bad idea on so many levels. To begin with, many people have multiple email addresses, and need to easily see what email a particular message was sent to. It's also sometimes
This recipe is my version of a ready meal sold by Netto with the name "Sahne Geschnetzeltes Schweizer Art" (the link goes to Edeka but it's the same thing).
Yeah yeah it's a ready meal, but it's actually really tasty, and I wanted to make my own version of it so I could do it without meat and have control over the quality of the other ingredients. It came out really well, so I'm writing it down in case I struggle to remember how I did it next time.
I've had a ton of tofu in the fridge for months, because while it seems on paper like it should be a useful meat-replacement in vegetarian dishes, in reality I have never found it to add anything useful - neither texture nor taste. A friend recently convinced me to try using it to make vegan scrambled eggs, and I'm glad I did as it ended up a very tasty and perfectly acceptable replacement for that breakfast favourite.
With all these GPX recordings of routes I'm collecting, I wanted to view and compare details of past routes in a more user-friendly manner than poring through reams of XML output. The Google Maps API would be great to incorporate somehow, and it is freely available for JavaScript use. However I decided to be awkward and write a desktop application in Java. I'm figuring that I'll find some way around the problem of getting graphical map imagery later.
So far I have a small Java Swing/AWT application which reads an XML file of GPS points from a recording of a cycle ride and displays the route in a JPanel within a JFrame:
The xpad kernel driver works pretty well for gamepads in Linux these days, with the wired Xbox 360 controller the recommended choice. This controller should work without need for configuration in most native Linux games.
When running Windows games under Wine, you are quite likely to find that the buttons and axes do not do what they're supposed to, or even don't function at all. This is because gamepad button mapping is different in Windows, Linux and even Mac. Don't worry though, it's not hard to fix this, by simply remapping the buttons to the correct inputs and then Wine games will recognise it properly and assign the right actions to the correct buttons.
xboxdrv is one way to do this. It's a pretty powerful program but is also quite a hassle to configure. The big advantage it offers is that it allows you to map gamepad (or joystick or steering wheel) buttons to keyboard presses, enabling you to use a gamepad in games that don't offer built-in
Sending email is very simple in PHP, thanks to the mail() function. So what about receiving it? Obviously this would be useful for webmail, but my intention is to allow remote control of a PHP app, which is restricted to specific IPs.
The idea is this:
Good old Valve. Now I'm not someone you'll ever hear fawning over a company or its products, maybe it's the generation I come from or just my inner idealist. A little mistrust of capitalist enterprise is healthy even though capitalism is way better than either of the two big statist experiments of the 20th Century i.e. communism and fascism. Still, it's not perfect. The bottom line is that companies exist by exploiting their customers for profit, and as a customer, it's wrong or even foolish to expect more.
Sorry about that, went off on one a bit there. Where was I? Oh that's right, good old Valve. They've released Steam for Linux - well, it's currently in public Beta, so it's available to all. Only Ubuntu is officially supported, but I've had no problems running it in Arch using the package from AUR.
There's nowhere near as many games available compared to what you're used to with Steam in Windows: the
The mysqldump command is widely documented because it really can be very useful, and also because it offers a blistering array of options. Its most obvious use is for dumping databases for backup or relocation purposes:
About 50 miles out of Vasco da Gama are Dudhsagar Falls. It's not far from the Supra Dam reservoir in Anshi National Park.
makemytrip.com's routeplanner is the best way to plan routes around india. It will give you journey options between any two places, using a combination of train, airplane, bus and car.
The Indian railway company has this static map of rail routes around the country - useful for getting an overview of where different places are.
Ooty Timetable
"In fact there is only one express train that extends to Mettupalayam , which is the Chennai to Mettupalayam Nilgiri Express (also called the Blue Mountain Express)."
"Mettupalayam to Ooty there is one train a day. It waits for the Chennai-Mettupalayam (Blue Mountain Express) to reach to
This article refers to Ubuntu Gutsy Gibbon (7.10, 32-bit), but the upgrade to Hardy Heron (8.4) also messed up my screen resolutions, as I expected it would. At least this time I was prepared, and I was relieved that the script here works just as well with Hardy. It also appears to work on Debian - at least, it worked great for me on Debian amd64.
I had had a load of problems getting the default restricted drivers running when I upgraded to Gutsy, and at the time I'd tried the drivers from nvidia and found it an uphill struggle. During the process I realised that the default option in my Grub boot menu was causing Ubuntu to run with the older Feisty 2.6.20.16 kernel. Once I corrected that, I was able to switch on the restricted drivers (via System > Administration > Restricted Drivers) and enable compiz fusion with no further problems.
Since then Gutsy had been running great, with compiz silky smooth with max effects. World of Warcraft also runs fine, as does steam:- Team
Rather than go through agencies, who charge a big fat fee and often only serve as an obstruction between employer and potential employee, you can apply direct to the company, if you can find them. Coder Stack only posts jobs direct from employers.
Below is an independent list I've put together of software development firms in Birmingham, UK. If you know any I have missed, please do let me know in the comments. Thanks, and good luck in your search.
Proteus Software is based at Birmingham Business Park, B37 7YD, and they produce warehouse management software using Progress infrastructure software.
Borwell Software is a Small, Professional Software House based in Malvern that creates bespoke applications
There are a myriad of XML formats for encoding GPS data. Google has a preference for Keyhole Markup Language (KML) and its zipped form, KMZ. gpsbabel, an open source tool for interacting with GPS devices that is compatible with Linux, Windows and Mac OS-X, has GPX (GPS eXchange Format, an XML schema designed for the transfer of GPS data between software applications) as its preferred format.
As these are both XML formats, it should be possible to write XSL stylesheets to transform one to the other. These stylesheets would allow you to both design training routes on Google Maps, and also view recorded training rides on Google's online mapping tool.
GPX is fairly simple. Here's a sample file:
<gpx version="1.0">
<time>2008-12-20T18:06:08Z</time>
<bounds minlat="52.446012469" minlon="-2.031685989"
There's an interesting story doing the rounds which you may or probably won't have seen recently. The Shropshire Star reports on an old chap who spotted what appears to be a very uncanny resemblance between a 1920s B&W photograph and a famous picture of an alleged local ghost.
See the story with full images here.
I was intrigued, and decided to compare the two images a bit closer, and there does seem to be a striking resemblance. See what you think using the image below. Click and drag the Fade control to fade from the 1990s image of the so-called Wem ghost to the 1920s image of a very much alive and sulky looking girl. You can use the other slider to zoom in or out on the image for a closer peek.
These images are both taken from the Shropshire Star story, and are untouched except to shrink the 'ghost' one so that it is the same size as the girl. I didn't process
The first thing to do is install Freespace 2 under WINE (you will need WINE already installed and configured for this step). If you have the retail CDs, insert the first disk, browse to it in nautilus and double click the setup.exe file. As a Windows executable, it should start up using WINE. If you don't own the retail disks, read up on the open freespace wiki and forums for other methods of getting hold of the necessary data files for the game.
Proceed through the setup as if on Windows, but without the nagging feeling of nausea. I installed to the default location, although you may be able to install to another location. The only thing you may get stuck on is when it asks for the next disk - here you just need to put in the required disk, and change the path in the dialog accordingly (eg when you put in the 2nd disk, change the path from /media/cdrom/FREESPACE2_1/ to /media/cdrom/FREESPACE2_2/).
Once installed, you can try to run the retail .exe using WINE if you
I now want to look into how terrain can be modelled in a 3D game. My feeling is that the terrain model must support a couple of functions, as a minimum. These are elevation(x,y,z), which returns the height of terrain below the co-ordinates passed in, and slope(x,y,z), which returns the slope of the terrain at the specified point.
If we consider a simple single-level terrain, then we can say y = elevation(x,z). In other words the elevation function returns the height (y) for a point at (x, z).
The slope at a given point can be thought of as the rate of change of y with respect to x and z, ie the differential of y = elevation(x,z). 2D differentials are fairly straightforward to calculate using Newtonian calculus. I'm not so sure about 3D ones however.
There are other ways to get the slope though. If the terrain is represented as a triangular mesh, which is pretty much the only way to do it, the slope is the slope of the triangle at a given point.
The Garmin Edge (image stolen from www.tramsoft.ch) is a pretty cool little bicycle gadget. It is basically a cycle-mounted GPS receiver. It has no maps - you can't use it to plot a route along the public roads like you can with a car sat nav.
You can however program it with a route which you've planned elsewhere (e.g. Google maps), and you can also record a route which you can download on to your PC. As well as this it's also an accurate speedometer - which is what I was really looking for when I came across it.
To download data to and from the device, I use a program called gpsbabel, which runs under Linux, Windows and Mac OS-X. To download a recording of a route, use:
gpsbabel -t -i garmin -f /dev/ttyUSB0 -o gpx -F /tmp/track.xml
The -t option
The following image shows the space shuttle Atlantis in transit across the sun. It was taken on Tuesday, 12th May 2009, by some froggy-sounding geezer called Thierry Legault, about 100 Km south of the Kennedy Space Center in Florida, USA:
Here's another image from the sequence, which lasted 4 seconds in total, the shutter firing four times every second with an exposure of 1/8000 sec, ISO 100:
In the lower left of the above picture, the Atlantis appears close to the Hubble Space Telescope, in the process of docking in order to perform repairs.
The time the shuttle actually spent in transit across the sun as viewed from Earth was a miniscule 0.8 seconds, the image only being possible thanks to the predictive accuracy of modern computer software.
Also of interest are his
In the early days of home PCs, back in the days of the 386 CPU, the machines ran almost completely noiselessly. The processor itself required no fan, and there was no call for case fans. The only fan would be found in the power supply, where it cooled the large step-down transformers.
Not so any more. Start up your home PC and you might as well be transported to the deck of an aircraft carrier. You have a CPU cooling fan, often another fan on your graphics card, and more and more frequently case fans are needed too. A typical PC can easily make enough noise to drown out low volume dialogue in movies and to mask the subtler nuances of the music you listen to.
But there is an alternative - a low spec processor that is able to run without a fan and only a heatsink, something like the VIA C7. It is fully x86 compatible, and can operate at 800 to 1500 MHz. The systems draw very little power in operation - typically around 20W, which is comparable to a modern low-energy lightbulb.
There are two essential files: one the XML descriptor, and two the PHP code. Both filenames begin mod_, then are followed by the name of the module, and the appropriate file extension of course.
So, to make a new featured items module (or really a special offers module) is fairly straightforward. The problem is how to mark products for display in this module. It would require some new field in the database, say an extra column in the #__{vm}_product table. A way to mark products, which sets this column, is then required in the admin panel.
The current featured items module appears to use the product_special column of this table. So we need to add a second checkbox for setting the new column.
The admin page where this checkbox is to be added is defined by the page=product.product_form parameter. The tabs on this page must be controlled by JS as the querystring is not changed when the active tab is changed.
Let's find where the content for the product
Replace the existing entry for your mouse in /etc/X11/xorg.conf with the following and restart X:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "Emulate3Buttons" "false"
Option "Buttons" "7"
Option "ZAxisMapping" "4 5"
Option "ButtonMapping" "1 2 3 6 7"
Option "Resolution" "300"
EndSection
Linux should now be able to respond to the 'forward' and 'back' buttons on your mouse. Firefox should not need any further configuration, however few other apps make use of these buttons out of the box. This is where imwheel comes in.
Install this and you can map the extra mouse buttons to different key-presses in different applications. For Debian and Ubuntu distros, do sudo apt-get install imwheel.
It installs to /etc/X11, where you'll find a couple of config files living in a subdirectory called imwheel. Set up
The category listing is displayed on the VirtueMart 'home page', ie option=com_virtuemart on the URL, but no page or other parameter.
Going into the /templates/soinnovate/index.php file, and uncommenting the call to mosMainBody(), reveals that the content of the page I'm looking at is built by this function.
Searching for function mosMainBody in Windows Explorer locates the code in /includes/frontend.php. I know I've looked at this a few times before, I just can't immediately recall how it does its thing.
The key code is echo $GLOBALS['_MOS_OPTION']['buffer'];. In the admin side, this is populated by the index2.php page. On the public side, there is an index2.php page which does the same thing. It does not appear to be related to the actual code generated though, and the page we're interested in is index.php. Like index2.php, it has code to populate $_MOS_OPTION['buffer'].
It appears to work the same