Extras

Bash

Backup to USB Drive
This is a shell script that backs up your system to USB drives. The drives are automatically mounted and dismounted if needed — you do not need to login to mount your usb drive — just unplug the current backup drive and plug in the next. The script utilizes the rsync program to actually copy the files.
Archive Files
The archive_file script is my oldest script that I still use and I use it every day. It is great tool for Linux/Unix sys admins who alter system files and want to track their changes. It is a simple Bash script that I usually create as soon as I have an account on a system. Version control systems (e.g. subversion) require setting up, are not always available, and are used to post your changes to a repository after you change a file. I use archive_file to save the current version of a file just before I change the file so I can easily backtrack the changes I make to a system.

Javascript

The following Javascript libraries do not refer to any external libraries or Javascript frameworks such as John Resig's jQuery library. They are parts of larger projects developed at AcmeBase Solutions. Many of these projects are now dated, for example, the AcmeMenu project was built to accommodate the dreaded Internet Explorer 5 and 6 and consequently has way more code than necessary for today's standard complient browsers.

TreeMenu
TreeMenu.js provides a Javascript function that turns HTML <UL> lists into expandable tree menus. It's great for directory listings or category lists.
InlineEditor
InlineEditor.js has a function edit_inline() that can be assigned to a button or it can be used as an onclick handler attached to a document element. It creates a little edit form that can be used to change the document element inline without refreshing the page.
AcmeMenu
AcmeMenu dynamically turns a list of <A> tags into a drop-down, push-up, pop-anyway type of menus.
ColorPicker
This color picker studies the interaction between text colors and background colors.

More

Most of the following projects do not have documentation but the source code is heavily commented.

Simple Image Utilities (javascript, php,demo)
Javascript functions which rotate and magnify images on your web page after the page has been rendered. As most know, Javascript cannot do that by itself. These routines refer to a server side program simgu.php. Here is a demo page.
PScroller (javascript,demo)
A page scroller that works like a horizontal scroll bar.
Working just like the vertical scroll bars on a page, you can quickly scroll to a specific page in a long list. The appearance of the scroll bar is controlled by CSS styles. Ancillary information can also be displayed besides the page number. For example, the above picture displays the price of the first piece of real-estate displayed on a page. A demonstration of its use is the "Search" button on this site built for a real-estate company.
NScroller (javascript,demo)
A number scroller that can also be used to navigate multiple pages of a search. As a variation of the PScroller above, this search This example is a variation of the above MLS search. The "Next" and "Previous" buttons, when held down, scroll the page numbers until let up, at which time the proper page can be displayed.
resizeCol (javascript,demo)
This script defines a function make_table_columns_resizable() that makes the columns of any HTML table resizable much like the columns of a spreadsheet. This report demonstrates a table with resizable columns.
TearOffMenu (javascript,demo)
TearOffMenu puts together AcmeMenu, moveMe, and a resize_me object to produce menus that can be "torn" off the menu tree and positioned anywhere on the screen. Not only that, but once positioned the menus can be resized by clicking and dragging their lower right corner. Look under this icon Menu icon. on this report to find menus that can be torn off.
moveMe (javascript)
moveMe makes any <DIV> tag into a panel that the user can drag around the screen.
Calendar (javascript,demo,demo)
The calendar.js scripts can be used to create small calendars which can be useful for filling in dates like on this example form. When coupled with a server side program and calendar_report.js these routines can be used to make a full fledged calendar application. The calendar's content is filled in after the calendar is rendered making it easy to interface to database queries.
selectList (javascript,demo)
Move items from one <SELECT> list to another. Multiple items can be moved at once, double clicking an item moves it, and selected items can be re-ordered before submitting. Here is an example.
selectScroll (javascript)
The selectScroll.js script defines a function make_select_scroll(select_field_id) that puts buttons at the top and bottom of a <SELECT> list which scrolls the list up or down. It works best with Firefox and it degrades nicely for other browsers. Here is an example illustrating a scrolling list of years in a drop down list.
dom_info (javascript)
The dom_info utility library is referenced by the above scripts to obtain information of the document objects such as an element's width, height, and its style settings. It can read settings in CSS files.
browser_version (javascript)
The browser_version library discovers which browser is being used and sets its flags accordingly. A twist on this browser sniffer is that the main function prints out which flags are set — useful for debugging code.
Our proud sponsor.
Top of page.