6 posts categorized "gripe"

08/23/2008

One of the Most Frustrating Things for Me About Vista

<gripe>

I've been using Vista for about 8 months or so. For the most part, it is not all that much different for me from Windows XP. I have not experienced on a regular basis most of the problems that people experience and that the tech media loves to report on. However, one thing that really bugs me that I experience a lot and I know others experience as well is Windows Explorer's random crashing.

Is it too much to ask to drill-down a directory tree simply by double-clicking each directory or perform a copy and paste of a file without explorer dying? Is that really just too much of a stress on the system? Is it really??

If anyone reading this knows of a solution, I'd be happy to hear it.

</gripe>

06/01/2008

Déjà vu

Is it just me? Lately at work, many different applications all seem to be suffering from the same issue--the app works fine until it's deployed into production. Once you put that firewall between your public-facing web servers and the app and db servers, all sorts of interesting problems arise. I think it's the fault of the vendors and the open source framework and app servers developers. In the mad grab to become number one within a particular realm, almost no time is spent on the operational aspects of that particular piece of technology. You can read many cases where someone developing a particular app or function will say, "Don't do this in a production environment. This is here simply for illustrative purposes only" without ever really dedicating any bits to things you will need to change if you are going live or deploying across multiple tiers.

Just this past week, I had to remind some developers that Log4J allows you to change logging levels within an application from ERROR all the way down to DEBUG on-the-fly. After much internal debate, instead I get an updated log4j.properties file that they asked me to change within their web app and then restart tomcat.

Also, within the past two weeks, I've had two separate discussions with two separate development groups working on two completely unrelated applications in regards to connection pooling. To reiterate for anyone reading this, "It is not the responsibility of the DBMS to manage the client's connection pools!". Six years ago we were doing this with asp and sqlserver developers and now I'm doing it again with jdbc and oracle developers. It doesn't matter to me how you do it but if you develop something that is particularly robust, share it with the rest of the organization so they don't need to reinvent the wheel. If you open a connection, close it. Check it first to see if it's OK. If you create a pool, time it out after a certain period of time otherwise your firewalls will sever the connection for you.

01/12/2008

Gripe: Absolute URL versus Relative URL

Ah FrontPage. You made it so easy to create web sites that there are many, **many** web site developers out there who do not know the difference between an absolute URL and a relative URL. I'm not talking about those cases when you need to link somewhere offsite--I'm talking about links to content that reside on your own site. Yes, this first post is a gripe. You would be surprised with how many times I come across this when we're going through a site. I once spent a couple of hours on the phone going over the differences between absolute URLs, relative URLs, and, of course, the server relative URL with a group of developers and I think by the end of the conversation, they were just saying "ok" to get me off the phone. What's wrong with using an absolute URL within your own site to link to your own content? Consider the following HTML for a fictional company's product manuals.


Absolute URL Example

a href="http://our.awesomesite.com/manual/index.html"> Product Manuals

Relative URL Example

a href="manual/index.html"> Product Manuals


Although both work and will result in loading the same page, the first will make troubleshooting problems with the web site a little bit tougher.

Consider the following example: our.awesomesite.com runs across a pair of web servers, serverA.awesomesite.com and serverB.awesomesite.com. A browser making a request for the homepage hits the load-balancer and the load-balancer sends that request off to one of the two real web servers. Now let's say that some of our customers are reporting an "intermittent" problem with one of the two web servers getting the manual. We operations-types fire up a browser and go to http://serverA.awesomesite.com/, (bypassing the load-balancer), and then click the link for the manuals. The trouble hits when we click that link. Due to there being an absolute URL, our browser gets sent back to the our.awesomesite.com address instead of going to the real server. If we experience a 404-Not Found error, we still don't really know which server is generating the error.


I understand that this example may be over-simplistic because since we assumed these were static pages, then we could just go to http://serverA.awesomesite.com/manual/index.html and see if we get an error and repeat the step for serverB. This becomes more annoying when there are dynamically-generated URLs and you have to go to the homepage, login, etc. Obviously, the scope of this article is geared towards web sites developed and running within the enterprise. Sites that are load-balanced because they have to be up. Sites that cost the company serious money when they are down.


Ditto for those base href's that some folks are so fond of. Avoid absolute URLs and base href's if at all possible.