Showing posts with label tools. Show all posts
Showing posts with label tools. Show all posts

Wednesday, June 13, 2012

The Wolf

Recently, I hit a personal milestone: a piece of software I wrote went out on my office's mailing list. It has been downloaded 17 times.

I've been writing little utilities here and there for years now, but I've never actually gone to the length of releasing something. When you do, a couple questions go through your mind:

  • Is this thing any good?
  • Is it actually useful?

Luckily, the first person I showed it to pushed it out to more people for feedback.

Problem

Expense reports are an everyday part of life for traveling consultants. The confirmation that they've been paid is emailed to us every two weeks in a giant Excel file with 3 columns:

  • Employee ID
  • Date Paid
  • Report ID

Most of us can't remember our Employee ID, and having to look that up requires a 2-step login. The noise of everyone else's Report ID can also be difficult to look past.

Solution

I really wanted to do two things with this utility:

  1. Not have to look up my Employee ID
  2. Not have to open Excel
I think I succeeded on both accounts. If you tell The Wolf to save your employee id, it writes a simple file to your home directory, and you never have to mention it again. By default, it will output the most recent reports paid with their date. Optionally, you can tell it to show everything of yours in the spreadsheet.

Ultimately time will tell how useful The Wolf is. The early results are good though -- the first person I sent it to loved that it churned through 3 years of expense reports in a manner of seconds, and omitted all the noise. Others have mentioned setting it up and its ease of use. I'm finding myself more and more motivated to release small tools that may help someone out.


Interested in more?

Sunday, April 3, 2011

11 Months of Languages, Frameworks, and Tools

About this time last year, I was still in school and interviewing with a few very different companies. Talking to other students yielded a number of opinions about languages and the career paths they implied. I haven't found my experiences thus far to be anything like the oft-heard

"taking a Java job means you'll be doing nothing but Java for 30 years"
Being employed by a consultancy is a little different than landing in a business committed to one language, but I've found that even within these companies the changing directions of business require and embrace many different languages, frameworks, and tools.

The Java Shop

My first programming job was very database-centric. Referential integrity was the goal, and database triggers were the chosen path. Triggers were the choice because data was dealt with directly through SQL from an unknown number of sources, in addition to applications. Our constraints were also slightly more difficult than column-level constraints could handle.

The applications were written exclusively in Java, and yet during my time there I barely touched Java at all. Instead I was directly in the database. Most of the work was in Oracle's PL/SQL, but like so many businesses, there was a transition from another database vendor in the works, so my day-to-day work still wasn't limited to just one database vendor's language.

The Internal Java Project

My first project for ThoughtWorks was at TWU, where the students continued development on TWU XVII's Chronicles. The technology stack was traditional for a Java webapp here, but still required us to develop our knowledge of several different markup languages, programming languages, frameworks, and tools.

The .NET Shop

In early October I headed to Los Angeles for a project in Microsoft's .NET. We were adding features to a webapp here as well, but it initially didn't have any MVC components. Instead, it was code-behind. This meant that while a lot of the Java project was similar, there have still been many additional programming languages, frameworks, and tools to learn.

Project Technologies, 11 Months into Programming

Markup Languages
Programming/Database Languages
Frameworks
Tools