- Duane
Leinninger.com
From the field...
For What It's Worth...
December 3rd, 2007:
Fathead on Carl’s wall.
November 12th, 2007:
Boot Camp: Leopard and Vista sitting in a tree.
I’m in the process of getting Vista set up on my bootcamp partition. Here’s a little tip out there for the edgy kids on the block: use 32-bit Vista. I’m sure that someone out there figured out a way to get 64-bit working with some kind of devil dance in the moonlight, but if you want to save yourself a lot of headaches, stay 32-bit. I run 64-bit on non-Mac desktop at home with no issues. Apparently, I lucked out with the hardware in that box having 64-bit drivers available. The bootcamp drivers on the other hand, are strictly 32-bit compatible.
Leopard, on the other hand, is absolutely lick-able. The big features are great (such as time machine and spaces), but the stuff that really stands out are the unified interface, simplified control panels, and much better Rosetta (PPC-emulation) support.
- Duane
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.
- Duane
November 5th, 2007:
New article!
Holy writer’s block batman! After over 2 years, I’ve finally written a new editorial article! It’s actually something I started over a year ago, but attending a Web Technology Summit recently inspired me to finish it up. When I browsed through my articles-in-progress, I noted quite a few that could be finished up. Perhaps a few new ramblings will make it onto the homepage in the near future…
- Duane
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.
- Duane