Tibco’s Art Director, Ben, got a hold of me a couple weeks ago to see if I wanted to do some web development for them. They wanted a responsive design*, which is something I very much enjoy doing, even if I curse at it when it doesn’t do what I want. I signed up pretty quick. It wasn’t that big of a site (8 pages), but I forgot what it was like to work with an Art Director and a QA team. I got complacent in my current role where “close” is normally “good enough”. Ben, and his co-worker Leandro, really made sure we were going to be putting out a top quality project. The end result is something I’m quite proud of. It moves and shakes and looks killer with Ben’s design. I’m keep my version online here for archival purposes (view press release here).
After wanting to build this app for so many years, I finally got the time to make it happen. It’s a simple idea, a time sheet; punch in, punch out, take vacation, total hours worked. There are plenty of apps out there already that I could have used, but none that I liked or saw myself using on a daily basis. It only took me a couple days to get the basic structure hammered out and another day or so to integrate it with my calendaring system for the time-off functions. I’ve been using it all month and it is sweet! Click a button and I’m working on something. Click another and I switched jobs. Reporting is awesome. I love seeing the breakdown per day and per month of where I’m spending my time. I’m hoping that I can tune my days to be more efficient, because I’m that kind of guy. Probably the app I’m most happy with lately. Something that just “works”.
Emails that were generated by World Council’s web server were always hand coded and handled in application code, making them hard to maintain. Any time someone wanted to make a change to them, they had to ask me to send them the email for a base line, then they would copy it into a word processor and make the edits and send it back and I’d make the changes. That process was filled with chances for error. To fix all of this, I created an app that condensed all the emails into a single admin where it could be edited and tested. The system has security to grant employees access to groups of emails, but also has version control so if someone messed an email up, it can always be recovered.
In addition, the class I created to load the emails in code does all the complicated css replacing and content swapping that is required to make things look good in outlook. This is a function that I hadn’t had access to in my application code previously and really makes everything much smoother.
After a few years of manually managing all the cron jobs on World Council’s primary web server, I built a web interface for crontab. Now when a user wants to schedule a new cron job, they can go to a web interface and type it in. In addition to just simple access to the crontab, it has a database component, so users can turn on/off any cron job on the fly and not lose it’s scheduling data. The database also allowed for grouping and descriptions on jobs so they could be understood at a glance. Since all the cron tasks live (for the most part) in the same directory, the system scans that directory to see if there are any files there that aren’t scheduled, alerting the users to them. The whole system has become much more straight forward to use and has decreased headaches while giving non-programmers the ability interact with the system.