Introduction About Site Map

XML
RSS 2 Feed RSS 2 Feed
Navigation

Main Page | Blog Index

Archive for the ‘Programming’ Category

New Google Groups Interface Hates AdBlock

Google on a computer screen

Earlier today, a mini milstone for Google Groups left its stingy mark . The beta version of the new interface, which acts as a gateway to UseNet (and beyond), has just gone live as a stable service. The old presenatation, which was simpler, is sadly no longer available. I am not too happy about this ‘facelift’, yet no options that I navigated through could take me back to the minimalist and familiar interface. This transition — a questionable ‘upgrade’ — may be even worse than the last one, which discoraged proper netiquette and earned Google Groups users some bad reputation. It sometimes led them to killfiles and filters, quite collectively and prejudicely.

In any event, my main concern with the new interface is one which cost me between 15 minutes to half an hour. The new Google Groups interface conflicts with AdBlock (Firefox plugin). Something in the naming of the divs has apparently changed. Looking at userContent.css (under /chrome) and removing some of the prominent selectors with “ad” as a substring resolved the issue. They are located at the top, but I am not sure whose removal resolved the problem.

So, in case someone is having the same trouble as me, I decided to post this as a blog item that’ll prove redundant to most readers. Let’s make something more useful of this ramble. Are you reading and /or using Digg? If so, why not strip all the ads off the site?

Microsoft ‘Originality’ at Its Best

If Windows is so genuine and innovative, then how can Microsoft explain the following?

Gates: “And through Windows NT, you can see it throughout the design. In a weak sense, it is a form of Unix. There are so many of the design decisions that have been influenced by that environment. And that’s no accident.”

[...]

In light of the recent saber rattling about Linux and patents, the “There are so many of the design decisions that have been influenced by that environment” sentence is particularly interesting if these patent threats include things that are prior Unix art. “In a weak sense, it is a form of Unix” is also telling. I said before that I don’t think that’s the case; I think the patent stuff is talking about things like Samba and Mono, but even there the “influenced by that environment” could be important in the court of public opinion if not in actual law.

This is definitely a noteworthy observation, which has just been posted by Anthony Lawrence.

Red Hat’s Departure from Novell’s Mono

It has already been argued that Novell’s Mono had evolved to become a legal minefield. Unsurprisingly, Red Hat excludes Mono from RHEL 5.

There are a lot of great new programs and innovations expected in Red Hat Enterprise Linux 5. The Novell-led Mono project isn’t one of them.

Mono is an open source implementation of Microsoft’s .NET framework. It recently hit version 1.2 offering the promise of improved Windows-to-Linux .NET portability.

Well Done, John Tapsell!

Pager in KDE
A KDE pager containing eight virtual desktops

SURPRISE, surprise! It turns out that I am only one among several. Several (former) Manchester University CS students who contribute to Linux, that is. Purely by coincidence (a newly-published feed item), I have just spotted an old University mate on the KDE Web site. It turns out that he followed an educational route similar to mine and is now maintaining KSysGuard, which I use on occasions. Keep up the good work, John.

The World Turns to GNU/Linux

AS a programmer in training and background, I have always been told that I must keep up with the latest and the greatest — technology-wise that is — in oder to remain marketable. The way I perceive it, Windows technology that excludes the competition is a dying breed. I would not want to expand my knowledge in that area, which is why I continue to urge people to upgrade to Linux. At the same time, I rarely bother to keep up with advancements in the Windows world and yet I keep an eye on features and demonstrations that permit me to make a comparative analysis.

Vista error message

A mockup I prepared using the GNU Image Manipulation Program (GIMP)

Today in the news:

And that, mind you, is just half a day in the news. It is representative of merely any day in the year 2006. The world changes more quickly than most people care to realise.

Reliable Backup Mechanism

Data Recovery - presentation

T ODAY I would like to explain, in a relatively shallow level of depth, my most basic backup routines. I will concentrate on a somewhat simplified perspective and that which involves my current backup approach for local files, as opposed to the Web. The method is largely automated, owing to cron jobs (scheduler-driven). More details and method were described in older blog items. For example, have a cursory look at:

At present, I continue to seek and stick to a robust backup mechanism that is rather immune to human error, as well as hardware failures. I take the ‘stacked backup’ approach (keep several cumulative/progressive backups) and I always remain paranoid, as to be on the ‘safe side’ of things. I fear (and maybe even loathe) situations where I might lose data as this costs a lot of time and can even lead to considerable emotional pain, especially in the case of irreversible loss. As a result, I have scripted all my backup routines. I can just set it all up and thereafter forget about it, so frequency of backups can be increased without extra cost (time). I would like to share a few commands that I use in this blog post, for whatever it’s worth. Here are bits referenced from the crontab file, as well as some corresponding and related scripts.

First of all, here is a command which takes all the settings files (beginning with a dot) and puts them on the external storage media, datestamped. It’s possible to go further and compress (e.g. using gzip), but it makes the entire process much slower.

tar -cf /media/SEA_DISK/Home/Home-Settings/home-settings`date +%Y-%m-%d`.tar ~/.[0-z]*

Here is a simple way of preparing a datestamp-named directory.

mkdir /media/SEA_DISK/Home/`date +%Y-%m-%d`

I then take all files to be backed up, slicing them into volumes of 1 gigabyte (the filesystem will not accept files that exceed 4 gigabytes in size).

tar -cf - /home/roy/Main/BU|split -b 1000m - /media/SEA_DISK/Home/`date +%Y-%m-%d`/Baine-`date +%Y-%m-%d`.tar

Lastly, important files that change frequently are copied without any compression.

cp -r /home/roy/Desktop/ /home/roy/.kde/share/apps/kpilot /home/roy/Main/MyMemos
/home/roy/Main/kpilot-syslog.html /media/SEA_DISK/Home/Misc_local #local

I prefer to send copies of these files off-site as well, just for the sake of redundancy.

konsole -e rsync -r /home/roy/Desktop /home/roy/.kde/share/apps/kpilot
/home/roy/Main/MyMemos /home/roy/Main/kpilot-syslog.html
/home/roy/public_html roy@baine.smb.man.ac.uk:/windows/BU/Sites/SCG #and remote

In the above, Konsole is just a convenient graphic-textual wrapper for these operations that spew out status or flag errors, shall they ever emerge (a rarity).

I use tape archives to retain nightly stacks. Every night I use rsync to replicate my main hard-drive and to avoid the existence of deprecated files, I create a fresh copy twice a week, using rm -rf followed by scp (could be rsync as well, in principle) and a storage unit whose total capacity is 0.3 terabyte keeps stacks of the files before each rm -rf operation. Here are some bits of code which are hopefully self-explanatory.

konsole -e rsync -r roy@baine.smb.man.ac.uk:/home/roy/* /home/roy/Main/BU/ &

For a fresh copy of a remote home directory, begin by erasing the existing files.

rm -rf /home/roy/Main/BU/*

rm -rf /home/roy/Main/BU/.[0-z]*

Then, copy all files using a simple remote copy command.

konsole -e scp -r roy@baine.smb.man.ac.uk:/home/roy/* /home/roy/Main/BU/ &

The stacked backups that are dated get deleted manually; and quite selectively so! One should permit reversal to older states of the filestore by leaving sensible time gaps between retained backups. This prevents backups from being ‘contaminated’ too quickly. Important files are often replicate on file/Webspaces, so the most I can lose if often less than one day’s worth, due to hard-drive failures that are physical. The files are kept on 3 separate archives in 2 different sites in Manchester (home and the University; used to be three sites before I left one of my jobs). All in all, I hope this inspired someone. If not, at least it would serve as a page I can reference friends to in case they seek something similar.

More tips on *nix-oriented backup can be found in a recent article.

Bloated Applications Deter Some Users

Faces in GIMP

AS time progresses and computer hardware matures, there appears to be a worrisome trend. Backward compatibility, and sometimes practicality and simplicity, are being compromised. Applications get ever more bloated, attempting to be the entire world, and more.

Take, for example, media players that extend infinitely. Some of them turn from simple music players into a fully-blown video player, a Web browser, a music store, a sound mixer, and even an editor or playlist manager that is fairly sophisticated and employs greedy engines. From something small that occupies a megabyte of RAM and does its work reliably, the application can soon devolve into a complex resource pig.

There ought to be support for plug-ins that facilitate lightweight use, but the idea is often discarded, quite unfortunately. This, as a matter of fact, is one of the arguments for backing Open Source development, with healthy user and developer communities. Hooks can accommodate extensions that do not distract maintainers of the core and do not truly detract from its quality (e.g. stability).

For this reason, to use a personal example, I use Thunderbird as what it truly is: a mail client (as well as Horde‘s mail facility for Web-based access tot the accounts). I don’t use Thunderbird for newsgroups and feeds. These are ‘plugs’ for gaps which Thunderbird merely attempts to fill, while retaining simplicity (and thus its lack function). So instead, I use a highly-versatile tool, KNode, which was created and designed to accommodate newsgroups in its entirety. It is designed to deliver the functionality at its best. For feeds, I use a pro-feeds application rather than some off-the-hook ‘application’ or a Web service. Truthfully, I tried alternatives such as Feedlounge, which is Web-based (I was even a project tester briefly), but it was just too slow and it lacked function that I already had in RSSOwl, which I help test as well.

Retrieval statistics: 21 queries taking a total of 0.131 seconds • Please report low bandwidth using the feedback form
Original styles created by Ian Main (all acknowledgements) • PHP scripts and styles later modified by Roy Schestowitz • Help yourself to a GPL'd copy
|— Proudly powered by W o r d P r e s s — based on a heavily-hacked version 1.2.1 (Mingus) installation —|