Leinninger.com

Search Results

April 22nd, 2008:
Have a slice of cake and a free NIN song.

You may have noticed a recent spate of cake pictures in the moblog update. It’s not that Duane and I are really hungry and raiding bakeries with our camera. Rather, I’ve decided to practice my cake making and decorating skills. Duane has kindly been documenting my baking experiments. As a result our coworkers have been getting to eat the results, which I think people are happy about. But soon enough it is going to be a conflict of interest if I keep feeding employees of an obesity research lab a lot of cake. So, if you find yourself needing a cake and don’t mind my non-pro status, I would love to bake one for you. In other delicious news, NIN have released a new free song, and this one has vocals! Visit nin.com to get your brand spanking new NIN. If you prefer your NIN without Trent’s melodious voice, pick up the free tracks from Ghosts or catch the podcasts of This American Life which are also featuring those tracks.

November 5th, 2007:
The Right Tool for the Job

I’ve said many times before that I’m big on “bang for the buck.” A significant part of that equation is making sure that you’re using the right tool for the job. Allow me to provide an example. My wife, Gina, and I made a lot of improvements on our last house. While remodeling our front porch, we needed to replace the front steps. 2 simple concrete steps needed to be transported from the concrete supplier about 2 miles to our front porch. These concrete steps would “fit” into the back of my station wagon. After a little fussing about to get them in the back of my car, I surveyed the rear ride height of my car. It was pretty well compressed to the bump stops… but should make it to our house. After a very slow 2 mile ride, we needed to get the steps from the back of the car to the front porch. Gina retrieved a plastic garden cart from the back yard and rolled it to the back of the car. The 2 of us struggled to remove the first step from the rear of the car… and gently drop it into the garden cart. It went right through the bottom. Another concerning detail: the rear of my faithful little Subaru didn’t start to rebound as I expected. We lugged the first step to the front porch and returned to the car to remove the second. Again, we struggled to extract the step. And, once again, the car failed to fully return to it’s pre-traumatic ride height.

We eventually installed the new steps, mortar and all, but I learned a few things. First: compact cars do not haul heavy loads well. I ended up replacing the rear suspension in my Subaru. What the heck was I thinking? Just because the load fit didn’t mean that I should carry it in that car! I should have rented a truck or bugged a buddy to help me out. Putting the concrete step through the bottom of the garden cart reinforced this. Perhaps a wheel barrel would have worked better.

I build websites for a living. More accurately, I lead a team of folks that build websites for a living. I still code quite a bit, but it’s not my primary responsibility. Our websites are used by the public. We are Web Standards code snobs: our markup describes the content it contains. The tools we use allow us to do this quickly and easily. We have built several frameworks with PHP. Admittedly, the newest framework (which benefits greatly from PHP5’s object oriented approach) is significantly better than our previous (early-PHP4-based) framework. However, both of these solutions allow us to meet the demands of our very creative marketing team as well as the unpredictable financial market. PHP is hands-off when it comes to the front-end. Do what you want (good or bad) and PHP will let you. Each of our frameworks has defined boundaries to ensure the separation of layout (display) from logic. In the end, however, we can be sure that our output (the web page content) is exactly we want it.

This has paid off in a big way. Search engines consume our content greedily thanks to concise, content-related URLs (which we control completely). Paragraphs, headlines, and lists (menus) are tagged as such instead of vague blocks (divs). Search engines like this and so do developers. There’s no guessing about what something is on a page. Data grids are represented as tables, and table are not used for layout. (Just like you wouldn’t use Microsoft Excel to design and publish a newsletter… at least you shouldn’t… unless your clinically insane.)

I’m not claiming that other solutions don’t allow you to do this. But some of them try to do too much for you. In the process of doing so, they make you do it their way. For example, the origins of one popular technology are founded in desktop application development. The development metaphors of desktop application are very different than those of web development. (Screens instead of pages and so forth.) Additionally, the mentality of platform agnostics escapes most desktop developers. They build for a specific platform, the end. Web developers must support many versions of many browsers, on many platforms and devices. This mentality is reflected in the approach that these technologies take in addressing user interface, layout, display, and session management. If you’re going to build web sites, choose a tool made for building web sites… not everything else.

However, if you’re building desktop apps you’re in a great spot if you’ve chosen technology intended for such a task. When you find yourself straddling this workspace, it may make sense to compromise. Use a technology with strong ties to both worlds. I’m not talking about Java here, folks. .NET offers some powerful tools for application developers that are required to build web-compatible apps. Read that last sentence again… “web-compatible apps…” I’m pretty proud of that part. It encapsulates the spirit of those developers that use .NET technology for web apps. Whether you start out writing desktop apps or your goal is to someday write a desktop app, you’ll probably be pretty happy using .NET to build web apps.

Face it! You’re not thinking web. You’re not buying into the philosophy and culture of a shared, universal experience. The web breaks down barriers, it should not invent new ones (Active X, I’m looking at you…). Some of the new things that Microsoft is working on, like Silverlight, have the right spirit. Now it’s up to the real web development/design community to adopt them. Microsoft is going to need some feedback… and I’ve recently found out that they’re really open to it. Tell them what you want, they’re listening. Their tools reflect the needs of their core user base. If web standards focused developers use these tools and work with Microsoft to get it right, there’s a good chance they’ll get there (eventually).

Everybody has tools that they use to get work done. I admit that I’ve used wrench for a hammer in a pinch. Usually, the results aren’t pretty. A carpenter wouldn’t do the same thing. If you’re a professional, make sure you use the tools that fit the job. If you’re using tools that work, but aren’t made for the job, tell the people that make those tools to get it right. Demand it. Now get back to work. Web 3.0 isn’t going to happen by itself.

October 28th, 2007:
Arrival at the Microsoft Web Development Technology Summit

The flight into Seattle was cozy (I’m 6’3″ and 250 lbs.) and the landing was interesting. There must have been high winds, because the 757 landed at a 20 degree angle (known as crabbing). After an audible gasp from the passengers, we straightened out and were just fine.

The accommodations are very nice and the welcome mixer/dinner was better than I thought it would be. I’m not really a social butterfly and dealing with crowds of strangers is not my forte. However, the crowd was smaller than I expected and everyone was very friendly. Microsoft had a decent showing of folks to chat with about their web technologies and server solutions. These folks weren’t reps or advocates, but hands-on developers and product managers. Very nice.

It appears that Microsoft has taken a more collaborative approach to PHP (and Ruby for that matter) rather than a competitive one. Much of the summit will focus on integrating PHP with Microsoft solutions as well as collecting feedback form the development community.

So far I’ve met folks from Facebook, Simple Test, PHPDoc (PEAR), PDO, and of course, Microsoft. I feel a bit out of place as a team leader and end user of this technology, but the collective experience is pretty darn awesome.

March 14th, 2003:
I fry my monitor. Co-worker fries her SUV.

My digital CRT fried about a month ago. 3 weeks ago, I won an eBay auction for a replacement. It finally arrived today. The official celebration will start when I inspect it for damage and make sure it powers up. Update: The monitor is in several pieces and has to be degaussed badly. I guess my feedback for this auction will be less than positive.

The weather was attrocious this morning. I shouldn’t be suprised by this after 27 Michigan winters. However this morning it was really bad. A woman at work drove on the expressway in four-wheel-drive low. Apparently, this overheated her drivetrain and toasted her starter… which, in turn, burst into flames once she came to a stop. Driving in the snow for 45 minutes (normally a 15 minute drive) was worth it, just for that.
Devtroit