PostCSS: A Dumb Name For an Awesome Thing

Bolstered by my reception at the South Dakota Code Camp, I updated and presented my PostCSS talk at dev.Objective() 2016, one of the best web development and CFML conferences in the states. I think it went well, despite my quickly expiring laptop.

You can view the slides on

You can browse the demo repository on

You can learn more about my postcss-placehold plugin on

Thanks to everyone who came!

The Final Miles at Lawrence & Schiller

On August 24th, I started working for a company called Security Labs. I’ll still be doing ColdFusion development but more product-based. Leaving L&S was difficult, and I departed on good terms (but only after we had lunch at HuHot).


On August 24th, I concluded my employment at Lawrence & Schiller and started working for a company called Security Labs. I’ll still be doing ColdFusion development but without the marketing focus. This will be more product-based. Leaving L&S was difficult, and I departed on good terms (but only after we had lunch at HuHot).

A Growing Unhappiness

What do you do when you suddenly realize that you haven’t been happy? In my case, the realization came in a flash, although the unhappiness was a slowly growing thing. I looked back on the past year or two, and I tried to identify exactly what had changed. There had been some personnel shifts, some reassignments. Client relationships had changed. The air conditioning had actually gotten colder. But, what was the root of my problem?

All of those are temporary changes. They’re things that can be fixed. I could request a different personnel shift. I could help change a client relationship for the better. I could wear a sweater and a coat. Yet, contemplating those changes didn’t lift the feeling. As I considered what an ideal job for me would look like, I noticed it was missing something key to my time at L&S. I realized my interest in marketing and advertising had waned.

This was something significant. For one, Lawrence & Schiller is a marketing and advertising agency. It’s what they do. So, if I’m unhappy with marketing, I was surrounded by it there. That also meant I wouldn’t be happy at any other marketing or advertising agency, which limited my options quite a bit. Ultimately, though, it meant that L&S couldn’t fix my problem and make me happy. It meant my time there was limited.

A Modest Search

I looked mostly at telecommute opportunities, given the small number of non-marketing development jobs in the area. I also explored frontend positions (HTML, CSS, and JavaScript) along with ColdFusion positions. Some of the leads were promising, but I had my doubts about telecommuting. I think it takes a strange kind of discipline to work that lifestyle, and I didn’t know if I was up for it. My search seemed at an impasse.

Then, the miraculous happened. A job listing appeared on a popular ColdFusion blogger‘s job board: it was a ColdFusion job listed in Sioux Falls, SD. Really? What are the chances! I sent an email to a guy named Adam who worked for a company called Security Labs, and I waited to see what would happen.

After some interviewing, an offer was made. I discussed it with Eric Cross, my discipline coach, and I explained the position I was in. He reacted as all good bosses should, torn between wanting me to be happy and wanting to keep me on the team. If I remember right, he broke down in tears, sobbing, “You’re a much more 1337 hacker than me. Please don’t leave. I’m nothing without you!” It was obvious to both of us how this would play out.

It was a difficult two weeks. Coincidentally, I announced to my team that I was leaving on the same day another developer was having his going away lunch. Talk about a downer. (Also, it was another opportunity to upstage Bob.) Things didn’t really get better from there. I was as torn up with leaving as everyone else was. I had not been wronged, or passed over for promotion, or slighted by my peers; there was none of the bad blood that would have made things easier. Instead it was all legitimate, sincere sadness.

When you work at a place for almost five years, it gets in your bloodstream. I’m very thankful that I made my decision to leave based on logic. Had I stopped to consider the emotional toll it would take, I don’t know that I could have gone through with it. With the magic of Facebook, Twitter, Linked-in, and IM it’s kinda like I never left – they just asked that I start working on other clients from another building with other people.

Security Labs

Security Labs is a tiny Sioux Falls company of four people that does ColdFusion development. Their primary product is a classifieds engine. It specializes in automotive, although it’s been adapted to agricultural and real estate listings as well. A good example of their handiwork is Car Truck Trader.

My role will be as the second ColdFusion developer. It looks like I’ll be doing much the same type of programming as at L&S. Based on the status meeting we had today, there are some very interesting projects coming up that I’ll get to partake in. I think it’ll be a good opportunity to learn and grow my development skills with an agile, focused team.


My time at L&S was priceless. I learned so much from so many people, and I got to teach a lot to a lot of people. I’ve never met so many energetic, intelligent, creative people in one building. I miss them already, but I’m looking forward to my new adventure. And, who knows? Maybe I’m not done going the extra mile just yet.

Save it for L8R

L&S and the SD Dept. of Public Safety put together this chilling PSA against texting while driving. Knowing the ending doesn’t take away from the impact of the video. Work like me this makes me very proud to call Lawrence & Schiller my employer.

Web Fonts: My Journey to ‘Good Enough for Now’

Font embedding has long been a hot topic amongst all parties involved. I’ve gone from ignorant to interested to indignant. That journey has culminated in a major evaluation of the resources available to me for use in actual projects for actual clients. Are embeddable fonts ready for client websites? Do the costs make it worth it? Is there a Holy Grail, a surefire technology, destined to save us?

Hint: refer back to the title.

Continue reading “Web Fonts: My Journey to ‘Good Enough for Now’”

Why Not Just One Programming Language?

One of my favorite courses in the Computer Science program at DSU was titled “Programming Languages”. As the title suggests, this class was devoted to learning about not just different programming languages but the differences between programming languages. The class was just a semester long, and it only covered a basic overview of what there is to know about programming languages. (For more on programming languages, visit your local library.)

Knowing that there are multiple programming languages (I just told you so, remember?), one reasonably wonders, “Why not just one programming language?” My brother wondered the very same thing in an email to me, which inspired this post. As children often do, his question revealed to me a greater query that I hadn’t stopped to think about before: why NOT just one programming language? (The joke here is that my brother is in his mid-twenties.)

One reason why there isn’t just one computer language is that there isn’t just one type of computer; there are thousands of different types of computers. Computers all speak a language called “machine language“. This, essentially, is the 1s and 0s of binary. Jotting down 1s and 0s would be a terribly ineffective way of communicating with a computer, so programming languages were devised.

The different programming languages came to solve different problems. The C language, for instance, was created as a systems language. It’s goal, as a language, was to build servers and operating systems. Prolog, on the other hand, is a logic language, designed for use in artificial intelligence. SQL makes it easy to manage data in a database management system. None of these languages are useful for creating webpages easily. That’s why we have Ruby, Java, PHP, ASP.Net, and CFML (ColdFusion).

Sometimes, a programmer will like the concepts of one language, but they’ll want the syntax of another. So, they create a new language. Some languages only exist as proof that a concept is possible. Some languages are specific to the platform for which they are written. For instance, a mobile phone might have it’s own simple operating system with a special programming language used to write the cell phone’s applications, or a social networking site might develop a language in their API for developers to use to get data from that social networking site.

Perhaps an analogy is in order. Programming languages are like tools. When you’re trying to hang a painting, a hammer is better for driving a nail than a mallet. A mallet will do the job, but that’s not quite what it’s supposed to be used for. And, most importantly, you couldn’t do everything you needed to do with just a hammer. You could do a lot, and get close to almost all of it, but in the end it’s nice to have other tools in the box.

Another analogy is out of order, but I’m just that crazy. Programming languages are not like natural languages. People hear PHP, Ruby and ColdFusion, and they think of German, French, and English. RESIST THAT URGE. Programming languages are not at all equivalent to natural languages. The main reason for this is that natural languages sprang up from a human need to express the scope of intellectual thought and the breadth of expression capable in their speakers; computer languages just make computers do stuff and junk.

Using the programming language criteria above, are a French-speaking person and an English-speaking person so fundamentally different that they require different languages? Of course not. A French-speaking person is just as capable of learning English as an English-speaking person. Similarly, French doesn’t solve any problem that English can’t solve. You might be inclined to say that French poetry is much easier on the ears, or that English is a much better business language, but these aren’t properties of the language per se. English might be considered a better business tool because of its wide adoption, and French… well, I guess it IS easier on the ears, but that’s not the reason French was created.

At L&S, I usually find myself playing in ColdFusion (CFML), HTML, CSS, and JavaScript, but I’ve also played with PHP, Java, Python, and Classic ASP. On a recent project, I found myself using ASP.Net and C# for one half and CFML for the second half. In my personal time, I’ve played with Ruby and Google’s Go, among others. I’m not listing this all out to impress you, but let’s be honest; some of you are really impressed. I’m listing these languages to show just how varied the Internet landscape is right now. In fact, looking at this list, I think my list of languages might be light for a web programmer these days. No Perl? No Clojure? No Scala? No Processing?

As servers get better at deploying (and virtualizing) the ability to utilize these languages in an integrated environment, web developers are getting more interested in picking the right tool for the job. Better server performance means giving developers more tools to play with and utilize. That, in turn, means faster, more efficient websites and, regrettably, a whole lot of developer ego.

Those guys can get pretty insufferable. Trust me.

Office Magic


A number of weeks ago, I moved into an office. It’s an office that had had a curse of departing WebWorkers cast upon it, but I saw no fear in it. My only concern was the “stomach lining” wallpaper. I didn’t like it. In particular, I wanted smooth walls upon which I could hang my project folders. What I had inherited was a topographical map.

My original goal was to strip all the wallpaper and paint the walls beneath. Time, and resources, however, were a concern. After doing some testing in a discrete corner of the office, I discovered that the wallpaper was both easy and fun to tear from the walls. I soon found my discrete corner a ravaged half-wall. I had to come up with a decoration style that made sense with this. Eventually, I decided to take the large prints I had had done for my apartment in Madison, and I would treat them as if they had been hiding beneath the wallpaper all along.

It worked pretty well. I put up two New York and two France photos. Actually, they were this one, this one, this one, and this one. It was a pain to get the photo to hang seemingly without assistance, so I opted to add some artist and functional bands of tape across each one. Time will tell how long everything holds up.

I have more plans for the office. One wall, in particular, is lacking full appreciation. I’ll add more pictures when the time comes.

Do any of you have a unique work space?

Twitter: It’s Here, It’s a Little Confusing, and I’m Almost Out of Characters

You can now add “Webinar Co-Host” to my CV*. I was honored to be invited as a speaker for one of Lawrence & Schiller’s Social Media Boot Camps. This one was called Twitter Demystified. The topic, as you can guess, was Twitter, and I was joined by Robin Temple, as co-presenter, and Dave Haan, as mediator.

* I don’t actually have a Curriculum Vitae.

Read the blog post and watch the video at Twitter, No Longer a Mystery? on L&S Unscripted.

Earn $1 for the United Way

Lawrence & Schiller is doing a new media usage survey of South Dakota residents. You’ll earn $1.00USD for your time and answers. Helping the United Way has never been so easy and indirect! (Honestly, though, it’s a three minute survey. (And nothing is more uncool than being seen helping the United Way.))

The Floating Interface

I’m a Machead. I’ll admit it. I grew up on PCs, which might be WHY I became a Machead. Since my first “stick of gum” iPod shuffle to our household iMac, my wife and I have come to embrace and relish the iLove.

That’s why I spent half my day refreshing the Apple homepage. I had heard, just in time, that Apple was announcing iPhone 3.0 software. When I realized the video of the keynote wouldn’t be out until afternoon, I sad mac’d the browser window and went about my day.

Little did I know…

Continue reading “The Floating Interface”

The Sanford Project 2009

The Sanford Project 2009 (
The Sanford Project 2009 (

Occasionally, we get the chance to work on projects that don’t just promote a product, a service, or a company but also hope, promise, and potential. Nothing better embodies that then The Sanford Project ( For the unfamiliar, The Sanford Project is devoted to finding a cure for type 1 diabetes, also known as diabetes mellitus or juvenile diabetes. This type of diabetes affects between 500,000 and 1 million people in the United States, which makes finding a cure a big deal.

Usually, the audience that we craft our sites towards is pretty cut and dried: our client’s customers. That can be easier if your client’s customers are people who bank in the Midwest or people who love flowers, but what if your client’s customers are as varied as people who have a body? Our challenge for the design of this site was to appeal to anyone touched by type 1 diabetes: patients, parents, physicians, and even researchers. A design like that has to say a lot to many people. Taking a cue from existing Sanford Health print materials, the design for the site is dark blue and technical, showcasing that serious medicine and research is behind this initiative.

Even if your life hasn’t been affected by type 1 diabetes, you can still find plenty of insightful and interesting content with regards to this monumental project. You can learn more on the Sanford Project page. Browse the Newsroom to see what latest Press Releases have gone out. Don’t forget the Video Library, where you can hear the stories and see the people who are helping make this cure a reality. For those feeling generous of time or money, you can easily Sign Up For Updates or Make A Gift Online.

A site like The Sanford Project is a good reminder that not everything a marketing and advertising agency does is about selling something to someone. Sometimes it’s about lending a helping hand to make the world a better place. Those are some of the best times.