Main > Work > Commentary

Christopher Mahan's Work Commentary

On work environment

Need a quiet place, with no interruptions. See this talk.

I also don't need much, just paper and pen, and a computer. I do all the programming on servers, so my computer doesn't even need to be fancy.

On Methodologies

See Zed Shaw's take on it. He's a bit rough, but I generally agree.

On management

First, the rule: Everything is always management's fault.

Now, the reasoning.

The purpose of a for-profit company is to take the investor's big pile of money and turn it into an even bigger pile of money.

Let's get that out of the way first. That's the purpose.

The way it's done goes like this: the investors elect a board of directors, who select and manage an executive team, who then hire managers, who themselves hire managers, on and on until at last they hire individual contributors.

Since management basically has autonomy of action, within the law, to select what activities they will engage in, and the manner in which they will engage in those activities, it is their responsibility to ensure that they hire the right people, train them, understand their abilities, provide the tools, work environment, and set the cultural tone that will allow the individual contributors to perform quality work in which they can take pride.

If the worker is unable to meet management's expectation at a given task, it's always management's fault, no matter what. Blaming the worker for management's failure is unethical.

These are some of the questions that come my way during interviews.

Your background seems Microsoft-centric.

Indeed it is. I started on the Microsoft platform in the days of DOS. I learned to program GWBASIC in 1983. Later I wrote VBA Macros for Excel, then wrote Access database modules, using DAO, and later ADO. I then moved to programming in ASP 3.0. This is commonly referred to as ASP Classic these days. I also started looking at Python in 2001-2002 because I was facing limitations of VBScript, especially relating to server-based background jobs. When I realized that a lot of my jobs were related to handling restarts, crashes, and other inconsistencies of the windows platform, I went looking around and found, after much meandering, Debian Stable. Since that time, I develop for both platforms, and absolutely prefer Debian for my personal stuff.

Working at Health Net, I developed the Medical Management Application Platform in ASP Classic. I also wrote python scripts on Solaris 8 and 9 to do background tasks.

I detect an accent.

Yes you do. It's French. I was born and raised there. My father is American and I have US citizenship, so when I was old enough I came here.

Describe your experience with the Internet.

I'm a big proponent of the Internet. I strongly believe that most applications can be server-based. I understand that web browsers are specialized internet resource consumers that render HTML among others into graphical environments. I exclude the likes of Lynx and Links in my description. There are many other types of software that consume web resources, such as web services, search engines, validators and the like. For working with images and videos, as well as for many other specialized tasks, local software is often preferrable. One should note, however, that using video render farms hosted on Internet-based services will often be faster and more effective that running these tasks on workstations, so there is a caveat for locally installed software.

Regarding HTML specifically, I believe in writing XML compliant HTML, such as XHTML 1.1 and HTML 5 with the xhtml variant, for the simple reason that the consumers of the HTML will have an easier time processing the file. I use CSS, and absolutely try to avoid using browser specific hacks.

What do you use specifically to work with HTML?

I use a variety of browsers. I hand-code with a text editor.

What have you used for source control?

I've used CVS, subversion, mercurial, TFS. I've used BitBucket but as they were bought by Atlassian that ended. I've not used GIT much.

On pulling from repositories to install software, I've used a bunch, including git.

Lately, though, I am less inclined to use source control because it encourages writing too much code.

Remember: the best code is no code.

List of template frameworks used?

I used to have a decorated answer here, but the truth is html is a string, so I don't anymore.

Slicing PSDs and optimizing images for web-application

I am not a graphics person. I can recommend accomplished artists for this sort of task. The couple of times I have attempted this sort of things ended in disaster.

CSS and Javascript?

I can use them, and I do in most projects, but they are eye-candy. They are like nice paintings hanging on the wall in a restaurant. If the food is top notch, healthy, and tasty, and the service is impeccable, then the wall painting will add to the experience.

Websites you've worked on and your role within (what you did, what tools you used etc)

I made the Studio Beauty Kit page recently. This included custom smarty templates. All the code visible under the banner was coded by me, including css, javascript. I used jEdit, and the other tools mentioned above. All graphics were made by a photoshop guru. I've made a lot of background improvements to the site, including smarty functions.

What is you rate $/[hr|yr]?

In a full-time proposition, as an employee, that would be $120,000 per year plus benefits.

As a contractor or consultant, it's $120 per hour. I hope I don't have to explain that I have to pay for a bunch more things as well as charging for the flexibility of on-demand work.

How many hrs/week are you available now?

3

What is your experience with cloud computing?

I use rackspacecloud.com, and have a python 2.6.5 on Debian Lenny deployer for that.

I have an interesting commentary on cloud computing, but I deliver that in person, because it tends to offend easily.

More questions?

If you have more questions you want me to answer: chris.mahan@gmail.com.