I’ve recieved several messages to the tune of “There have not been many updates recently – are you still alive?” pouring in via email in the last few days.

I assure you, I am still here!

I’ve recently relocated to Reno, Nevada (my old stomping ground), after spending the last few years in the California, Bay Area. It’s taken me a little bit of time to get back in the swing of things.

Most recently, I’ve obtained a position with Harry’s Business Machines, a firm specializing in support for medium to larger businesses. I must say, I love my job, and I love the people I work with – I’ve not been employed a full week yet, and I’m already planning network topologies and doing higher-end system specifications, as well as dabbling a bit in repair – it’s been years since I’ve dealt with broken IDE channels and quirky hardware!

Some of my most recent tasks were to assess and inventory various legacy items, assess their worth, and donate the more useful systems to a local firm, “Computer Hope”, who will repurpose these systems for end users who might not be able to afford a computer.

I’ve cleaned up the back stock (of over 50!), and since then have been working in various different places – meeting specific customers, aiding Harry’s internal staff, and even being asked my ideas on expansion.

Yet, I digress – I’m rambling on about my life – and I promised myself I would not turn this site into a “blog”.

Rest assured, gentle reader, I’m not planning on going anywhere, and I endeavor to continue supporting my own, and other’s software I maintain far into the future.

Since there is no reason to waste syslog to report various things for PHP, I decided to write my own wrapper. It’s still quite young, and not overly featureful, but it now exists. It will log to a file of your choice, only dropping to syslog when things break.

function logger($facility=”user:notice”, $message = “”) { global $mylogfile umask(0177); if ($logger != “yes” || empty($message) || empty($logfile)) return; if (!$fp = fopen($logfile,”a+”)) syslog(0,$_SERVER[“PHP_SELF”] . ”: cannot open $mylogfile\n”); $format = (isset($_SERVER[“REMOTE_ADDR”])) ? date(“M-d-Y H:i:s ”) . $_SERVER[“REMOTE_ADDR”] . ” ” : date(“M-d-Y H:i:s ”) . ” unknown ”; $format .= $_SERVER[“PHP_SELF”] . ”$facility” . ucfirst($message) . ”\n”; fputs($fp, $format); fclose($fp); }

It’s that time again… no, not time to make a “googy”, it’s time for another MKVToolNix release!

Mosu’s fixed up a few more things, most pertaining to the mmg system (which is still broken on MacOS X), as well as a few features.

You can get your very own “googy” release here.

After extensive testing and rewriting, I’ve broken out of my former mold, and have taken dbshim out of the works, instead, I’m now using my rewritten rollatorDB.

While doing so, I re-implemented my RSS feeds, cleaning up quite a bit of the cruft in that code while extending it a bit more.

You, the end user can now decide how many articles you want to view, and if you want to view the entire article, or only a section. By appending “fullcontent” unto your query, it will display the full article within the feed. “num=xx” will allow you to view the last xx entries, and last, but not least, “length=xx” will break the feed at the specified number, by default, 250 characters into the article. Keep in mind that “fullcontent” is a boolean, and will override length.

So, the query of:

http://www.holwegner.com/rss.php?fullcontent&num=30

will display the entire article for the last 30 entries, whereas,

http://www.holwegner.com/rss.php?num=10&length=74

will display the last 10 articles, cutting off at the 74th character, good enough for a brief synopsis (usually).

Working with PHP classes is quite a bit different than just creating, and calling subroutines, but it is a rather pleasant abstraction – with my rollatorDB::fetchAssoc, and rollatorDB::fetchAssocRow making life much easier than manually stepping through everything with the archic ways of old, which looked similar to:

$result = my_db_query(“SELECT …”); while (list($myID, $myTitle, $myContents, $entryDate, $lastModDate, $entryType) = mydb_fetch_row($result)) {; ... do stuff… }

It’s now as simple as:

$myVariable = $rollatorDBvar->fetchAssocRow(“SELECT ….”) ... dostuff…

Of course, due to this the flow has slightly changed, but it’s for the better since I have all of my data in a local array, and all of the DB work is done by the time I’m parsing it, making for a much faster system!

I must admit to having been quite busy over the last few weeks, with my relocation to my old state of Nevada, and finishing up my contracts..

I’ve managed to get rid of the last bit of bloat which was my external RSS parser. I’ve written a slightly odd code snippit which uses PHP’s (now) native XML routines to parse an RSS feed. It will stuff an associative array with variable data it accumulates.

No caching, hence, no ‘if changed’ resources – as of yet. Regardless, it works quite well, and is under 3k.