Archive for the ‘John Barlow’ Category

If I only had…

Monday, December 3rd, 2007

This weekend, like most, I decided to take on a project around the house that I rarely have time to do through the week. Yes folks, it was that time.. time to change the oil in my car. Being a control freak, I usually do it myself, mainly because almost every time I’ve had it done somewhere, something has gotten screwed up (that and I usually put in full synthetic and use special oil filters you can’t get from service centers).

Case in point, I had drained the oil pan and had moved on to the oil filter — which had been torqued on well past the “quarter turn hand tight” standard — and I didn’t have a oil filter wrench to get it off. I really never need one because the filters I use have a nut on the bottom for easy removal (another reason I do it myself). Since the filter that was on there was only one oil change old, I decided to leave it for now and mess with it next time.

So, moving on to the next stage of my project, I started swapping the spark plugs out. With some effort, I managed to get one changed, but wasn’t able to get the others out due to not having the proper tools. My issue this time was that I needed a longer extension for my socket — a part I had to borrow from a friend since my car was in pieces :).

The point to all of this is that something people seem to overlook is having the proper tools for a job. For a programming task, you need a project description, a goal, and time to execute. For a fully marketed website, you need proper keywords, content, and time for the engines to spider. Far too often I have seen both of these areas being neglected by clients who “just want it done in a week” or who aren’t willing to take the time to fully describe what they want. Sure, a site or special project might be able to be cobbled together in time, but that’s like changing your oil without changing the filter. Sure, it gets the job done, but it isn’t performing as well as it can or should when just a little bit more effort would complete the job.

The State of Music, Counterpoint

Monday, November 12th, 2007

I respect Tony and his take on the state of the music industry mainly because he has been involved in that industry for some time. However, his problem is that he’s been involved in that industry for a long time.

It seems that the music industry, being ingrained in its ways for the last 60 years, is a product of its own stubbornness. Up until the mid 90’s, the industry was a well oiled machine. You would have a band… a starving band… playing little gigs until you were “discovered”. Then, you’d sign a big deal, get cash advances, go touring, spend all of your money, owe the label your soul, and fall into stark destitution while the label continued to profit off of your brief but violently shining career since you never owned your own material. They had total control of the product from start to finish and it was this cycle that kept sustaining itself indefinitely… until the dreaded Internet.

All of a sudden people could have access to music, instantly. All kinds of music was available. People would download tracks just for the novelty at first, then they did it because they could. Suddenly you had the ability to listen to an entire CD before deciding to buy it. I can’t count the times that I heard a good song on the radio and promptly went out to buy the CD just to discover that the song on the radio was the ONLY good track on the disk. Alas, just another cog of the well oiled machine… Bait and switch if you ask me.

Anyhow, some artists saw what was going on and decided to put an end to this. Metallica, for example, actively sought out traders (THEIR FANS) and sued them into oblivion. These people were still going to shows and buying merchandise…. but the sheer fact that the boat was rocked and the machine upset was enough to cause widespread panic (*cough* Y2K anyone?). The overall result? It has been nearly 10 years since and I haven’t heard about anything from Metallica for a LONG time…

And so begins the DRM. That cursed three letter word that makes life for the average person a living hell. However, how else to charge $.99 for a 15 second MIDI ringtone of a song you already own on CD, and probably cassette TAPE for some of you. DRM is man made. Anything made by man can be broken by man. If someone IS NOT going to buy a CD, they are simply not going to buy it. No matter how much or how little DRM is on a product, people that have no intention of buying music simply will not. However, the industry still thinks it can control the gas leak in their machine by applying more DRM to products. LET IT GO… just simply let it go.

The easier you make your product to use by the consumer, the more you will sell. Period. Why do you think MACs are still a presence in the computing world dominated by the PC? They are EASY to use (coming from a PC fanboy nonetheless). The main problem with the industry is its sheer unwillingness to conform to the public demand. Simply offer low priced DRM free digital downloads, and watch your profits go back up — even if you’re selling cookie cutter crap like Brittney Spears, 50cent, or any band trying to follow some actual original ideas and throwing the word “MUD” in their name for credibility.

I see the music industry at a very precarious crossroads similar to the photography industry…only I think they may have driven a few miles the wrong direction. Take Kodak for example. Their bread and butter has been film for many decades. When their old analog format started to die off in the place of digital photography, Kodak saw the changing tide and adapted. They didn’t try to sue anyone using a Digital SLR camera out of existence just to try to sell a FEW more rolls of film before people realized that film was obsolete. They didn’t try 1920’s “protection money” style heavy handed tactics to force consumers to “settle” with them or be sued. Kodak adapted its business model and is thriving.

I’m not very sympathetic to artists complaining about the market these days. I, being a musician myself, can appreciate musical quality. Most of what I hear in the “mainstream” today compared to music of just 10-15 years ago is just not that good. Musically, almost everything is in the same key (or in the same derivative family), use the same chord progressions, use simple time signatures, and can easily be interchanged aside from the singers and sound the same as everything else.

Perhaps the slowdown in CD sales is that the product is just uninteresting crap? After all, there are only so many teenage girls to buy the next boy band cd or gangsta wannabes to buy something with lyrics that wouldn’t pass 3rd grade English standards. Perhaps it is the simple fact that the industry seems to be targeting 10-18 year olds who’s population numbers are shrinking compared to 40-30 years ago. No, that can’t be…. that would mean the big machine is grinding to a halt — that would NEVER happen.

Error, Where Art Thou?

Sunday, November 4th, 2007

Every good web page needs to have an error handler. It is essential. It is leaned upon to display pretty little messages when something goes boom on the server that may or may not have been caused by the user. However, what happens when your error handler throws an error? Well, it’s caught by the error handler…. that throws an error… and is caught again by the error handler….

This fun little conundrum is what I ran into earlier this week in diagnosing a page that just seemed to sit there doing nothing for about a minute before displaying error text that should have been handled by the error handler. Thankfully, Coldfusion is smart enough to only chug on a infinite loop like that for only so long before it gives up. Otherwise, something like this could have brought the server to it’s knees — and we would have been none the wiser.

Some symptoms to look for if this happens to you:

  1. You have an error handler that doesn’t seem to be working
  2. Your page displays cryptic error messages that don’t really make sense
  3. Your page takes an exorbitantly long time to run before resulting in above behavior

I’m not sure exactly why, maybe it was because I was tired at the end of the day, but I found this particular problem rather amusing. Well, you’re also talking to a guy who managed to create a memory leak in a scripting language… (and I’m proud of that in a sick sort of way), but that’s another story for a different day….

Insider Domain Trading

Monday, October 29th, 2007

Being in the hosting business, we have to buy domain names. Everyone needs a domain name….Even your aunt selling widgets. Ideally, it would be nice to register auntieswidgets.com (as opposed to auntieswidgets1.com), but we have started noticing a disturbing trend.

Normally, when you go to look up a domain name, almost inevitably the one you want isn’t available due to domain parking or prospecting. This practice isn’t all that bad, mainly because some industrious individual had the forethought to register something that was going to be the next big name or brand. Take www.ie7.com for example. Anyone who watched the trend of IE5 and IE6 could safely bet that IE7 was on the horizon. However, since Microsoft took their sweet time developing IE7, there was considerable lag time between IE6 and IE7. In the mean time, someone who saw this trend went ahead and registered IE7.com. Go check it out…it’s a prime example of what could happen if you miss your brand :).

What we have been noticing lately is that one day we will search for the availability of a domain name, go back the next to register it and it is suddenly gone. One or two I can leave to coincidence, but after about five I started getting suspicious. We checked the WHOIS information, and sure enough they were registered to the same people. This leaves me to one conclusion – someone at the site we were searching was either selling the searches or sniping domains in the effort to up sell them.

This interesting article in the Washington Post outlines what we have been seeing as well. ICANN is looking in to it, but finding “proof” seems to be the problem. I think the whois records and timing that we were noticing are proof enough, but we’re not a large international organization now, are we?? :)

Ubuntu 7.10 – Gutsy Gibbon is here!

Monday, October 22nd, 2007

In January, I took the plunge using Linux on the desktop. I had tried a couple different distributions of Linux before I finally settled with Ubuntu. The ease of installation shocked me. It, in some respects, was much faster and easier than Windows XP. It even came with almost everything I needed to be productive at work – Firefox, Open Office (Microsoft office equivalent), Gimp (a Photoshop like graphics tool). The only thing I really had to download was Eclipse for my development IDE.

When Gutsy Gibbon (Ubuntu 7.10) was released on October 18th, I was running KUbuntu 7.04 (a version of Ubuntu that used the KDE desktop). I had a straight upgrade path to 7.10, and could do it over the net, so on Friday I sat down and started the upgrade process. After about 490MB later, my new distribution was downloaded and ready to install. The installation process didn’t take long at all, and I was up and running with the new operating system in no time.

The biggest problem I had was my video drivers. I had been running the propietary driver from Nvidia, (which needs to be built for your kernel), and wanted to switch to the version that came in the Ubuntu packages. My reasoning was that I could then use their software update feature to upgrade my kernel and drivers all at the same time without having to rebuild the video drivers EVERY time. After some time messing with this, I was able to get in and see all the wonders of Ubuntu 7.10.

Probably the biggest upgrades they’ve made are Compiz-fusion, a new version of KDE, and the Dolphin file manager . Compiz-fusion is a lot like the eye-candy effects of Vista, only a ton better :). Dolphin is by far my favorite. It replaced the KDE file manager with a much more intuitive interface and probably the best thing to cater to people who are used to Windows.

All in all, I’m very happy with the new distribution. Now, all I need to do is find open source alternatives to software I use at home so I can make the jump there as well! :)

Bamboleo Episode 1: For I am known as Bo

Friday, October 12th, 2007

It was a slow morning in the Brandwidth offices. Boy Bunder had been on the phone for the the better part of an hour, blaming a client for their email problems. Stubborn as he was, it was most likely his fault. Bamboleo had been mildly distracted by Boy Blunder’s ravings, and found himself longing for the dance. To protect his identity, had had not the freedom to express the dance while in the office. With a sigh, he looked up his favorite dance music to quietly tap his foot while he coded.

Just then, he faintly heard the shrill scream of a woman through the window.
“This woman”, Bamboleo thought, “Surely she needs the power of the dance.”

Boy Blunder had just hung up the phone, after convincing the client that they need to upgrade their email software (after accidentally rebooting the email server). Bamboleo stood up and exclaimed, “Come Sir Spud… The dance calls us to action!”

Boy Blunder and Bamboleo sprung into action. Leaving on their lunch break, they went in the direction of the screaming. When they arrived, they had found that an older woman had her cat stuck in a tree.

“Fear not kind woman, for it is I…Bamboleo!” said Bamboleo in a booming voice.
“Bambo who?” asked the woman.
“Bamboleo.” replied Bamboleo. “I am known as Bo.”
“Whatever. Who’s the big-headed pale kid?” replied the woman.
“That, good madam, is Sir Spud. Just do not ask him to do anything complicated.”
“Um…Ok. Can you help my cat?” asked the woman.
“Of Course!” shouted Bamboleo. “Let us dance!”

Bamboleo began to dance under the tree where the woman’s cat was stuck. Sir Spud had gone to get a ladder.

“What good is that doing?” asked the woman, beginning to get agitated.
“Good? The dance is everything! The dance is life itself… and it saves lives. I am to save your cat. Come! For I must dance!”, replied Bamboleo.
“No seriously… what are you doing?” shouted the woman.

Just then, Sir Spud had arrived with the ladder. On his way to the tree he tripped, and launched the ladder dangerously toward the cat. As it hit the branch, the Cat was knocked clear and began to fall.

“What have you done!”, exclaimed the woman frantically.

Bamboleo saw the cat falling and did a quick spin with a flourish, and caught the falling feline with grace and excellence.

“Your cat kind woman.”, said Bamboleo, handing it over to her.
“Get away from me you Psychos!” shouted the woman as she took her cat and ran inside.

“Come Sir Spud”, said Bamboleo triumphantly, “Our lunch hour has almost expired. We must retreat to the Majestic Tower.”

DIV is your friend

Monday, October 8th, 2007

In my years as a web designer, I’ve seen a just a few paradigm shifts in element use :). I remember back in the day when you’d throw together a site using tables for layout and all was well. Tables were simple (at design time), most every browser would render them right, and graphic design programs even would break up images into nice neat tables for web use. Going back to these sites for maintenance, however, was horrible. The glorious design that you were on top of at creation suddenly becomes this confusing mess of and tags that have you saying “what the crap was I doing here??”

In the new Web 2.0 world, the shift has been to using DIV tags and CSS for most of your layouts. One thing that I wanted to touch on that is very handy to do is using Divs to create a “table” layout of something like a list of images.

Here is how it works: You surround the image gallery in a container DIV so that it doesn’t interfere with the rest of the page. Then, you simply apply float styles to the DIVS that contain the images so they all line up nice and neat. Sounds simple huh? Actually it is with a bit of planning.

You need two CSS classes to do this. Let’s call them listitem and listend for this example.

listitem
{
     float:left;
}
listend
{
     float:left;
     clear:right;
}

The idea here is that you’re floating every “listitem” to the left, stacking the next element up on the right of the one previous. When you get to the end of the row, you use the listend style to float the element to the right of the previous, then clear the right side to make the next element render on the next line. Think of the listend class as a carriage return.

[listitem] [listitem] [listitem] [listend]
[listitem] [listitem] [listitem] [listend]
[listitem] …

Now let’s say you want to reorder the list (change dimensions). With a table layout, this usually involved re-creating the table because trying to split rows and elements would just take too long. This is not the case with our good friend the DIV. To reorder this list, all that is involved is moving the class definitions around, and you automatically get a different row/column configuration!

Indeed… DIV is your friend.

Raid arrays: which type of hardware is right for you?

Friday, September 28th, 2007

In managing server hardware, I’ve ran across all sorts of different ways of doing raid arrays. Mainly, they fall in to two categories: Hardware based and Software based. Hardware arrays rely on add-in cards to support the RAID function, while software arrays use Operating system kernel level drivers to manage them.

So, Which way is right? Yes :). The main thing in constructing an array is to think of the function it will be performing and the cost you are willing to eat to make things happen.

Hardware arrays, while being fast and not using system resources, are expensive to set up. Sure, you’re taking a large load off of your server, but you are paying for it in hardware. I’m sure you’ve all seen motherboards with a RAID controller built in to the north or southbridge chips. One common misconception is that this is a hardware array – it really isn’t. It is a special type of hybrid software array that relies on drivers for the operating system to know how to use the array. Without these drivers, the array is useless. Also, the drivers still use the system’s cpu to do all of the calculations rather than having a dedicated processor as in a true hardware array.

Software arrays bi-pass the RAID controller and bring all of the calculation to the CPU of your system. The upshot is that most arrays can be constructed for a fraction of the cost of the RAID controller hardware. For low-impact applications (web servers, light use database servers), software raid arrays are perfect and can give your business enterprise level storage for desktop level pricing. One thing that people sometimes forget is that your system is only as fast as your slowest component – which is the network interface in most systems today. This is perfect for applications like a file server where your array only needs to be faster than the sum total of the network interfaces in the machine.

It used to be that the only way to get good performance out of a RAID array was to use expensive hardware and extremely fast drives. However, with the advances in both CPU’s and drives, one can construct an array that has good performance at a low price point.

Server Side Compression Serving Up Bandwidth Savings

Friday, September 21st, 2007

In the fun world of server administration, you come across some real gems sometimes. For the most part, I had been using the standard apache configuration to serve up sites. While this is perfectly acceptable, it can become quite a load on your internet connection when one hosts as many sites as we do. Enter Compressed output.

In trying to increase performance of our servers, we recently enabled the gzip compression module (mod_deflate) in Apache. This module will compress all of the text output of the server (HTML, CSS, Javascript), making sites load faster and cache better on the client side. This works especially well for sites that include large Javascript libraries (AJAX) or large CSS layouts.

There is a bit of configuration you need to do because not all clients can support gzipped content (mainly older browsers). In addition, it is a good idea to tell the server to only compress text based elements. Otherwise you will be wasting CPU cycles trying to compress highly compressed graphics and other components that don’t yield themselves to great compression rates.

Below is part of our server config (standing on the shoulders of giants here.. I found this on the net and modified it slightly):

##—- Deflate options
SetOutputFilter DEFLATE
DeflateCompressionLevel 9

## Netscape 4.x has some problems…
BrowserMatch ^Mozilla/4 gzip-only-text/html

## Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip

## MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

## Don’t compress images
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

## Make sure proxies don’t deliver the wrong content
Header append Vary User-Agent env=!dont-vary#

The benchmark results were promising as well. For graphic intensive sites, we gained around 2-3 seconds on load time. For text intensive sites, we saw an increase of up to 5 seconds. When you spread these savings over multiple sites and multiple hits, these savings add up quickly.

To test your own sites, you’ll need two tools (three if you count Firefox). You’ll need to download and install Firebug and Yslow (for firebug). These two components will show you the load times, the cache footprint, and the compression rates for your site.

If you want to speed up your server or just more efficiently utilize your internet connection, Server Side compression is the way to go!

Custom 404 pages in a shared Cold Fusion environment.

Monday, September 17th, 2007

I recently ran across an interesting problem with configuring ColdFusion. We run a shared hosting environment for some of our sites, and the time has come to start putting custom error handling in for all the sites to email us when there was a problem.

As you already know (or should, check out the livedocs) each application or site can have its own custom error handler by using a tag (typically in the application.cfm). What I was aiming to do was set up a custom error handler and custom 404 handler for each site… with the look and feel of each site.

The easy part to this config was the error handler. To simplify some of the coding, I made a custom mapping to /error/ on our server and created an error file that handles emailing us when there was a problem (including the form scope, cgi scope, and the error structure). This file is then called by an error.cfm file in the root of each site that wraps it in the look and feel of the site, displaying a nice, friendly error.

This is where things get dicey. After much searching, I could find nothing on setting up a custom 404 page in much the same way. Everything I found only referred to the global error handling page in the cfadministrator. This is when I had a brainstorm.

Again, using the custom mapping that was created, I added a custom 404.cfm in the /error/ mapping, and used this as the global missing template file. This file, in turn, extracts the full path of the web root of the site you are in, and includes a custom 404.cfm in the root of the site.

Assuming you have a common root for all the sites on the server, you can extract all the information you need from the CGI scope to make an absolute call to your new 404.cfm.

So, there you have it…. Custom error and 404 pages in a shared hosting environment!

hardcore porn free porn teen xxx Mature Porn porn blog sex