I have been programming since the mid-1980s, first being introducted to it on an Olivetti L1 M20 (Z80 processor) that used to belong to my father's business. At first I learned BASIC, but within a few months I had progressed to assembly language and had begun writing simple applications that included a PILOT interpreter, a library book management application, and a number of text-based games.
A few years later, in 1990, my parents bought the family a new IBM PS/1 2011 computer. Although it was mainly used for games, I used more than my share of computer time extending my newfound programming abilities to a mainstream architecture, initially adopting QBasic as my new language of choice.
Around a year later, a friend - Kevin Brandon - introduced me to Turbo Pascal 6.0 and convinced my parents to purchase it for me. Although they initially balked at the price tag, they eventually agreed and bought it for me. This proved to be a major turning point for me, and opened my eyes to what was possible with an advanced programming language. Although it took me a few months to learn it, I stuck with it and eventually became incredibly fluent in Pascal, writing over a thousand programs using a mix of Pascal and inline Assembler between roughly 1991 and 2001.
A short while later, my brother and I saved up and bought a copy of Borland Turbo C which allowed me to explore C programming for the first time. It took awhile but I learned it as well, however since by this point I was already much more advanced with Pascal so typically preferred it over writing programs in C at that point.
By the late 1990's, I was becoming vastly more interested in the Internet and developing websites and related CGI applications. The first few CGI applications I developed in Pascal, using a custom CGI library that I developed in 1997 that even used inline Assembly Language for performance (and the coolness factor).
In 1998, I was introduced to Perl which I learned fairly quickly and rapidly became my favourite language for developing web applications. However, it didn't take long until I discovered PHP (then version 3) and it quickly became my web development language of choice, and still remains my preferred language of choice for not just web applications but also CLI applications and (in conjunction with BASH), scripting as well.
In 2012, I discovered a new programming language, called Go which I immediately liked. It is a powerful, feature-rich, cross platform, compiled and - above all else - very fast language.
For a long time, I had been writing CLI applications using PHP simply because I often need to write something quickly and I often would write something quickly using PHP. However, I missed the days of writing software using a more general purpose programming language that also offered greater structure and performance, and so when I discovered Go, I was intrigued and I have now begun to write more and more applications in Go instead of PHP.
However, after more than fifteen years, I have found that PHP is still the most versatile and efficient language I have tried for developing web applications, and that probably won't change for awhile yet, so I am still continuing to hone my PHP development skills every day.
Once in awhile, I write a bit of code which I think others can benefit from, so I have selected some of these more useful code snippets and released them to the public in the hope that they will be of use. You can find those code snippets here.