PC Plus HelpDesk - issue 244
|This month, Paul Grosse gives you more insight into
some of the topics dealt with in HelpDesk
From the pages of HelpDesk, we look at:
- KDE Screen-layout Choice;
- Hardware Firewalls;
- Search Engine Ranking Program;
- Running Down Laptop Batteries Safely;
- Single Colours - Hex Values;
- Gradients - Hex Values;
- KDE Keyboard Schemes;
- (Not) Doing The Impossible;
- Favicon.ico Images - A True Quantum Leap In
The Browsing Experience;
- Creating Your Own 'favicon' File; and,
- Online Generation of 'favicon.ico' Files.
KDE Screen-layout Choice
KDE is all about choice and as there is so much
choice, you can pick the bits that you find work for you
If you are looking at migrating to Linux or UNIX
(platforms that support KDE), you can choose a screen
layout that your users will already be familiar with thus
saving on retraining.
If you are liberating your users from the proprietary
lock-in world of the Mac, you can have a menu across the
top and have a similar set of icons - choosing to have
icons for commonly used programs on the panel across the
bottom with only a minor use of a main menu. Window
decorations (the bits around the edges of the windows -
using the KDE version of IceWM with its decorations
allows you to make your own) and style (the controls and
surfaces within the windows) can be made to look
sufficiently similar that any Mac user will feel at home
on their new UNIX/Linux system. Similar things can be
done if you are liberating the users from Windows.
One argument against migrating to UNIX/Linux that
people sometimes repeat is that users will not be
familiar with the controls in the GUI - KDE demonstrates
that this argument is simply hollow. It turns out that
the KDE GUI is just as intuitive than Windows and, as you
get used to the extras, is not crippled with pointless
restrictions in the way that proprietary GUIs are. The
same applies to Apple's offerings.
Once you have got used to your UNIX/Linux box, you can
start playing around with the look and feel of it - using
the system's flexibility to make it work the way that you
want it to. Only then do you truly appreciate how
restrictive the proprietary interfaces are. With KDE, you
can have extra panels - on the sides and the top if you
like. You can dispense with parts that you find of little
or no use or have become redundant by other ways you have
found of doing things.
In the screenshot
on the right, you can see one of the desktop layouts that
I currently use - I have this one for general work and on
the root account, I use a different set of window
decorations which gives it a different feel - see below.
I have tried the menu across the top of the screen but
found that it meant that if you had a window that was
away from the top and you wanted to use the mouse to use
the menu, you had to move it all of the way up there,
away from what you were doing in the window itself. This
caused too much disruption and so I got rid of it.
One thing that I did find worked quite well is having
commonly used applications on panels - Note that these
panels can be a range of different sizes and do not have
to be the same size as each other (These are set to large
(48 pixels) but can be 32, 22, 16 or custom which can be
dragged by the edge to whatever size you want). I hardly
ever use the main menu (the one that is equivalent to the
'Start' menu in Windows) as I can get most of what I need
from the panels. You can see that I use three as a normal
user. On the bottom, starting at the left icon, there is
the 'K' menu (equivalent to the start menu), then a
'Quick Browser' button that reproduces the ~/Documents
directory as a tree-style menu so that I can open files
stored in there or open an file manager window or a
console in one of those directories.
Next is 'Kate' - a text-editor that can open multiple
files and has a built-in console that I use for
programming, then a series of buttons for programs such
as The GIMP, console, file browser, web browser, KWrite,
calculator and email program.
Next is the system monitor which tells me how much
processor time is being used (hardly any at all), how
much RAM is in use (green at the top is file buffers) and
lastly how much swap space (the UNIX equivalent of
Windows' 'Virtual Memory').
you can see the 'Page Launcher' which happens to be
displaying 10 windows (5x2). On KDE (as with many other
UNIX desktops), you can have up to 16 desktops so that
you can order your work. This means that if you are in
the middle of doing something, you can just go to another
desktop and start doing something else which in turn,
means that you don't have to minimise everything.
course, it makes sense to organise yourself so I do my
word processing on desktop 1, have my music playing on
desktop 5, do my image processing on desktop 6 and my
email client on desktop 10.
If you want to move a window to another desktop, just
right-click on the window decoration and select 'To
Desktop'/ and then the desktop you want - if you give
them meaningful names when you configure them, you will
see something like the screenshot on the right.
having so many desktops, there is the possibility that
you might forget where you have left a particular window
so instead of working your way through them all (just
press [Ctrl][Fx] where 'x' is a number from 1 to 12 or
[Ctrl][Shift][Fx] to get any over the normal 12), on the
left panel at the top is the 'Window List Menu' which
gives a list of all windows on the the system for that
Just clicking on that menu item will bring down
a list that is similar to the one you can see on the
Each desktop is listed along with any windows that
appear in it, thus allowing you to find something you
think you might have lost.
All of this makes clearing the desktop something of a
redundant activity as you can always find a clear one to
work on if you are interrupted.
Other buttons you can see on there are: Games menu;
OpenOffice.org menu; a program to take a snapshot of the
screen; a root shell; a program called XKill; and, at the
bottom, two programs I wrote myself.
you can see the windows decorations I use for the normal
user. At the moment, I'm using the KDE version of IceWM
with an Aqua-based scheme. The red button (K) kills the
window, the amber one (I) minimises it, the green button
(X) maximises it and the blue button (S) makes it appear
on all desktops - this latter button does not feature in
the Mac OS X GUI because it is a single desktop only
Occasionally, I change this around so that it
looks completely different but that it how it is at the
is the windows decorations that I use for root. The
appearance is such that it reminds me that I'm in a
special, privileged environment.
The buttons are as
they are in the screenshot above.
Also, note that the icons and fonts I've chosen are
different. The result is that the whole feel is different
and I am always aware that there are things that I should
be extra careful about that could jeopardise the system
if I were to do them (the sort of things that people on
Windows systems do with admin rights all of the time such
as surfing the web.
an on-all-of-the-time connection such as a broadband
connection, your resources are eagerly sought after by
cyber-criminals and the like. Without a proper firewall
to protect you, you could find that your system has been
hijacked and either your credit card details are all over
the Internet or your machine has been turned into a porn
web server and when you think the Internet is slow, in
reality, your connection and your computer are being used
by many other people.
So, if you want more than one machine plugged into the
Internet at any one time but you don't want to have one
of them turned on continually, your best bet is to have
an appliance firewall. These tend to have around four or
so RJ45 sockets in the back so you can plug in a number
of machines and as it is on all of the time (and using a
lot less electricity than a computer), you can pretty
much forget it once it has been set up.
The screenshot on the right shows one appliance
firewall that has been up for 224 days (over 7 months)
and uptimes that run into years are not atypical.
Search Engine Ranking Program
If you look at your Webalizer search string results,
you can see what people have typed into a search engine
in order to get to your site. If you are curious, you
might like to know just how many other listings they had
to negotiate before they got to your site.
|One way of doing this is to open up two
browser windows (or tabs, depending on your browser) and
drag the search string from the Webalizer list to the
search window, click on the button and then count your
way down the list to your entry.
There is an easier
here to open the directory in another browser window.
Using Site Ranker ('ranker' for UNIX-like systems and
'ranker.pl' for Windows), you can simply copy a search
string directly from your web browser into the 'search
string' box (deleting the old one) and click on 'Search.
need to have the modules Tk and LWP::UserAgent installed
- it is probably easiest to just try to run the program
if you don't know whether you have them installed or not.
You can get any modules you have not yet installed
|This is ranker.pl running on Windows XP.
works in exactly the same way - simply because it is the
same program running on a cross-platform system.
Note that in the ranking result, it also picks out the
total number of page results that the search engine gives
- here, Google stating that the search string 'news' gave
8,540,000,000 results, of which bbc.co.uk came fourth.
|The Tk interface is a lot more flexible and
you can define the colours if you want. Here, I've used a
colour scheme that is in keeping with the one I have on
my user account (see 'KDE Screen Layout Choice' above).
|In short, you can get it to look any way you
want - at the same time. These are all from one
screenshot with four windows open simultaneously, using
four colour schemes.
Running Down Laptop Batteries Safely
Your laptop battery
needs to be taken through a complete charge/discharge
cycle every now and then otherwise you start to lose some
of the charge range - it might end up that it will only
ever discharge to 80 per cent of full charge at which
point the voltage falls off to an unusable level, because
you never let it go below 80 per cent.
If you try to run your battery down on Windows, there
comes a point where the system simply stops and this is
equivalent to a dirty shutdown. Unfortunately, Windows
writes to a disc, even when it is booting up, so you can
only ever have a dirty shutdown with Windows. Ideally,
you need something that will not write to any drive at
any stage of running and this is where KNOPPIX comes to
With KNOPPIX (screenshot on the right), you just
insert the CD and boot off that. You have full access to
the system itself but because it is on a CD, it has been
designed so that it does not write to any drive. As a
result, you can use KNOPPIX until the battery goes flat
without creating a dirty shutdown situation for your hard
drives. In the mean time, you can play some of the games
on KNOPPIX and look around the system.
You never know, you might decide to take Windows off
your machine and install Linux instead.
Single Colours - Hex Values
|If you are
trying to write a program that uses colour in its output
- say for a program that generates graphs as an output -
you can run into a problem with finding the right colour
values for your program. In Perl, when defining colours
as numbers, they are written in the same way as those in
HTML code - '#f4d90a' for example. Here is an easy way of
finding the right colour.
In The GIMP, clicking on one
of the colour blocks at the bottom left of the main
window - here, green and white - will open up a dialogue
the dialogue box. In addition to the Hex Triplet value
that you want, you can see that it has 4 tabs: GIMP;
Watercolour; Triangle; and, GTK which will allow you a
wide choice in how you select your colours.
|In addition, under the GIMP tab, there are 6 options
on how you represent the choice: Hue; Saturation; Value;
Red; Green; and, Blue - and this is what they look like.
left to right, top to bottom they are: GIMP - Hue;
Saturation; Value; Red; Green; Blue; then, Watercolour;
Triangle; and, GTK.
|Now, you can pick whatever colour you like.
Gradients - Hex Values
If you are trying to write a program that uses colour
gradients in its output - say for a program that
generates graphs with colour bars that change colour as
they increment in value, you will need to know what those
colours look like as well as what the values are.
Here is an easy way of finding the right colours so
that you can use RGB interpolation instead of HSV
GIMP - as with many image-editing programs - there is a
colour picker tool which is often shaped like a dropper.
With that selected, you can sample any colour you like.
you create an image and using the colours as described
above and create a gradient, you can use the colour
picker to get the intermediate colours.
linear RGB interpolation, you can get away with just
sampling a start and end colour and then just
interpolating the values for a given position.
HSV interpolation - like the one you can see on the right
in the screenshot - it is a little more complicated if
you want to avoid using the HSV calculation itself.
In the screenshot, the gradients have the same start
and end values it is just that the one on the left is a
plain RGB interpolation and the one on the right is a HSV
If you click the dropper somewhere on the image, it
will sample the colour at that point (you can get it to
choose an area if you want).
can see the tool's output, along with the hex value at
So, for the HSV interpolation, you can draw
a line with even intervals on it, take samples and then
do plain RGB interpolations of those values. For a colour
change like the one on the above right - going through
the rainbow effectively - you would probably need around
8 points or so - depending on how accurately you wanted
the colours to be represented. For smaller HSV changes,
fewer would be needed.
If a HSV gradient
isn't quite as complicated as you need, you can use the
gradient editor instead. Here, you have control over the
colours (picked from other areas if you like), what type
of gradients you want for them (you can mix HSV and RGB
gradients within the same scheme) where the centre point
of the gradient is so that you can skew the gradient.
In addition, you can introduce transparency into the
gradient which makes things very interesting if you want
This tool is well worth playing around with because it
is so powerful.
KDE Keyboard Schemes
KDE is not just for
Linux on a PC so there are a number of other keyboard
layouts that if can cover. In addition to running with a
Windows keyboard (with or without the flag keys), if can
run on a Mac and so has the layout for that as well. In
addition, there are also various UNIX systems that KDE
runs on (including various BSDs, Solaris, AIX and so on)
so with a UNIX layout, you have all of your modifier
If you have a custom configuration for you way of
working, you can get KDE to accommodate that as well.
Do do all of this, open up 'Control Center', select
'Regional & Accessibility' and then 'Keyboard
You can create a new shortcut or modify an existing
one by selecting the action from the list box and click
on one of the option buttons - 'Default' or 'Custom' -
and you will be allowed to change that action's key
sequence just by pressing the key with any modifiers that
(Not) Doing The Impossible
In programs like CSI, you often see people zooming in
on some flaky image and then being able to sharpen up the
screen, which is by now only a few pixels of the original
image, to see someone's face and so the plot proceeds.
So, is this possible?
You can try it
out yourself by taking an image, shrinking it down,
blowing it back up to the original size again and then
trying whatever image enhancing tools you like to try to
get that image detail back.
One thing you might like to consider is that if you
are going to use any tool, the action it performs makes
assumptions on how the original image came into being. If
something is blurred, what sort of blur was it? (Gaussian
or some other distribution?). What about the optics of
the device (I am not aware of any camera-phones that use
lenses by Carl Zeiss or are made by Leica) - they will be
full of aberrations that will befuddle any general
software (that is to say any software that was not
designed specifically for that configuration.
So, what about configuration-specific software? That
used to correct the images from the Hubble Space
telescope was designed to correct known aberrations that
existed in the image that changed over the image itself.
These were all from light sources that were a
particularly long way away and the imaging system
(mirrors in this case) did not change - this meant that
it could be optimised. Even so, when the new optics were
put in place, the images were so much clearer than even
the 'corrected' ones from before so even this is not
perfect by any means. Note also that this is not
interpolating pixels, it is just correcting image
aberrations - there is no 'let's see what is between
these two pixels' scenario.
In the world where this type of light-path/aberration
control simply doesn't exist, you cannot interpolate
pixels and see what was there in the original. In the
screenshot, the image was shrunk down to an eighth of its
original size and then blown up again. Here, any optical
aberrations are not included and still, it cannot be
Why can't it be done? Simply, to do so would be a
breach of the Second Law of Thermodynamics. That law says
that in a closed system, the level of disorder (called
'entropy') only ever increases. In effect, the single
photograph is a closed system and everything we do to it
only increases the level of disorder. If we shrink it
down to one eighth of its size, we have just thrown away
over 98 per cent of the information that was there.
Increasing its size will not bring that back again. If we
sharpen it once it has been blown up, we cannot increase
the level of information that was in the original above
one part in 64 of the original because we discarded 63
parts of every 64 when we shrunk it down.
Putting myself at risk of repeating myself, it
cannot be done. Mind you, to state that the
Second Law of Thermodynamics will never be broken would
itself require the Second Law of Thermodynamics to be
broken. Don't hold your breath though.
Favicon.ico Images - A True Quantum Leap In The
are arguably the least effective denial of service attack
ever. They simply serve no purpose other than to make
someone's browser look prettier. Are home Internet
end-user's really so impressed by something so puerile?
Apparently they are.
Favicons.ico files are small .ICO format files that
can have a 16x16 image and/or a 32x32 image in them so
that when they are displayed in the address bar of the
browser, they replace the icon that was there (this does
seem really to be a quantum leap in browsing technology
simply because you could not make a smaller step). If you
are curious to know what happens to them when they get on
your machine, the answer is - like everything else
Internet related - they are stored somewhere on your hard
drive. On Linux, they are all stored as .PNG files,
regardless of the original format.
So, how do we, as website owners, put them onto our
sites so that we can avoid being slagged off by people
who really should be doing better things with their time?
Creating Your Own 'favicon' File
the original idea was to have a file called 'favicon.ico'
on the document root of your web server, there is a
problem getting hold of a program that will produce this
arcane format. If you have ever tried, you will have
found that they generally aren't very easy to use,
require you to sacrifice one of the only 16 colours
available to become the transparent colour and usually
have some sort of spoiler trick up their sleeve such as
only producing 3 files before refusing to work again, not
producing any files at all ... or something worse.
to avoid this, you can actually use a normal network
image format such as gif. png or jpg. png will allow you
to preserve transparency as well as have as many colours
as you like (although with a 16x16 grid to go at, you
aren't going to get more than 256 any way).
So, step one is to choose an image that you can fit
into a square whilst preserving enough detail to make it
image now cut (note that I removed the black background
between the ears), cropped and corrected for density
distribution and so on, shrink it down to 16x16.
save it to the right directory within your server. You
don't need to call it favicon.ico - you can call it
mypic.png if you want.
|And this is how. In the web page, include in the
header the following line (assuming that the image you
have saved is called robo1.png and it is in a directory
<link rel="icon" href="fico/robo1.png" type="image/png">
|... and it
will now appear in the address bar of the browser just
like the image on the right.
Note that for the reasons
that you can name them anything you want, and that they
don't have to be in the same directory as the current web
page or closer to the root, you can have them all
organised nicely. Also, with them not having to be ICO
files, you can use any program you want to create them.
advantage that the icon-centric end-user will find is
that they all appear in the navigation bar and if you use
[Alt][Tab], in there as well.
Online Generation of 'favicon.ico' Files
If you really do need
to use an .ico file, you can create them online. Just
prepare your image as you did before and save it to any
file name you want.
Next, open up a browser point it to http://www.html-kit.com/favicon/
(click on the previous link to open up the site in
another browser window) and just upload your image and
download the favicon.ico file.
This works with more than the 16 colours that the
original ICO format used for this used so it produced
quite good results. When I tried it out, it worked nicely
and quickly as well.
Back to PC Plus Archive Index Page