Technology Tales

Adventures in consumer and enterprise technology

From laptop limbo to a new desktop: A weekend restoration of computing order

12th July 2009

This weekend, I finally put my home computing displacement behind me. My laptop had become my main PC, with a combination of external hard drives and an Octigen external hard drive enclosure keeping me motoring in laptop limbo. Having had no joy in the realm of PC building, I decided to go down the partially built route and order a bare-bones system from Novatech. That gave me a Foxconn case and motherboard loaded up with an AMD 7850 dual-core CPU and 2 GB of RAM. With the motherboard offering onboard sound and video capability, all that was needed was to add drives. I added no floppy drive but instead installed a SATA DVD Writer (not sure that it was a successful purchase, though, but that can be resolved at my leisure) and the hard drives from the old behemoth that had been serving me until its demise. A session of work on the kitchen table and some toing and froing ensued as I inched my way towards a working system.

Once I had set all the expected hard disks into place, Ubuntu was capable of being summoned to life, with the only impediment being an insistence of scanning the 1 TB Western Digital and getting stuck along the way. Not having the patience, I skipped this at start up and later unmounted the drive to let fsck to do its thing while I got on with other tasks; the hold up had been the presence of VirtualBox disk images on the drive. Speaking of VirtualBox, I needed to scale back the capabilities of Compiz, so things would work as they should. Otherwise, it was a matter of updating various directories with files that had appeared on external drives without making it into their usual storage areas. Windows would never have been so tolerant and, as if to prove the point, I needed to repair an XP installation in one of my virtual machines.

In the instructions that came with the new box, Novatech stated that time was a vital ingredient for a build, and they weren't wrong. While the delivery arrived at 09:30, I later got a shock when I saw the time to be 15:15! However, it was time well spent when I noticed the speed increase on putting ImageMagick through its paces with a Perl script. In time, I might get brave and be tempted to add more memory to get up to 4 GB; the motherboard may only have two slots, but that's not such a problem with my planning on sticking with 32-bit Linux for a while to come. My brief brush with its 64-bit counterpart revealed some roughness that warded me off for a little while longer. For now, I'll leave well alone and allow things to settle down again. Lessons for the future remain, over which I may even mull in another post...

Bumping newly edited older articles in Textpattern

10th July 2009

Whether this is intended or not, you can put a pre-existing article to the top of your website's Atom or RSS feed by saving it as draft while it is being modified before restoring its status to live again. This is handy when you have got permanent articles that you are enhancing over the course of time, and you want to give your visitors a reason to return and maybe even prompt search engines too. Though new articles will achieve this always, it's nice to see that older articles don't get lost in space either. While this may be a hack, I am using Textpattern for permanent postings, rather than blogging, so I remain well pleased to see the availability of the feature.

Adding Microsoft core fonts to Debian

18th June 2009

When setting up Ubuntu, I usually add in Microsoft's core fonts by installing the msttcorefonts package using either Synaptic or apt-get. Though I am not sure why I didn't try doing the same thing for Debian until now, it's equally feasible. Just pop over to System > Administration > Software Sources and ensure that the check-boxes for the contrib and non-free categories are checked like you see below.

Debian Software Sources

You could also achieve the same end by editing /etc/apt/sources.list and adding the non-free and contrib keywords to make lines look like these before issuing the command apt-get update as root:

deb http://ftp.debian.org/debian/ lenny main non-free contrib
deb-src http://ftp.debian.org/debian/ lenny main non-free contrib

All that you are doing with the manual editing route is performing the same operations that the more friendly front end would do for you anyway. After that, it's a case of going with the installation method of your choice and restarting Firefox or IceWeasel to see the results.

Ridding the Google Toolbar dictionary of erroneously added words

16th June 2009

Butterfingeredness can happen to anyone, and it's always nice to know to remove words added to custom dictionaries in error. Many of my blog postings have had their spellings checked using a button on the Google Toolbar, so I have a vested interest in knowing how to remove any bloomers. Thankfully, they have a useful page telling you exactly what you need to do for Firefox and Internet Explorer. As is often said, you can never be too careful...

Take a great leap forward, then consolidate...

12th June 2009

While I have been a user of WordPress since late 2006, I only began to start keeping tabs on its development following my hearing news of dramatic changes coming in what became 2.5. Since a pattern developing with more significant changes coming in 2.5 and 2.7 while both 2.6 and 2.8 didn't add too much in the way of upheaval but rather evolved what was already there. With 2.8, theme and widget management got the once over, while there were plenty of other tweaks that polished a well received forbear. The differences between 2.7 and 2.8 are discernible without breaking anything that shouldn't be broken. In short, I rather like the result.

The reaction to 2.5 was mixed, to say the least, and that in part led to the dramatic changes in 2.7, especially regarding the administration interface. Now, I admit to having had doubts about these when I first saw them in development, especially when there was so much chopping and changing during development that stepping back until things settled down became a necessity. Even adding a ticket to the TRAC was problematical, unless you had sight of what was happening behind the scenes, because it became too easy to add an invalid ticket.

With the release of 2.8 into the wild, 2.9 is now on the horizon, and I am inclined to suspect that we might see more considerable changes again. For one thing, there was that interface poll a little while ago, so who knows what impact that may have on what comes next. The structure of the administration screens may not alter that much, but it still leaves changes to colours and icons with the aim of separating navigation from what else is on there, something that doesn't trouble me at all. In fact, I don't see very much wrong with how things are right now, which causes me to wonder if there's any point in making too many changes at all.

The forecasted incorporation of WPMU functionality is a bigger change that would mean the end of WordPress MU as a separate entity, and would concern me more with the amount of under the bonnet re-engineering that would be needed. Add Google Summer of Code projects to this mix and 2.9 looks as if it could be a step change in the spirit of 2.5 and 2.7, if not in feel. Summer 2009 could be very interesting for WordPress, leaving me to hope that it continues to work for me in the way that it does as we move from version to version.

%sysfunc and missing spaces

10th June 2009

Recently, I was trying something like this and noted some odd behaviour:

data _null_;
    file fileref;
    put "text %sysfunc(pathname(work)) more text";
run;

This is the kind of thing that I was getting:

text c:\sasworkmore text

In other words, the space after %sysfunc was being ignored and, since I was creating and executing a Windows batch file using SAS 8.2, the command line action wasn't doing what was expected. Though the fix was simple, I reckoned that I'd share what I saw anyway, in case it helped anyone else:

data _null_;
    file fileref;
    x="text %sysfunc(pathname(work))"||" more text";
    put x;
run;

A late "advance" sighting?

6th June 2009

Somewhat infuriatingly, Google released its own browser, Chrome, into the wild near the end of last year, though only for Windows. My experiences with it on that platform are that it works smoothly, albeit without many of the bells and whistles that can be got for Firefox. While an unofficial partial port was achieved using Crossover Chromium and there is the Chromium project with all its warnings and the possibility to add a repository for its wares to Ubuntu's software sources, we have been tantalised rather than served so far. However, that was recently bettered by the release of early access versions. In reality, these can be said to be alpha versions so not everything works, but it's still Chrome and without the need for Windows or WINE. The rendering engine, most importantly, seems to be the equal of what you get on Windows, while ancillary functions like bookmark handling seem incomplete. In summary, the currently available deb packages are a work in progress, yet that's better than not having anything at all.

Out of memory at line: 56

28th May 2009

This is an error that I have started to see a lot in the last few weeks. First, it was with Piwik and latterly with WordPress.com Stats. For the record, I have never seen it on up-to-date systems but always with IE6 and at page unloading time. The CPU usage hits 100% before the error is produced, which had me blaming JavaScript in error. However, it isn't the cause of all ills.

In fact, the cause seems to be a bug in a certain release of Adobe Flash 9, but I reckon that the inclusion of certain features in a Flash movie are needed to trigger it too. While I don't have the exact details of this, WordPress.com Stats worked without fault until a recent update, so that is what is making me reach the conclusion that I have. That observation also makes me wonder whether we are coming to a point where Flash compatibility is something that needs to be factored into the use of the said technology in a website or web application. Updating Flash will solve the problem on the client, but it might be better if it wasn't triggered on the server side either.

64-bit Firefox plugins?

26th May 2009

My laptop has both Windows Vista and Ubuntu on there, with WUBI being the facilitator of the peaceful coexistence. However, what I either forgot or never realised was that it was the 64-bit variant of Ubuntu 9.04 that has found its way onto the thing. For the most part, it works well, but there is one catch that I recently encountered: not every Firefox plugin or add-on is 64-bit compatible. Google Gears is one such example, yet other very useful and pervasive helpers have the same affliction: RealPlayer is one, and Adobe's Flash is another. Apparently, you can still download the 32-bit release versions and use nspluginwrapper to get them going. That worked for RealPlayer, but seemingly not for Flash; more investigation may be needed on that one. Other remedies like using 32-bit Firefox (if it runs, of course) or alpha versions of what Adobe offers can be tried too. It almost goes without saying that I'd wish that there was more awareness of the 64-bit Linux world, but I remain glad to have met this rough edge before taking the plunge with my main system.

Update 2014-01-24: It looks as if this problem has gone away now with the growth in maturity of 64-bit computing. Certainly, it does not rear its head on any 64-bit Linux distro that I have used or even Windows, apart perhaps from ensuring that you are using the right JRE for a browser (32-bit or 64-bit).

About Perl's Binding Operator

20th May 2009

While this piece is as much an aide de memoire for myself as anything else, putting it here seems worthwhile if it answers questions for others. The binding operators, =~ or !~, come in handy when you are framing conditional statements in Perl using Regular Expressions, for example, testing whether x =~ /\d+/ or not. The =~ variant is also used for changing strings using the s/[pattern1]/[pattern2]/ regular expression construct (here, s stands for "substitute"). What has brought this to mind is that I wanted to ensure that something was done for strings that did not contain a certain pattern, and that's where the !~ binding operator came in useful; ^~ might have come to mind for some reason, but it wasn't what I needed.

  • The content, images, and materials on this website are protected by copyright law and may not be reproduced, distributed, transmitted, displayed, or published in any form without the prior written permission of the copyright holder. All trademarks, logos, and brand names mentioned on this website are the property of their respective owners. Unauthorised use or duplication of these materials may violate copyright, trademark and other applicable laws, and could result in criminal or civil penalties.

  • All comments on this website are moderated and should contribute meaningfully to the discussion. We welcome diverse viewpoints expressed respectfully, but reserve the right to remove any comments containing hate speech, profanity, personal attacks, spam, promotional content or other inappropriate material without notice. Please note that comment moderation may take up to 24 hours, and that repeatedly violating these guidelines may result in being banned from future participation.

  • By submitting a comment, you grant us the right to publish and edit it as needed, whilst retaining your ownership of the content. Your email address will never be published or shared, though it is required for moderation purposes.