Code

Somewhere way back in history I used to be a software engineer...old habits are hard to kick...

This software strongly adheres to the UNIX philosophy of "simple programs that do one thing, do it well, and work well together"

Much of this work was inspired by the great work of others in the open source community, the release of this code is my effort at giving back to that same community

All this code is intended for Linux rather than Windows environments

Applications (coming very soon)

What do you do when you require some fairly straightforward web applications (bookmark management, accounting, etc) but most of what you can find is either over compilcated or over priced...you write your own web apps and refine them by using them everyday...

All are written in PHP 5.x with file system or MYSQL backends

  • Content Management System
    • Flat file CMS with Markdown format pages (it powers this website !!)
  • Accounts
    • Full featured double entry accounting system with document storage and basic reports
  • Stocks
    • ASX stock data screen scraping, charting and analysis
  • Bookmarks
    • Web bookmark management with tag cloud navigation
  • Gallery
    • A file system based photo (indeed any media type) gallery with preview and downloads, no metadata

Modules

What happens when you find yourself needing similar functionality (database abstraction, a registry, etc) across multiple web applications but you dont want to learn some specific web framework...you write your own components as web modules...

Documentation is very limited but the modules are also fairly simple and thus their functionality fairly intuitive

Most are PHP classes
  • Markdown module
    • Regex parser for most of markdown in less than 150 lines of PHP
  • Templating module
    • Render HTML pages from templates, uses PHP as the template language
  • Registry module
    • Uses PHP sessions to store and retrieve all types of data
  • Debug module
    • print_r() like output via network sockets to a listener for debug purposes, plus helpers
  • Database abstraction module
    • Execute SQL on MYSQL databases using PHP PDOs
  • Forms module
    • Build, display, process, and validate object oriented HTML forms

Tools

What would we do without a good set of tools to take on our challenges...here are some of my favorites from my toolbox...
  • Generic CPP like preprocessor written in PERL
    • Directives, conditionals and macros including #define, #ifdef, #ifndef, #endif, #include, #eval and more, language agnostic
    • Makes a great CSS preprocessor
  • CSV data tools in PERL
    • A suite of command line tools for the joining and filtering of CSV data sets from the command line
    • Faster and more powerful than doing it in Excel
  • Autodoc is a pair of scripts to extract comments from PHP and PERL code respectively to auto document the functions, subroutines, and classes callable from the code module and thus create cheat sheets
  • Fail2banlite is a simpler yet more agressive verion of excellent fail2ban package targetting SSH, FTP, and WWW services
    • Simpler in that its a single self contained PERL script for each target service that works in association with the UFW (Uncomplicated Firewall) to action the ban
    • More agressive in that ip adress bans are permanent unless manually deleted from the UFW
Home