Barkley on 20/20

Posted by Sam

Background

Everybody that knows me knows that I work at a pretty cool company. A company that really values it's employees. A company that goes above and beyond. A company that thinks outside the box. Barkley isn't particularly well known, especially outside the ad world, but many of our clients are. But our little secret is about to change in a big way. ABC's 20/20 is going to be documenting Barkley's culture and environment. I thought I'd just run through a few of the interesting things that make Barkley stand out in my mind.

Fun

Every year Barkley has a kidnap. They shutdown the office, load all the employees up on a bunch of busses and take us somewhere fun for the afternoon. Last year was Dave & Buster's and this year was PowerPlay. What PowerPlay's website lacks in design in more than makes up for by having Kansas City's only WhirlyBall court. The great thing about kidnaps, besides the obvious benefit of not being at work, is that you get a chance to connect with people you don't see everyday and of course mingle with people you might not even know.

Barkley also has some fun built into the building. For starters we have a ping pong table, pool table and shuffle board. If it's a nice day you can head out to the deck that the fourth floor walks out onto. And if you get thirsty we have beer and Coke products on tap. And if you get hungry we have a cooler full of Blue Bunny ice cream as well as a popcorn popper. Oh and did I mention this is all free?!

Time Off

Like most companies Barkley has a decent vacation policy, but of course they aren't content with just decent. So on top of the normal vacation the office is closed between Christmas and New Years. That's right. Closed. You don't have to take any vacation. It's above and beyond whatever vacation you have accrued. It doesn't matter if you've been here one week or 100 years. And if that's enough we also get two volunteers days a year. Go volunteer for Habitat for Humanity, Boy Scouts of America or your local church. It doesn't matter. As long as it's a non-profit you can use your two days to do whatever.

Personal and Professional Growth

On top of everything Barkley does to keep work fresh and fun they also care about each employee's growth. Every year that I've been here we've had a Creative Symposium where they bring in guest speakers for a wide variety of talks. In years past we've had Ze Frank, Richard Tait (the co-inventor of Cranium) and numerous other well known and respected individuals whose names I can't remember at the moment.

One Hundred Dollar Bill

I nearly forgot the one hundred dollar bill story! At our last company meeting we had the usual question and answer round at the end of the meeting. Now, the way this normally goes is the big wigs of the company ask if anybody has any questions. We all sit there with dumb looks on our face. They say meeting dismissed. This time, when the question went forth one of the employees spoke up and asked if we could all have $100. I checked with said employee and I was assured that this was completely unrehearsed. She just wanted to know if we could all have an extra $100 for no apparent reason. How one gets the nerve to ask such a question in front of the whole company I'll never know, but hey that's Patty for you. Anyway, the thing is, the heads of the company kind of look at each other for a few seconds and agree to give the whole company a $100 bonus. Given the size of the company that's about thirty thousand dollars! They went to the bank that afternoon and handed everybody a crisp hundred dollar bill that afternoon. I wonder what the bank thought of that? And it was completely on a whim.

So that's the kind of company Barkley is. One that really cares about it's employees. Sure, it's got it's problems like every other company, but if you are having a bad day you can take it out on the ping pong table instead of going postal.

It Airs...

20/20 camera crews are here tomorrow and the show is supposed to air in early November. I'll post more when I know the exact date. Man, this might be the one time in my life when I wish I had a DVR!

Tags: barkley

Join the Barkley Denim Day Team

Posted by Sam

Lee National Denim Day is Friday, October 5th. One week from today. Barkley has set up a team to bring in donations and if you'd like to donate I encourage you to donate to our team. You can find more posts about Denim Day under the Life category.

Tags: life

More Denim Day

Posted by Sam

A few posts ago I put up a Denim Day video from YouTube. I just ran across an older blog from Jeff Risley, one of my partners at Barkley, who talks a little more in depth about what we are doing for this important cause. Denim Day is an important cause and it's coming up soon. I encourage you to join a team and wear your jeans on October 5th to support this great effort.

Tags: life

LiteSpeed Ruby on Rails Optimizations

Posted by Sam

LiteSpeed and Ruby on Rails are a dream come true. If you are deploying Rails apps on anything else in a production environment you are nuts. Not only is LiteSpeed/Rails one of the fastest (if not THE fastest) combinations for serving up Rails, it's also by far the simplest. LiteSpeed is also many times faster than Apache at serving regular files. Benchmark it for yourself and you'll see that it is indeed many times faster. So like I said, you are nuts if you are using anything else for your Rails applications.

One of the things that I do find annoying though is that by default LiteSpeed shuts down Rails applications after one minute of inactivity. Which means that if somebody hits your site every two minutes they have to wait for LiteSpeed to reload your application every time they hit a dynamic page. Which, even on a fast machine, might take a second or more. To change this in LiteSpeed 3.2.2 go to the Ruby Rails tab and change LSAPI_MAX_IDLE to the same value as "Max Idle Time". I set mine to 3600 seconds (one hour). LSAPI_MAX_IDLE=3600 After one hour if nobody hits your Rails site then it will unload and free up memory. Of course all of my sites are monitored with Nagios every five minutes so there is always at least one Rails instance running. Check out LiteSpeed's Ruby LSAPI page for more information on tuning Rails on LiteSpeed.

Tags: litespeed rubyonrails

Goodbye Apache, BIND and Tomcat

Posted by Sam

Tired of the same old, same old

I've been using free and open source software for a really long time. Going back nearly 10 years. I'm definitely no stranger to it. Apache, PHP and MySQL were among the first pieces of open source software that I ever used with RedHat being the first. They were great at the time. PHP and MySQL were so easy to use. They made it effortless to write web apps. Like I said I've been using these tools for a really long time, but there are big problems with all of them that have only recently started to really bother me.

It's all Sun's fault

There is a certain amount of comfort that comes from doing things the way they've always been done. Even though there are annoyances, they are annoyances that you're accustomed to. You know what to expect, even if it's negative. But every once in a while something happens that makes you look at how you are doing things. Sometimes you just get fed up and go looking for something better and sometimes something better comes to you when you aren't expecting it. For me it was Solaris 10 from Sun that got me looking at what software was best for our particular jobs. I've had these feelings of discontent for some time. The seemingly constant bickering among the Linux community. The many different flavors of Linux and products that only support certain flavors. I just felt like there had to be a better way. And then as if an answer to a prayer that I didn't even know I should be praying I kept hearing about the great features in Solaris 10. Zones, DTrace and ZFS to name a few.

I've used Solaris on and off a couple of times in my career. Version 8 (2.8) and 9 were very solid but also very uninteresting. It was missing a lot of the gnu tools that I'd come to expect and didn't even have SSH installed by default. Of course all these things could be rectified, but out of the box Linux was much nicer. Like many people I didn't feel any pull towards Solaris, but then I started reading about ZFS and then DTrace and then zones. I haven't seen anything like ZFS or DTrace. Sure there are some things that are similar but NO where near as effective or useful. ZFS is just plain amazing. And for all it's power it's also very simple to use. We are currently using ZFS, DTrace and Zones in varying capacity and couldn't be happier. Unlike Linux, Solaris actually has features worth talking about these days. And Sun isn't standing still. They're continually improving and innovating in the server OS space. I'm really looking forward to finding out what Project Virginia is all about. Microsoft is trying to catch up with VMware. Linux is playing with it's scheduler and constantly changing things, but I'm just not seeing much innovation out of them. Solaris is, in my rarely humble opinion, the only one who is doing anything interesting in the server OS space.

So why am I going on and on about Solaris and all the wonderful things that come with it? Because Solaris is what caused me to start evaluating everything. Suddenly I'm looking for alternatives to Apache, BIND and MySQL. Solaris was the catalyst. Our hosting infrastructure is looking very different from where it was two years ago. We are looking into switching from BIND to PowerDNS. From Tomcat to GlassFish. From Apache to LiteSpeed. From MySQL to PostgreSQL. There is nothing wrong with open source, but I believe the old mainstays in the open source world are getting very stale and are going to be replaced by newer programs, some open source and some not. PostgreSQL isn't a new program, but I think as more and more people run into limitations with MySQL (can't add a row without locking the whole table!) they'll be looking to PostgreSQL.

Apache

On the outside Apache hasn't changed at all for years and years. Apache has changed significantly since I started using it but most of the changes are on the backend and are mostly changes to allow platforms other than Unix to scale better. While this is nice you would think a project as large and as old as Apache could spend some time cleaning up their horrible and inconsistent configuration file. And hey while you're at it could you throw in some kind of an admin tool like LiteSpeed has? I like editing config files, but at a certain point they become unwieldy, especially with Apache's knack for not telling you why it won't start. And when you make a simple mistake like not creating a log directory and Apache just silently dies it's very frustrating. I already blogged about some of my annoyances with Apache in a previous blog, but those were just things that were bugging me at the time. There are many, many more. So we are switching to the much faster and much more Ruby on Rails friendly web server LiteSpeed. Even though LiteSpeed isn't open source they have a free version which is more than adequate for our needs. Apache is very configurable and very capable, but such a pain compared to newer, simpler and faster products. I recently had to set up Ruby on Rails for a client and since they already had Apache installed I decided to go the Apache 2.2/Mongrel route. I got this all setup but it was such a pain compared to LiteSpeed that I ended up scrapping it and installing LiteSpeed on their servers. It took a fraction of the time to setup and it's more robust. If anybody is really interested in why I hate the Mongrel setup so much leave me a comment and I'll expound.

BIND

I'm not going to talk much about BIND. It's an antique that I'm tired of dealing with. Every time I add a zone I have to edit the named.conf file on all my name servers. There is a better way. It's called PowerDNS. PowerDNS is much easier to attack programmatically because it uses a standard database backend. Much easier to attack programmatically than the BIND text files. PowerDNS is also faster and so far has had a much better track record.

Tomcat

Tomcat has been downright annoying for years. It seems with every release they break the configuration file (server.xml). And documentation for Tomcat (like nearly all Apache projects) is extremely lacking. Tomcat is another application that when things don't work it can take forever to track down the problem. It's been stable and as long as you don't upgrade it's ok. Certainly nothing to get excited about though. And lastly they seem heading in the wrong direction as far as I'm concerned. The last thing I read about Tomcat 6 is that they are integrating the APR (Apache Portable Runtime) into Tomcat. They are taking an entirely Java application and adding native code which I personally have always found distasteful. I would much rather the Tomcat folks work on the admin and reporting side of Tomcat than trying to make it serve static files as fast as Apache (which isn't all that fast). If I want Apache speed I'll put Apache in front and get all the modules that go with it. And if I want real speed I'll put LiteSpeed in front of it. Frankly I think they are just missing the boat on what people want and guess who is getting it? Sun. They've just released version 2 of GlassFish and it's a bit of a beast memory wise but it has some really nice features and version 3 looks to be really exciting. Sun is really getting it these days. They are making things very powerful, but also simplifying them at the same time. I pay very close attention to Sun these days because other than Apple they seem to be the only big company that is really getting what people want and need.

The end

I could go on and on and on about how what used to be the best tool for the job isn't anymore, but what I want to do most of all with this blog is just get people thinking about the tools they are using and looking around for newer, more capable, tools. You might find that your life can get significantly better.

Tags: opensource