Archive for August, 2007

Edoc Wizard – beautiful in (almost) every way has a neat program to let publishers sell ebooks online, which they call “eDocs”. Back when the eDoc program first came out my current boss Randy Gilbert registered for the program, got a vendor code and a pdf with instructions on how to use it. It was not user-friendly. It was so difficult, in fact, that until he hired me, he never placed a single eDoc on Amazon, even though he really wanted to. In its own instructions Amazon said that there was an easy way and a hard way to get eDocs posted.

The easy way was to pay some third-party company a hundred bucks per eDoc to place them online for you. However, Randy had already spent about $50 apiece getting his radio interviews transcribed, and he really didn’t think it made sense to spend another $100 apiece just to get them into the Amazon eDoc program. And certainly, with no clear idea how to get them sold once they were there, combined with the fact that Amazon gets 50% of every sale, he was probably justified in that opinion.

The hard way, on the other hand, required putting together a metadata file by hand for each eDoc to be uploaded. Randy’s no fool, but he had neither the time nor the patience to figure this out himself. And besides, he wasn’t interested in paying someone to create a new metadata file each time a new eDoc was supposed to go online. He wanted an automated system to quickly get lots of these products online.

When I first came to work for Randy, the only language I was competent with was Java. So, I built a Java applet that could guide someone through the process of entering the information about each eDoc, save that information to a database, and then convert that information into the metadata file according to Amazon’s instructions. It worked, and the applet can still be used for that purpose today.

After we got a good number of his transcripts online, Randy started getting noticed by other internet marketers who wanted to get their ebooks onto Amazon as well. My solution was good for a single user to create a metadata file and then manually ftp that metadata file to Amazon, along with the eDocs and their covers. It was not so good for having a large number of people using it, keeping their edocs separate, and managing overrides from sales.

When I became more proficient in php, I proposed to Randy that we create a new system for putting up the eDocs, one that would allow us to manage users, track sales reports from Amazon, automate the procedure of publishing documents, and store the eDocs and their cover images. He agreed, and asked me to put something together.

I designed the software requirements, set up a phased development schedule, and created a detailed process diagram and database diagram before I ever set down a single line of code. Randy signed off on the idea, agreed to fund the project at the amount I specified, and then I set to work. Initially, I expected to just create the first phase of the project myself, and then find another person or company to complete it. But when I couldn’t find anyone willing to work within the budget I had, and when my other projects started requiring less of my personal attention, I decided to just do it myself.

(Download the finalized requirements document, or the finalized process diagram)

I love Because I never allowed major changes to the scope from start to finish, and because it was so thoroughly envisioned at the outset, the final project has a wonderful consistency throughout it, and performs well with everything it is intended to do. Phase I of the development was supposed to require 2 weeks. I needed 3, mainly because I was forced to split my time with another project. In Phase II, which I began about a month later after finishing up some other unrelated work, I determined that once I started I would be more jealous with my time. I didn’t agree to take on any other new projects, and except for the occasional IT “emergency” all of my work was devoted to the project’s completion. I had originally said I would need 3 weeks for the final phase, and I finished it in 3 weeks exactly.

Currently, we’re in beta testing mode. We have our own transcripts going up still, and now we also have another internet marketer placing eDocs online. Occasionally bugs are uncovered, though with surprising rarity for a project of this scale. And at this point, we’re confident that we’re ready for deployment. It’s just a matter of deciding how to advertise and what business plan we want to use. We’re not sure if we should charge for access, or simply take a percentage of sales, or some combination of both. Once the marketing is in place, is going to be a very sweet source of income for Bargain Publishers.

To test it out yourself, though without admin controls or the ability to actually publish to Amazon, go to

Username and password are both “public”

For those features that you won’t be able to see because of limited access, check out the screenshots below. Click on the thumbnails for a larger view.

edoc wizard catalog view edocwizard user account management an edocwizard sales report Managing an account in edocwizard
managing user profiles through admin controls managing system-wide settings as an admin editing an existing product in the database an Amazon page created by a person using edocwizard

No other work that I’ve done so far demonstrates my understanding of web development at every level as clearly as this one. I’m a very strong web coder, and honestly not the best designer. While I understand css and html, I’ve never had the sort of gift with design that I’ve always enjoyed with programming, ever since I was a kid playing around with BASIC on my parents’ Commodore 64. I’d like to learn a few more tricks, but I fear I lack the sort of artistry that is innate in a great web designer. However, while my designs aren’t pretty, I try to make them intuitive and user-friendly. And while not gorgeous, I like to think they’re not especially ugly either.

Edocwizard is cross-platform compatible with Firefox and Internet Explorer.

August 31 2007 | php projects | 4 Comments »

WordPress Album Viewer Plugin

My baby daughter is beautiful. And I needed a way to show her off that was simple to use, easy for friends and family to navigate, and I wanted to keep the pictures on her blog. I didn’t want to host them on a file-sharing site because I wanted to keep the pictures out of the general web (with my daughter’s own blog, I’ve used the meta tags to tell the search engines not to spider it), and at the same time, I didn’t want to have to password-protect them from friends and family. And besides, I don’t want my visitors having to click away to an external site.

Anyway, there were already a few wordpress plugins that can help to host a gallery of images, but I had a pretty clear vision of what I wanted, and rather than trying to get someone else’s plugin to do what I wanted, I decided to write my own.

It’s worth pointing out that I didn’t originally expect this to be anything more than a useful tool for myself, but as I learned more about wordpress, I realized that I could easily turn my code into a full-fledged plugin that anyone could use.

Anyway, the plugin can now be downloaded by any and all through The link is

To see it in action, and check out pictures of me, my wife, my daughter, family, friends, and random people standing in the backgrounds, go to Click on any of the thumbnail links on the left-hand side of the screen.

This is probably the project I had the most fun working on. Even though nobody was paying me to write it, I had a great sense of satisfaction from taking my own vision and making something uniquely mine. And I’m always happy with the result every time I look at it. I create new albums from right inside the wordpress administration area, edit them there if necessary, and with hardly any effort at all I’ve managed to get my parents to stop complaining that they never see any pictures of their only granddaughter.

Creating a new album – step 1

creating a new album - step 1

Creating a new album – step 2

creating a new album - step 2

Selecting an album to edit

selecting an album to edit

[UPDATE 9-27-07: I’ve made Album Viewer version 1.1 available on This marks a significant improvement over the previous version. The plugin has now been “widgetized”, allowing people to share their albums in the sidebar more easily. In addition, it now automatically detects whether users have ImageMagick available on their web hosts, and will default to that for thumbnail creation if they do. Thus, for many users, they are no longer limited to only sharing photos under 1 million pixels.]

August 30 2007 | open-source | 2 Comments »

Debt-Elimination Calculator

calculator screenshotThis project was based on a concept developed by Loral Langemeier. The idea is to help people pay off their debts by using a fixed amount of money every month as part of her “5-step debt-elimination plan”. Basically, you take all of your debts and order them in order of how many months they will require in order to be paid off. You pay off the shortest-life loan first, and then apply the payment from that loan to the next, so that both payments go toward it. As each loan gets paid off, you keep adding each payment together until the longest-life loan has the full amount from all the other loans going toward it. Basically, the more your monthly payments are on your loans, the faster you end up getting your loans paid off. (Loral herself explains the concept much better than me in her book “The Millionaire Maker“.)

So what I did was create a calculator that lets people type in each of their loans and what their payments are, and then it figures out how many months it will take to be debt free under the 5-step debt-elimination plan, showing the order the loans should be paid off, and after how many months each loan will be paid. Since Loral also recommends adding a “jump-start” amount to the first loan to be paid off, users can see the effect of applying that amount each month. To check it, go here:

The calculator was written in php, and was my first project to involve sorting multi-dimensional arrays.

August 25 2007 | php projects | 1 Comment »

Raison D'etre

Mason With LaptopWhy am I starting a blog called “Hire Mason Wolf”? Well, I guess the simple answer is that I would like someone to hire me, and my name is Mason Wolf. Simple enough.

Currently I’m a web developer, and I really like doing it. In past careers I’ve been a teacher, a salesperson, a dishwasher, and a lab tech, plus numerous others. Each job had its pros and cons, but I’ve found that I enjoy the current one more than I liked any of the others. So, I’ve made it my goal to get really good at doing it. Hopefully future entries will show that I’m well on my way.

Having a blog will enable me to easily showcase my work and give prospective employers some sense of who I am before they ever contact me about an interview. Plus, by having a blog I can invite passersby to leave a comment if they happen to know something that might be useful to me. And just maybe I’ll be able to contribute something worthwhile for others to read.

I don’t expect this to be a particularly active blog. I’m going to spend the first few days putting together my portfolio and then after that making only infrequent updates as I happen to finish something new to showcase or when I get a new certification worth mentioning.

My fondest wish is to see this blog be short-lived. I want a new job, and once I’ve got one, I won’t have much use for this blog anymore.

August 20 2007 | Schmategories | No Comments »