Software Development Philosophy
Write software for yourself. Write it with your own goals and let your own desires determine its direction. However, keep other users in mind if only to remember that you might not be the only one that will use your software or develop for it. You will end up writing code with more love in it and if other user's have your goals too, they will feel loved and use your software. If they don't have your goals then at least your wrote software that you can use and enjoy.
Ones I'm working on right now
- Newman (Perl/PHP) - A protocol and system for accepting jobs to run safely on remote machines often as the root user.
- clide (Perl) - A general color enhancing filter for the command line so that you can add color to ascii output and files based on expressions.
- WC (PHP) - Secret project that's not ready yet.
My own projects
- shellshow - Perl - 2012-04-16
Cool little program that allows you to have a slideshow in your shell with interesting transition effects (wipes).
- clide - Perl - 2010
Program for adding color and ANSI graphics to STDOUT.
- num-utils - Perl - June 17th, 2002
- Version 0.4 - Sept. 23rd, 2003
- Version 0.5 - Nov. 19th, 2004
This is probably my best work yet. These numeric utilities are a set of programs for use from the unix command line. They allow the user to deal with numbers in several different ways, much like the GNU text-utils allow you to process text. This can be useful for summing up numbers in a log file, finding the average of numbers, creating numbers for a for loop and so on...
Among others, it has since been added to Ubuntu and Debian's software repositories as well as others and even appears in The Linux Documentation Project's Tools howto in the Math Tools chapter.
- randomsig - Perl - April 19th, 2000
Where I work, there was a fad that went around where everyone was writing their little random signature generating programs. There were ones that worked from a cron job, ones that were generated by emacs and most of them drew their quotes from quote files. My gimick was to write a randomsig program that would pull random sentences from my email spool. Things grew from there.
- Command History - Perl - Jan 24th, 2000
As the suso.org network started to grow, I realized that I was granting accounts to users who I couldn't always keep track of or who I didn't personally know. I found that a simple program that would show me the commands that where run on a daily basis on the server would let me know if someone was doing something they weren't supposed to be doing. Like creating root compromises. :-(
- encrypt - Perl - July 11th, 1999
A while ago, before I knew about htpasswd, I needed a way to encrypt a password and write it to a .htpasswd file automatically. Encrypt does that and more. Eventually I'm wanting to exapand this program to use different encryption schemes besides the normal Unix crypt library.
- news2html - Perl - July 9th, 1999
This was the first official program that I released to the public. news2html is a program that will convert a set of newsgroup articles into a formatted web site. I originally wrote it because I needed an automated way to update the news archive section of The Philip Glass Library. Ironically enough, even though the program works, I still haven't taken the time to set it up there.
Projects I've contributed too
- Aeromail/Bluefox Webmail 2000-2001 - I wrote some of the first database stored preferences code in a webmail system and released my changes as Oreamail. T Eventually Mark Cushman started working on Squirrelmail I think and perhaps some of the code made it into there. Not sure though. This was the dawn of open source webmail systems and I was there.
- Improved mod_frontpage - Adrian Hosey and I fixed the improved mod_frontpage module so that it could be integrated into the SSL version of Apache back before mod_ssl was separate. RedHat once said that it was impossible to do this. :-P
- RedHat's Apache RPM - My name (Mark Krenz) is in the rpm changelog for RedHat's httpd file in the 1.3 series. It was never part of any official RedHat release because the change was made after the last release containing a 1.3 series Apache. But it was in some RedHat derivative distributions. It was there because I found a bug with the way the init script works, it could be that future 2.0 versions of the init script also were influenced by that bug fix.
- A few others I can't think of right now.