Perl access to local install of the W3C CSS validator

The W3C CSS validator is an online service for checking a stylesheet for standards compliance.  This service can be accessed in Perl via the WebService::Validator::CSS::W3C module, which is handy for automating validation.  However, for checking a large number of stylesheets, it is better to run a local install of the validator so as not to abuse the public . . . → Read More: Perl access to local install of the W3C CSS validator

How to have a Logical Argument in Real Life

Many articles discuss the process of logical argument in select situations, presenting logic as an “alternative” method of decision making.  This article’s premise is that logic can be used in many more contexts, and ultimately is the only valid method of resolving all arguments in real life.  Unfortunately, logic is not used in many cases because . . . → Read More: How to have a Logical Argument in Real Life

jQuery Scrolling Anchors

This is a comprehensive jQuery solution to the Scrolling Anchors effect.  Typical solutions replace the browser’s native “jump-to” behaviour for local anchors with a smooth scrolling effect, but fail to replace all other functionality related to local anchors.  This solution:

Adds the link to the history like the browser does natively
Respects event bubbling like the browser does natively
Handles . . . → Read More: jQuery Scrolling Anchors

Practical Logic and Decision Making in Real Life

Many articles present logic in decision making as an “alternative” to the way decision making is typically done.  This article’s premise is that upon reflection, logic is everyone’s preferred method of decision making – even illogical arguments use logically sounding statements to appear more valid.  Unfortunately, many of us do not use logic consistently for decision . . . → Read More: Practical Logic and Decision Making in Real Life

Linux memory leak detection

Tracking down the source of a memory leak in Linux is not always straightforward…

Signs of a Memory Leak:

Typically, the first sign of a memory leak is the oom-killer.  If programs start dying inexplicably, check the system log (usually /var/log/messages) for evidence of the oom-killer in action.  This should be accompanied by low memory reported by your . . . → Read More: Linux memory leak detection

Compiling programs in Fedora

Say you want to install a program in Fedora…

Before Compiling:

Many programs are available easily in the Fedora repositories via yum.

If you don’t already have a graphical package management tool, then install PackageKit or yumex.
If you prefer the command-line, then (as root / under sudo) use:
>yum search <program>
to see if a pre-built package (RPM) is already available. . . . → Read More: Compiling programs in Fedora

Perl global error handler

This is in an Apache::ASP based system, but should theoretically work in any web environment.

I wanted to create a global default error handler ($SIG{__DIE__}) that displays the error text on the page.

Some notes:

It is generally recommended that run-time errors be trapped on a case-by-case basis using try/catch style eval statements.
A global handler may be . . . → Read More: Perl global error handler

Dual-monitor + TV

In the current GNOME shell, Xinerama, the feature that supports more than 2 adjacent displays, is broken.  With my nVidia card, the native Nouveau driver doesn’t even detect the 3rd output.  The proprietary nVidia driver detects 3 outputs, but cannot enable all of them simultaneously, even without Xinerama (ie, as separate X displays).  🙁  So it’s . . . → Read More: Dual-monitor + TV

Nautilus open-with / mime-type associations

Using the native GNOME file manager Nautilus, you can double-click on a file to open it with its default application. If you don’t like that, are not sure what the default application is, or want to modify it, then you can right-click on the file to see a list of mime-type associations. The first . . . → Read More: Nautilus open-with / mime-type associations

Perl regular expressions – limit

Just ran into a limitation of Perl regular expressions. It’s mentioned (in brackets!) here: http://www.foo.be/docs/tpj/issues/vol1_2/tpj0102-0006.html, but I didn’t see mention of it in the Perl manual, so this wasn’t easy to track down.

It’s stated as: “Perl currently has an internal limit of 32K repeats for parenthetical items”. The following code is sufficient to demonstrate . . . → Read More: Perl regular expressions – limit