My Answers to the Art & Logic Questionnaire

I was cleaning out my Google Drive and found this questionnaire that I filled out when applying for a position with Art & Logic(@artandlogic) back in 2012. As I read through this I was quite surprised with some of my answers. It’s often embarrassing to read through thing you wrote so long ago you almost don’t remember writing them. This is one instance where I thought, “I should share some of this.” Here are a few of the questions and my responses.

Do you prefer open-source or proprietary technologies, and why?

It depends. For most aspects of development projects I prefer open-source software. I think that the open-source community is full of ridiculously smart people who are more interested in solving problems than padding the bottom dollar. There’s nothing wrong with making money, but it’s nice to see communities of people working together to make software perform better or be more usable. There are less constraints on open-source software which tends to make it feel more edgy. That point is why for some things I prefer proprietary technology. For example, I have an iPhone not an Android, I prefer MS Office over Open Office. Sometimes that control that someone/a company has over the product makes it more usable or more reliable. Database software is one of those areas that I might consider using a proprietary DB as opposed to an open-source one, it depends on the project.

What do you think of formal design methodologies?

I think that formal design methodologies have their place and time but strict adherence to those methodologies can stifle both creativity and productivity. I understand that their purpose is to control reliability and maintenance as well as provide a structure for the design process which is important especially in a team environment. I just think that common sense should be used when deciding to adhere strictly to those process and if the project could be completed faster by using a more iterative or streamlines design process it should be used. I’m a big fan of “Getting Real”, by 37Signals. I think that their approach to software and business is smart, efficient and to the point. Formal design processes seem to be filled with fluff, some of it is necessary, some of it isn’t.

What technologies would you choose to develop a high performance, highly scalable web application and why?

The thing I like about this question today is that hardware is so much faster today than it was when I was first getting into the IT field. It’s cheap and easy to replace slower hardware with faster hardware and mask performance or design issues. Having said that, it’s no excuse to be sloppy in your design/code or not diligent in choosing the proper technologies, but to my point earlier, you could spend a TON of time coming up with just the right design to fix a performance issue that $5k in hardware could have resolved just as easily. It comes down to what’s important to the client/project.

To answer the question, I’d go with x64 hardware running a flavor of Linux. I like Ubuntu, but depending on database choice Redhat or SUSE might be required for support. I really like Ruby on Rails for the language/framework which would infer that MySQL is the database to be used, but MySQL has scaling difficulties. I think I’d prefer Informix for the database of choice because it’s fast, reliable, easy to maintain and scales well, but it’s somewhat unknown. I’d use Memcache for sure, especially if I were using MySQL to boost performance. I know for a fact that this technology stack can build a very large, and reliable website. Using MySQL as the database limits scaling without using multiple databases from the very beginning which in turn creates more up-front coding or more re-coding once the database outgrows hardware limitations.

Where do you think most software projects go wrong?

Scope creep is the killer of all projects, but it’s also the one that everyone is paying attention to. Poor communication between everyone involved in the project is probably next, especially between the business owners and project managers. Keeping everyone in the loop is critical. The other thing that I think has a negative effectaffect on a projects success is including too many features that are just not important. This can have the effectaffect of putting focus on the wrong areas for too long. Keeping the design and feature requests clean and simple will go a long way towards a successful project.

Describe something in your life that you haven’t yet accomplished but would like to.

I mix live music for my church and occasionally a friend as a hobby of sorts. I REALLY enjoy it both from the technical and artistic perspectives. I hope to one day have the opportunity to mix for a large band in a real venue. That would be pretty darn amazing.

There’s nothing too terribly profound here, but I hope it stirs some inner conversation within you if nothing else.


I find it interesting how stressful it is to change jobs. I see so many people stay in one job for way longer than they should because they fear change For them it’s easier to just stay in an unsatisfying job than to deal with the stress and uncertainty of change. Others seem to embrace change and hop from job to job to job looking for the one that will satisfy them and make them happy.

I’m somewhere in between. Constantly looking, rarely accepting. I’ve attempted to start a business on the side several times over the last 8 or 10 years, but none of them have ever panned out into something that made money. I’d have to classify them as hobbies at this point, fun to work on, took a lot of my time, but ultimately they went nowhere. I still love the idea of working for myself, building web apps that attract thousands of users who need the solution that I’ve created. There’s just something about that idea that sounds massively gratifying.

I’m changing jobs for the third time in 12 years (2nd this year) and it feels very strange. I know I’m doing the right thing by leaving my current job (lots of resistance from the CEO for me even being’s a complicated story), but there’s a looming fear that I’ll be unhappy with the new job 6 months from now even though it looks promising on the surface and they really want me there. I should be able to immerse myself in my work, show my value and probably find avenues for promotion since the company is growing fast. But I can’t shake the feeling that it’s still not the thing I’m supposed to be doing.

So it looks like I’m one of those people who fear changing jobs but not the way most people fear it. I fear changing from having a job to not having one and working for myself. In all honesty it’s the fear of losing my house and comfortable way of life that my family has come to enjoy. If I were single and didn’t have so much financial obligation it would be an easy choice to make. I fear change just like the guy who’s afraid to change jobs, our fear just looks a little different.

Children Are People Too?!

Over the course of my weekend I had several opportunities to “interact” with my kids. And by interact, I mean yell at them for doing things that I found to be annoying. And by annoying, I mean normal things that all kids do like dump ALL of the school supplies that my wife had worked so hard to separate out into one big pile on the floor. I’ve also begun to really notice just how much kids talk. OMG, they ask questions all the friggin’ time, it’s freaking ridiculous how much attention they demand just by exhaling and engaging their voice box.

Anyway, as I was driving in to work today I was reflecting on my weekend and what it was like in regards to my kids and I started to feel bad once I realized how I had actually “talked” to my kids. I asked myself if I’d still use that same tone of voice if the person, who had done whatever it was that the child in question had done, wasn’t my child. What if it was a coworker or my spouse (well that’s not fare, I yell at her all the time too ;)) that I was talking to? Would I approach them the same way or use more tact? Obviously (I say to myself) I’m not socially uncouth so I know that I would have used a more….amiable tactic to try and achieve the same results.

Which quite succinctly brings me to my simple point. Just because my kids are my kids and just because they do stupid kid-like things and just because they talk all the friggin’ time and get on my every last nerve does not give me any more right to talk down to them or “yell” at them than I might normally have. So I put myself in their shoes for a minute and here’s what I came up with.

What happens when people yell at us or talk down to us?? We get angry. I’d have to imagine that my kids get angry with me too when I don’t control my tongue with them. The Bible tells us to not provoke our children to anger.

Fathers, do not provoke your children to anger, but bring them up in the discipline and instruction of the Lord.- Ephesians 6:4

A simple way to obey this is to talk to our kids with respect, always. Even if that means that for a while you have to pretend that they’re a coworker or our spouse, or to put it another way, someone with whom we wish to earn respect. Just treat them like they are people, because ultimately they are their own person, otherwise they wouldn’t use that little mind of theirs to do things that annoy us. :)

Hello Fat! Goodbye Fatty!

So I’ve been studying the Primal Blueprint(PB) a lot lately and I must say that I’ve been convinced. I should also point out that it’s not fare to say that I’ve just now been convinced since I’ve long thought that the key to sustainable weight loss lies in limiting carbohydrate intake. However, it’s never been put to me in such a way that I was convicted to make drastic lifestyle changes.

In practice following the PB is pretty difficult despite it’s lovely simplicity, especially with two small kids in the house. Don’t get me wrong, I’m not blaming them. I’m completely at fault all on my own, I love Dr Pepper and candy like I love air. I simply mean that it’s difficult to come up with kid friendly snacks and meals that follow the PB when for last 31 years of my life I’ve had bread and other evil goodies to fill the nutrient void that now exists if I don’t get enough fruits, veggies and protein.

I’ve found that using vegetables as the primary focus of a meal is something that is quite difficult to do when your used to veggies being a side dish. Good new though, you get used to it. It’s been a good exercise in cooking since in order to keep things new and fresh your constantly looking for new ways to prepare veggies.

Probably the biggest mental hurdle that I’ve had to overcome while adopting the PB is that eating fat, lots of it by today’s conventional wisdom standard, is not only okay but encouraged as a vital source of nutrients. You see without loads of carbohydrates coursing through your system your body runs out of “quick” fuel real fast. That’s where the fat comes in. Once your body uses up the carbs that you engest it will switch over to fat for fuel.

I guess to give you something to take away from this post here are the three things that I’d say aremost crucial to shedding your fat stores.

  1. Eat lots of vegetables
  2. Eat good quality protein (look for range fed, hormone and nitrate free everything)
  3. Worry more about the carb content than the fat content
    1. Remember if you strip out the carbs and replace them with fats your body will use the fat for energy and then deplete o your fat stores instead of using the leftover carb energy to increase them.

Remember that 90% of weight loss is diet.

Random Alphanumeric String Generator

I recently needed to be able to generate a random alphanumeric string in ActionScript 3. After a little Googling I found an example that was written in C# on this post. I could have just used the code via a remoting call but I didn’t really want to do that unless I had to.

As I read the code I realized it would be super easy to implement the same thing in AS3 and save myself the remoting call.

Here’s the C# code:

and now the AS3 code: