Computer Programming

Yes, a bit specific, but I need to store some links!

Photo Wall that Scrolls Forever Loading New Photos at Bottom

I was reading the code at and learned how to do this "scrolling forever wall" effect. It's clever.

Class Autoloading, Namespaces, PSR-0 and Acting Like Java

One of the surprises of ZF2 is that the preamble to the code looks like this:

namespace Album\Model;

use Zend\InputFilter\Factory as InputFactory;
use Zend\InputFilter\InputFilter;
use Zend\InputFilter\InputFilterAwareInterface;
use Zend\InputFilter\InputFilterInterface;

That's an awful lot like Java:

package illustration;

import java.awt.*;

The slight difference is that "namespace" and "use" are more like Perl lingo. "Package" and "import" hint at the existence of a compiler and linker.

Sign in sheet website

I spent way too much time tonight putting together a sign-in sheet website, called, generically enough Sign-in Sheet.

Computer Professional Overtime Exemption

Under US labor rules, some computer programmers are exempt from overtime laws. There is considerable misunderstanding about this law. I'm not an expert, or even novice, about this law, but am compiling this page as a resource for study and to increase understanding. Corrections to johnk-at-riceball-dot-com are appreciated. If you would like to network and get on a mailing list about this issue, please write to that address as well.

An Outlook Script to Save Spam for Training Spamassassin

On the spamassassin box, set up Samba and create two shares spamassassin-spam and spamassassin-ham. I created them in /home/Spamassassin/

RIP Slaptech Framework

Slaptech framework was a PHP 4 based framework that never got released into the public, that we built to do projects.

g_signal_connect_data instead of g_signal_connect_object, because GHashTable is not a GObject

I just blew two hours figuring out that a GLib GHashTable is not a descendent of GObject. Duh!

How to use Tags or Ctags to Browse Code with Vim

This is a short tutorial about using ctags (or exuberant ctags) to work with the vim editor to give you a great code browser. Vi and it's successor Vim have a built-in feature to allow you to jump from a use of a function call to the definition of that function call. It's a good way to learn about a library of code: load up some example code, and then read it, jumping from the function calls to the definitions.

To use tags, you must first install ctags or exuberant-ctags. They are in the repositories. To run it, go to the root of your source tree and type:

ctags -R *

Templating with DOM

DOMTemplate is a new templating system that doesn't use any markup.

MS Access:Can't Add New Record to Subform

A subform we were entering data into stopped working. One day it was working, the next, it was not. The problem turned out to be the datasource; the underlying query started with "select distinct". For some reason, probably because there were duplicate records in the underlying table, the query caused the form to stop accepting edits -- it became a read-only query. The solution was to set the uniqueness to "no", which removed the "distinct" from the query.

Some posts on the web say as much: the record source has to be writeable, meaning it can't be a UNION, most JOINs, and DISTINCTs.

MS Access: VBA CRC32 Function

Here's a CRC32 function based on the work at: cCRC32.

The main difference is that this is a function, and the crc32 table is not recalculated each time. If there's a way to do constant arrays, I'd like to know. I haven't found anything online.

Function CRC32(str As String)
    Dim crc32Table(256) As Long
    crc32Table(0) = 0
    crc32Table(1) = 1996959894
    crc32Table(2) = -301047508
    crc32Table(3) = -1727442502
    crc32Table(4) = 124634137

MS Access: Showing "Continue..." Conditionally at the bottom of a Section in a Report

Maybe I'm missing something - but it looks like Access doesn't have this feature - to put "Continued..." or "More..." at the bottom of a section if the next section is on the next page. If it exists, please comment or email me at johnk@ the domain name of this site. I seriously hope it exists.

I have this complex report that is a little non-standard - and here's how I did it. The general technique is at this other post:
Printing a Repeated Section Message like "Continued"

Information Technology Workers: an IT Labor Union?

If you have reached this page through a search engine, and are interested in IT organizations, please check out Bright Future Jobs. Their URL is

This is a short list of links to groups that organize or try to organize programmer labor unions and other computer-based worker unions, as well as lobby organizations. This document is undergoing constant revision.

Page News
I just found out about CyberUnions a podcast and community about FOSS and labor.

PHP DOM to Implement a Form Class with Pure HTML Templates

So, I had this painful gout attack today and was mostly bedridden. It sucked. But I got some reading done, which was nice. My mind wandered and came up with this idea (and a headache).

Syndicate content