Note: These are my currently maintained applications. For for retired apps click here.

       

       

       
       
       

       =  Aclock - Text Console ASCII Analog Clock
       
        
       
      Aclock is an analog clock program for text mode console displays, terminals, or terminal emulators. This program is obviously absolutely useless, except for turning your old, expensive mainframe or supercomputer into a wall clock.

      The UNIX source code compiles on everything from AIX to zOS without any changes. Available are Curses, Termcap and AAlib for more modern systems. Provided are also specific, non-unix ports. There is also a vector graphics version for Tektronix 4014/4010 or XTerm/Kermit Tek emulator.

      Aclock Hero Shots Animation

    • Binaries compiled (some contributed) for 186 different operating systems/platforms:
          Alpha OpenVMS Alpha WindowsNT Alpha Tru64 Alpha Linux
          Alpha NetBSD1 Alpha NetBSD5 Alpha OpenBSD Alpha Plan 9
          ARM-BE QNX 6 ARM-LE QNX 6 ARM-LE NetBSD ARM-LE Plan 9
          ARM OpenBSD ARM MacOSX ARM-LE Linux ARM WinCE
          SH QNX 6 SH NetBSD SH OpenBSD SH WinCE
          Sparc FreeBSD Sparc NetBSD Sparc Solaris Sparc SunOS
          Sparc OpenBSD Sparc Linux Sparc NeXTstep Sparc Plan 9
          CRAY-SV1 Unicos CRAY-YMP Unicos Clipper CLIX Acorn RISC OS
          s390 z/OS s390 BS2000/OSD s390 Linux AS/400 i5/OS
          M68k-Atari TOS M68k-Atari MiNT M68k-Atari Linux M68k-Atari Minix
          M68k-Atari NetBSD M68k-Atari Unix M68k A/UX3 M68k A/UX2
          M68k-Mac Minix M68k-Lisa Xenix M68k MacOS 7 M68k-Sun SunOS
          M68k-Amiga Unix M68k-Amiga NetBSD M68k AmigaOS M68k-Amiga GG
          M68k-Sony NEWS M68k Plan 9 M68k-Mac MiNT M68k MacOS 6
          M68k-HP300 NetBSD M68k-Luna NetBSD M68k-Mac NetBSD M68k-NeXT NetBSD
          M68k MachTen M68k Domain/OS M68k-Tandy Xenix M68k-MVME SysV
          M68k NeXTstep M68k AROS
          M88k DG/UX M88k UniOS M88k OpenBSD M88k-MVME SysV
          MIPS WindowsNT MIPS-BE Sinix MIPS-BE QNX 6 MIPS-LE QNX 6
          MIPS-DEC Ultrix MIPS-DEC NetBSD MIPS-DEC Linux MIPS-BE Plan 9
          MIPS-SGI Irix6 MIPS-SGI Irix5 MIPS-SGI Irix4 MIPS NetBSD
          MIPS-SGI NetBSD MIPS-CD EP/IX MIPS Risc/OS MIPS NonStop
          MIPS WinCE MIPS NTHAL AT&T 3B2 Unix Z80 CP/M-80
          PPC-IBM AIX PPC BeOS PPC QNX 6 PPC Windows NT
          PPC-MAC Linux PPC-MAC OpenBSD PPC-MAC NetBSD PPC-MAC OSX
          PPC AmigaOS PPC AROS PPC Morphos PPC Morphos GG
          PPC Plan 9 PPC OS/2 PPC Solaris
          PDP-10 TOPS-20 PDP-11 BSD PDP-11 Ultrix PDP-11 Venix
          VAX OpenVMS VAX Ultrix VAX OpenBSD VAX NetBSD
          HPPA HP-UX HPPA HI-UX/MPP HPPA NeXTstep HPPA OpenBSD
          HPPA Linux HPPA NetBSD
          i8086 MS-DOS i8086 PC/IX i8086 Minix-2 i8086 Xenix
          i8086 Windows 1.x i8086 Windows 2.x
          i286-Altos Xenix i286 OS/2-1 i286 QNX i386 NTHAL
          i386 MS-DOS i386 Sinix i386 DYNIX/ptx i386 OpenServer
          i386 Win16 i386 Coherent i386 Minix-3 i386 Dell UNIX
          i386 Interactive i386 SCO Unix i386 Microport i386 AIX PS/2
          i386 Solaris i386 NeXTstep i386 SysV i386 UnixWare
          i386 SkyOS i386 Syllable i386 BeOS i386 Zeta OS
          i386 Hurd i386 WinCE i386 LynxOS i386 QNX 6
          i386 Minix-2 i386 Xenix i386 Haiku i386 Interix
          i386 BSD/OS i386 FreeBSD i386 OpenBSD i386 NetBSD
          i386 386bsd i386 QNX 4 i386 Netware i386 Unix V7
          i386 Plan9 i386 VxWorks i386 DG/UX i386 AROS
          i386 Win32 i386 Linux i386 MacOSX i386 OS/2 Warp
          EM64T Linux EM64T Windows EM64T NetBSD EM64T MacOSX
          EM64T Solaris EM64T OpenBSD EM64T FreeBSD EM64T AROS
          IA-64 OpenVMS IA-64 Windows IA-64 HP-UX IA-64 Linux
          IA-64 NonStop
       
    • AA-Lib powered static binaries:

      aix

      bsd

      osx

      irix

      hpux

      lnx

      mint

      sol

      tru

      uxw
       
    • Disk images and other media:
      ZX Spectrum +3 CP/M Boot Disk Image
      iPhone/iPad App
      i286 QNX2 Boot Disk Image
      Windows NT HAL BSOD Ready VMware VM
       
    • Source code and ports:
      UNIX: Curses-ANSI Curses-K&R Termcap-ANSI Tektronix Tek-K&R AAlib GD/CGIC
      Windows: Win32 Win16 Win1-2 WinCE NTHAL
      Other: AS/400 Plan-9 RISC-OS OS/2 Netware Minix
      MS-DOS Atari-TOS CP/M-80 VxWorks vt100
       
    •  
       
       
       

       =  CGIC / AJAX - File Upload Status Hack
       
        
       
      This is a quick and dirty hack that allows to obtain status of an ongoing file upload to a multipart/form-data submit via CGIC library and cgiFormFileName() function. It's an unofficial patch with limited functionality and obvious security implications. The hack is implemented via SysV shared memory. While one CGIC based application is receiving a form file, it updates a variable siting in the shared memory. An asynchronous AJAX call to another CGIC app (or function in the same app) will query for the shared value. This is currently limited to a single upload input and will not work on Windows natively (requires SysV IPC, may work on Interix or Cygwin). Attached is CGIC 2.05 patch (diff), sample HTML/AJAX page and SHM cgi handler.

      cgic_upload_status.zip
       
       
       
       

       =  cucm2csv - Cisco Unified Communications Manager - Dial Plan Export Utility
       
        
       
      cucm2csv is a tiny utility that allows to dump the dial plan report (phone directory) from CUCM in a CSV format. While the exact same function is available in the web interface, this utility can do it from the command line, batch or shell script, so that the current extension to person mapping can be captured and used in a CDR analysis, database or integration with Active Directory (eg to update the Outlook Address Book). The utility requires IP address and port of the CUCM server, AXL role enabled username and a file name to output to. Source code is provided under GPL. Windows version comes in with the required OpenSSL libraries.


      bsd

      lin

      osx

      qnx

      uxw

      win

      src
       
       
       
       

       =  homeown - reset Windows home folder ownership/permissions
       
        
       
      homeown is a tiny Windows application that allows system administrators to automate following tedious task: take ownership, recursively reset permissions to Domain Admins: Full Control and Owner: Modify. This is a command line utility that takes full folder path as a parameter and extracts last part as the username (so the last folder name in the path should equal to actual username). You need to have Domain Admin rights to execute it. Included is full source code.


      homeown.exe

      source.zip
       
       
       
       

       =  Joy2TX - Sample Joystick to PCBUDDY interface application
       
        
       

       

      Joy2TX is a simple application that demonstrates how to communicate with a PC to TX interface, such as PCBUDDY or SC-8000RF (possibly SC-8000P/SP) and controll an RC device (UAV, airplane, robot, etc.) using PC with a Joystick. The Joystick inputs are converted and send through serial/USB port to the interface. The basic application allows to control 3 channels using X/Y/Z joystick axes, it is however very easy to enable the rest unused channels and use some additional input devices such as rudder pedals or a mouse.

      NEW: Joy2TX 2.0 BETA Version. Now you have a customizable configuration file and binary exe version. No need for recompile.Get it here.

      Windows Source Code
      pcbuddy_win32.c
      Linux Source Code
      pcbuddy_linux.c
      Windows Source Code
      sc8000rf_win32.c

       

       
       
       
       

       =  MPK - Email Multiple Attachments From Command Line
       
        
       
      MPK allows to send email attachments from Unix command line or a shell script. Unlike mpack and mmencode from metamail it allows you to encode multiple attachments in to a single mail message.

      You specify attachment filenames as arguments (wildcards allowed) and optionaly (with -m) provide a text message on the standard input (use the < operator to get it from a file or redirect from a pipe). A base64 encoded multipart message stream is produced to the standard output.

      From version 1.3 mpk allows to send SMTP email directly via local MTA. Use -t for and -s for subject. Example use:

      echo "See the attached pictures" | mpk -m -t a@b.c -s "JPEG Pictures" *.jpg


      mpk.c

      mimesend.sh

      Binaries for your flavour:


      aix

      bsd

      hpux

      irix

      lnx

      next

      osx

      qnx

      sni

      sol

      tru

      uxw

       
       
       
       

       =  NCSA Telnet like .screenrc
       
        
       
      Have you ever used NCSA Telnet for DOS? I certainly liked it's status line with different switchable screens and few other features. I always wanted to make my GNU Screen look alike. Here it is! My .screenrc features a nice green status bar, CPU load info and a clock. Screens are switchable by F (function) keys like virtual consoles, F9/F10 is for Next/Prev, F8 - Swap, F11 - Detach and F12 - Quit all.

      Available here:
      screenrc.txt
      [ rename to ~/.screenrc ]
       

       
       
       
       

       =  Passgen - Password Generator Shell Script
       
        
       
      Passgen - A password generation utility written entirely in BASH (Bourne Again Shell). One day I needed this for a customized adduser script. It can be used standalone or included as a bash function/procedure. This utility is featured (and further explained) in Advanced Bash Scripting Guide (HOWTO). Somebody asked me for a commercial KSH version. It's avaiable as well. Also recently needed a function in AWK that does the same. Included is AWK script.

      Available here: passgen.sh [ Requires BASH 2+ ]
      KSH version: passgen.ksh [ Requires KSH88+ ]
      GAWK version: passgen.awk [ Requires GAWK3 ]
       
       
       
       
       

       =  REGLN - Windows Registry Linking Utility
       
        
       
      REGLN is a small command line utility that allows to create Windows Registry Symbolic Links. Links are similar in functionality to UNIX/NT filesystem links or Windows file shortcuts. The best example of a registry link is HKLM\SYSTEM\CurrentControlSet key which links to one of the ControlSets. The utility accepts Win32 key names or NT Namespace Paths as parameters. It uses "undocumented" Native API (NTAPI) functions and yes - it uses the once mysterious REG_LINK value type. Available are: compiled Windows executables (command line) for Intel (32/64 bit), AMD, DEC Alpha, MIPS and PowerPC processors, documentation and source code. All distributed under GPL.

      Intel x86 Windows Executable.
      regln-x86.exe
      Intel EM64T or AMD64 Windows Executable.
      regln-x64.exe
      Intel Itanium Windows Executable.
      regln-ia64.exe
      DEC Alpha Windows Executable.
      regln-axp.exe
      MIPS R4000 Windows Executable.
      regln-mips.exe
      IBM PowerPC Windows Executable.
      regln-ppc.exe
      Documentation. Text file.
      regln.txt
      Source Code.
      regln20.zip
       
       
       
       
       

       =  say.exe - speak text from command line
       
        
       
      say.exe is a tiny Windows application that speaks out it's own command line. It's influenced by Mac OS X say(1) command that does exactly same thing. You can use it in batch jobs, auto start (run key in registry) etc. Required is Windows XP/2003 or above. For older versions you'll need to install Speech SDK.


      say.exe

      say.cpp
       
       
       
       

       =  TTG - SNMP Text Traffic Grapher
       
        
       
      TTG is a small command line utility that displays current throughput (bandwidth usage) on an interface of a remote device such as router, switch, firewall, etc., over SNMP. You can think of TTG as command line version of STG or a high-interval/ad-hoc query/test tool for MRTG, etc. The output is very similar to ping(1) command. You can use it to quickly check/measure traffic before waiting 5 minute cycle when configuring MRTG, as a means of using the data in text form (eg. copy&paste in to an email or spreadsheet) or just a general purpose command line network administration aid.

      ttg on qnx

      TTG allows you to specify: SI prefix k/M/G (default is auto), units bits/bytes (b/B), size of "kilo" which can be either 1000 or 1024 depending on a personal opinion (default is 1000), interval in seconds and count limit. Finally the utility also allows you to list all interfaces of the device and can take interface name, such as "FastEthernet1/1" or it's abbreviation ("fa1/1") instead of OID name/number as the parameter. See the example above.

      Version 2.1 source code:
      UNIX Source Code
      ttg.c

      Statically linked binaries for your flavour:

      aix

      bsd

      hpux

      irix

      lin

      next

      os/2

      osx

      qnx

      sol

      tru

      uxw

      vms

      win

      Statically linked binaries for Itanium IA-64 systems:

      hpux

      lnx

      vms

      tns
       
      Q: Where does the OpenVMS Net-SNMP port come from?
      A: Tanks to Siemens AG from here.
      Q: I get zero values every second line of output or more often, or inaccurate readings, eg:

        [11:38:16] current throughput: in 40.8 Mb/s out 39.3 Mb/s
        [11:38:26] current throughput: in 0.0 Mb/s out 0.0 Mb/s
        [11:38:36] current throughput: in 40.9 Mb/s out 39.4 Mb/s
        [11:38:46] current throughput: in 0.0 Mb/s out 0.0 Mb/s
      A: Increase the polling interval (option -i) till high enough. Some agents may require even 60 seconds or higher. On Cisco IOS you can try this: snmp-server cache interval 1. If your agent is Net-SNMP try this: snmpset -c private -v 1 x.x.x.x 1.3.6.1.4.1.8072.1.5.3.1.2.1.3.6.1.2.1.2.2 i 1
       
       
       

       
       
       

       =  Cisco IPCC / UCCX Full Screen Wallboard
       
        
       
      There are several different wallboard applications for Cisco IPCC/UCCX, this one however has a number of unique features. Namely, instead of being an ASP web page, it's a stand alone Windows executable application that connects to a remote Contact Center server (or servers) via ODBC. It displays only one specific queue in a full screen mode. It's main purpose is to be run on an airport style display per each team. And it's free.

      uccx wallboard

      The wallboard comes in with a configuration file in where you can specify the queue name, odbc source, database credentials, colors, fonts, etc. Included are also installation instructions. Version 2.3 also includes over threshold blinking fields, beep sound alert and an option of arbitrary position on the screen to run several instances on the same LCD panel.

      Download (v2.3 for UCCX 7.x ONLY):
      Win32 Executable
      wallboard.exe
      configuration file
      wallboard.cfg
      setup guide
      readme.txt
      detailed install guide
      install.pdf

      NEW: Wallboard 3.7.2 BETA is available for testing. It supports UCCX 8.x through the IBM Informix ODBC driver. UCCX 9 is not yet supported. The latest version allows to configure 12h or 24h time format and customize panel captions so you can localize them to your needs (eg a non-English language). Available here: wallboard372BETA.zip Feedback: tenox@tenox.tc

      Support note: if you are having issues setting it up please download SqlDbx Personal and connect to the same ODBC source as you defined in the wallboard config file. Make sure to use the same login credentials. If you are able to connect and browse RtCSQsSummary table then the problem is with Wallboard. If you cannot connect with SqlDbx then you have not configured UCCX or ODBC Driver correctly.