29th December 2006

Changing The Hosting


Warning: copy() [function.copy]: Filename cannot be empty in /home/jlhdes/public_html/wp-content/plugins/mytube/mytube.php on line 220

The site may be a bit strange for the next few days. I’m moving a bunch of sites to a new hosting system and this is one of them. I think I’ll convert this to a wordpress blog as well, so between the DNS propegation and new CMS integration it may take a bit to get it all working correctly.

posted in Site News | 1 Comment

28th December 2006

New Site Logo


Warning: copy() [function.copy]: Filename cannot be empty in /home/jlhdes/public_html/wp-content/plugins/mytube/mytube.php on line 220

It should also be viewable in your bookmark or if you have firefox on the tab and in the URL bar, IE doesn’t work too well with favicons.

JLH

posted in Site News | 4 Comments

8th December 2006

New Blogging Site


Warning: copy() [function.copy]: Filename cannot be empty in /home/jlhdes/public_html/wp-content/plugins/mytube/mytube.php on line 220

Watch my new blogging site be developed at Hip Blogger. The site will allow you to setup a blog of your own, for example, yourname.hipblogger.com. I’ve got over 120 themes installed so far, along with about 50 plug ins for much more diversity and functionality than blogger.

Other features will include AdSense revenue sharing, the ability to add your own template, and search engine optimization (SEO). Webmasters featuring their own sites are also welcome to create accounts.

The project is in it’s infancy, and I welcome any suggestions here or by email.

posted in Webmastering | 0 Comments

4th December 2006

Chris Isaak -Wicked Game


Warning: copy() [function.copy]: Filename cannot be empty in /home/jlhdes/public_html/wp-content/plugins/mytube/mytube.php on line 220

The world was on fire
No one could save me but you.
Strange what desire will make foolish people do
I never dreamed that I’d meet somebody like you
And I never dreamed that I’d lose somebody like you
No, I don’t want to fall in love
[This love is only gonna break your heart]
No, I don’t want to fall in love
[This love is only gonna break your heart]
With you
With you

What a wicked game you play
To make me feel this way
What a wicked thing to do
To let me dream of you
What a wicked thing to say
You never felt this way
What a wicked thing to do
To make me dream of you
And I don’t wanna fall in love
[This love is only gonna break your heart]
And I don’t want to fall in love
[This love is only gonna break your heart]

The World was on fire
No one could save me but you
Strange what desire will make foolish people do
I never dreamed that I’d love somebody like you
I never dreamed that I’d lose somebody like you

No I don’t wanna fall in love
[This love is only gonna break your heart
No I don't wanna fall in love
[This love is only gonna break your heart]
With you
With you

Nobody loves no one

posted in Music | 3 Comments

4th December 2006

Pink Floyd - The Final Cut


Warning: copy() [function.copy]: Filename cannot be empty in /home/jlhdes/public_html/wp-content/plugins/mytube/mytube.php on line 220

Through the fish-eyed lens of tear stained eyes
I can barely define the shape of this moment in time
And far from flying high in clear blue skies
I’m spiraling down to the hole in the ground where I hide.

If you negotiate the minefield in the drive
And beat the dogs and cheat the cold electronic eyes
And if you make it past the shotguns in the hall,
Dial the combination, open the priesthole
And if I’m in I’ll tell you what’s behind the wall.

There’s a kid who had a big hallucination
Making love to girls in magazines.
He wonders if you’re sleeping with your new found faith.
Could anybody love him
Or is it just a crazy dream?

And if I show you my dark side
Will you still hold me tonight?
And if I open my heart to you
And show you my weak side
What would you do?
Would you sell your story to Rolling Stone?
Would you take the children away
And leave me alone?
And smile in reassurance
As you whisper down the phone?
Would you send me packing?
Or would you take me home?

Thought I oughta bare my naked feelings,
Thought I oughta tear the curtain down.
I held the blade in trembling hands
Prepared to make it but just then the phone rang
I never had the nerve to make the final cut.

posted in Music | 0 Comments

4th December 2006

Israel Kamakawiwo’ole - Somewhere Over The Rainbow


Warning: copy() [function.copy]: Filename cannot be empty in /home/jlhdes/public_html/wp-content/plugins/mytube/mytube.php on line 220

posted in Music | 1 Comment

4th December 2006

Elton John - Empty Garden


Warning: copy() [function.copy]: Filename cannot be empty in /home/jlhdes/public_html/wp-content/plugins/mytube/mytube.php on line 220

What happened here,
As the New York sunset disappeared?
I found an empty garden among the flagstones there.
Who lived here?
He must have been a gardener that cared a lot,
Who weeded out the tears and grew a good crop.
And now it all looks strange.
It’s funny how one
insect can damage so much grain.

And what’s it for,
This little empty garden by the brownstone door?
And in the cracks along the sidewalk nothing grows no more.
Who lived here?
He must have been a gardener that cared a lot,
Who weeded out the tears and grew a good crop.
And we are so amazed! We’re crippled and we’re
dazed….
A gardener like that one, no one can replace.

And I’ve been knocking, but no one answers.
And I’ve been knocking, most all the day.
Oh and I’ve been calling ,oh hey, hey, Johnny!
Can’t you come out to play?

And through their tears,
Some say he farmed his best in younger years.
But he’d have said that roots grow stronger,
if only he could hear.
Who lived there?
He must have been a gardener that cared a lot,
Who weeded out the tears and grew a good crop.
Now we pray for rain, and with every drop that falls…..
We hear, we hear your name…..

And I’ve been knocking,
but no one answers.
And I’ve been knocking,
most all the day.
Oh and I’ve been calling,
oh hey, hey, Johnny!
Can’t you come out to play,
In your empty garden?
Johnny?
Can’t you come out to play,
in your empty garden?

posted in Music | 1 Comment

4th December 2006

Jeff Buckley - Hallelujah


Warning: copy() [function.copy]: Filename cannot be empty in /home/jlhdes/public_html/wp-content/plugins/mytube/mytube.php on line 220

Well I heard there was a secret chord
That David played, and it pleased the Lord
But you don’t really care for music, do you?
Well it goes like this
The fourth, the fifth
The minor fall and the major lift
The baffled king composing Hallelujah
Hallelujah
Hallelujah
Hallelujah
Hallelujah

Well Your faith was strong but you needed proof
You saw her bathing on the roof
Her beauty and the moonlight overthrew you
And she tied you to her kitchen chair
And She broke your throne and she cut your hair
And from your lips she drew the Hallelujah
Hallelujah
Hallelujah
Hallelujah
Hallelujah

Well baby I’ve been here before
I’ve seen this room and I’ve walked this floor
(You Know)I used to live alone before I knew ya
And I’ve seen your flag on the marble arch
And Love is not a victory march
It’s a cold and it’s a broken Hallelujah
Hallelujah
Hallelujah
Hallelujah
Hallelujah

Well there was a time when you let me know
What’s really going on below
But now you never show that to me do ya?
But remember when I moved in you
And the holy dove was moving too
And every breath we drew is Hallelujah
Hallelujah
Hallelujah
Hallelujah
Hallelujah

Well maybe there’s a God above
But all I’ve ever learned from love
Was how to shoot somebody who outdrew ya
And it’s not a cry that you hear at night
It’s not somebody who’s seen the light
It’s a cold and it’s a broken Hallelujah
Hallelujah
Hallelujah
Hallelujah
Hallelujah
Hallelujah
Hallelujah
Hallelujah
Hallelujah

posted in Music | 0 Comments

20th October 2006

Stop No Follow


Warning: copy() [function.copy]: Filename cannot be empty in /home/jlhdes/public_html/wp-content/plugins/mytube/mytube.php on line 220


I’ve been thinking about the implications lately of the new NOFOLLOW Policy of bloggers, blogs, and mainly google. I’ll be writing a lot more about this soon.

I’m going to write about this as I mentioned, until then here’s a good argument.

posted in Google, Webmastering | 4 Comments

20th October 2006

Shared Items


Warning: copy() [function.copy]: Filename cannot be empty in /home/jlhdes/public_html/wp-content/plugins/mytube/mytube.php on line 220

This is a test of Google’s shared items feature in reader, they should appear at the bottom of the template.

posted in Google, Webmastering | 0 Comments

14th September 2006

Check Supplemental Page Count


Warning: copy() [function.copy]: Filename cannot be empty in /home/jlhdes/public_html/wp-content/plugins/mytube/mytube.php on line 220

There’ve been a few theorys thrown out there to get your supplemental page count on Google. Still no definative way to get the pages back in the regular crawl cycle.

1. Here’s an online to to check your supplemental page count.

2. When you do a site search, try this method site:yourdomain.com ***

For some real fun try google and Amazon as well, seems like even the big boys suffer from supplementhell.

posted in Webmastering | 0 Comments

31st August 2006

301 Redirects in ASP on an IIS Server


Warning: copy() [function.copy]: Filename cannot be empty in /home/jlhdes/public_html/wp-content/plugins/mytube/mytube.php on line 220

Individual Page 301 redirects

To forward individual pages to a new location in IIS, please see this post.


www to non-www or non-www to www 301 redirects

To fix canonicalization issues of your domain in when using asp on an IIS server, specially in a shared hosting environment, sometimes you need to enter the code in on a page by page basis. Having your host set up the server to parse asp on all pages allows you to use this method on htm and html pages as well.

In developing the code for this I wanted it to have several functions:

  1. Be generic so I don’t need to enter the domain, so I can use the same file on all my domains.
  2. Pass on any server variables for dynamic pages.
  3. Redirect the default.asp page to “/”
  4. work in any subfolder as well for the default.asp fix.

At the top of each page on the site I place an included file calling up either version. The download(below) includes code to forward to the non-www and the www version of your site.

To forward to the WWW version via 301 redirect:

<%
'This code will redirect any asp page to the www version
'This code is provided as-is with no guarantee or warranty It is
'provided for free distribution as long as these comments are left in place.
'Designed by www.jlh-design.com 2006

Dim Domain_Name, theURL, QUERY_STRING, HTTP_PATH,TEMP_NUM

'Get domain that the page is on

Domain_Name = lcase(request.ServerVariables("HTTP_HOST"))
'Check if URL is the www version

if left(Domain_Name, 3) <> "www" Then
HTTP_PATH = request.ServerVariables("PATH_INFO")

'Check if page is default.asp if so, redirect to "/".
'If other index page is used, such
'as index.asp the numbers in the right and len statement
'need to be changed, as well
'as the IF statment to indicate the index page.

If right(HTTP_PATH, 12) = "/default.asp" Then
TEMP_NUM = len(HTTP_PATH)-11
HTTP_PATH = left(HTTP_PATH,TEMP_NUM)
End If

' Sets the new URL settings with correct page

QUERY_STRING = request.ServerVariables("QUERY_STRING")
theURL = "http://www." & Domain_Name & HTTP_PATH
'This section passes on the query string variables
if len(QUERY_STRING) > 0 Then
theURL = theURL & "?" & QUERY_STRING
end if

' Send 301 response and new location

Response.Clear
Response.Status = "301 Moved Permanently"
Response.AddHeader "Location", theURL
Response.Flush
Response.End
end if

%>

To forward to the non-www version via a 301 redirect:

<%
'This code will redirect any asp page to the www version
'This code is provided as-is with no guarantee or warranty'It is provided for free distribution as long as these comments
'are left in place.
'Designed by www.jlh-design.com 2006

Dim Domain_Name, theURL, QUERY_STRING, HTTP_PATH,TEMP_NUM

' Get domain name the page is on

Domain_Name = lcase(request.ServerVariables("HTTP_HOST"))

' Check to see if www version

if left(Domain_Name, 3) = "www" Then

' Changes http path to non-www version

TEMP_NUM = len(Domain_Name)-4
Domain_Name = right(Domain_Name,TEMP_NUM)
HTTP_PATH = request.ServerVariables("PATH_INFO")

'Check if page is default.asp if so, redirect to "/".
'If other index page is used, such
'as index.asp the numbers in the right and len statement
'need to be changed, as well
'as the IF statment to indicate the index page.

If right(HTTP_PATH, 12) = "/default.asp" Then
TEMP_NUM = len(HTTP_PATH)-11
HTTP_PATH = left(HTTP_PATH,TEMP_NUM)
End If

' Sets the new URL settings with correct page

QUERY_STRING = request.ServerVariables("QUERY_STRING")
theURL = "http://" & Domain_Name & HTTP_PATH

'This section passes on the query string variables

if len(QUERY_STRING) > 0 Then
theURL = theURL & "?" & QUERY_STRING
end if

' Send 301 response and new location

Response.Clear
Response.Status = "301 Moved Permanently"
Response.AddHeader "Location", theURL
Response.Flush
Response.End
end if

%>

Download

posted in Webmastering | 13 Comments

29th August 2006

301 Redirects Revisited for Products and Categories Pages


Warning: copy() [function.copy]: Filename cannot be empty in /home/jlhdes/public_html/wp-content/plugins/mytube/mytube.php on line 220

Update 8/31/06 the following codes can now be downloaded for the products, categories, and proddetail pages for 301 redirects on ecommerce templates in asp. I’ve also done post on 301 redirecting for fixing canonicalization problems on an IIS Server.

I previously discussed setting up the Ecommerce Templates software in ASP to do permanent redirects for products that were moved or no longer available. The implimentation of that has been hugely successful, the search engines were still looking for old products and are now starting to crawl the new products more. I used to get 150 to 200 crawls a day to the old products, now about a month or so its less than 10.

So I set out to find a way to set up the products.asp and categories.asp pages to do a 301 permanent redirect. This proved to be a bit more difficult than the productdetail.asp page as the pages can exist without any server variables (ie. categories.asp alone) and categories come in two types, one has products listed under it and the other has other categories listed under it. As before I wanted to design the system to redirect the user and spider to a new category if directed or to the base category page if no specific new category is offered. If a person or spider attempts to reach a category that does not exist anymore, or never did, and a better one is not suggested it defaults to the categories page.

First off, let’s get the coding out of the way
.

Open up your products.asp and categories.asp files in notepad. As before I assume you have already set up the dynamic meta descriptions and titles, if not DO IT NOW as the included files to database and metainfo need to be the first lines in the file. The code below also included the standard concicalization 301 redirect as well. This will redirect the user and bot to the www version of the website automatically, avoiding duplicate content in the search engines.

<%

'This code is provided as-is with no guarantee or warranty
'It is provided for free distribution as long as these comments
'are left in place.
'Designed by www.jlh-design.com 2006

Dim Domain
Domain = lcase(request.ServerVariables("HTTP_HOST"))

If sectionname= "301C" then
Response.Clear
Response.Status ="301 Moved Permanently"
Response.AddHeader "Location","http://" & Domain &
"/categories.asp" & "?cat=" & sectiondescription
Response.End
end if

If sectionname= "301P" then
Response.Clear
Response.Status ="301 Moved Permanently"
Response.AddHeader "Location","http://" & Domain &
"/products.asp" & "?cat=" & sectiondescription
Response.End
end if

If catid <>"" then
If sectionname= "" then
Response.Clear
Response.Status ="301 Moved Permanently"
Response.AddHeader "Location","http://" &
Domain & "/categories.asp"
Response.End
end if
end if

%>

Operating the Redirect in Ecommerce Templates

All right after you’ve got that done in order to manage the categories you have three options for a category you want to delete.

  1. The easiest is to just delete the old category, the user and the spiders will be forwarded to your categories.asp page where they can navigate to a category that exists.
  2. If you want to forward them to a different category that has products under it:
    1. Change the category name to 301P
    2. Disable the category
    3. Enter the new category ID in the description. Note: this is the NUMBER of the category shown in parenthesis not the name of the category.
  3. If you want to forward them to a different category that has other categories under it:
    1. Change the category name to 301C
    2. Disable the category
    3. Enter the new category ID in the description. Note: this is the NUMBER of the category shown in parenthesis not the NAME of the category.

That’s it you are done.

As before it’s a good idea to check your server headers to make sure everything is working. A great tool for doing this is the Oy-Oy Search Engine Tools.

To see the redirects in action, try the following links.

Redirects from an old product number X4212 to new number X4213

The headers should read:

URL=http://www.hvac-direct.com/proddetail.asp?prod=X4212
Result code: 301 (MovedPermanently / Moved Permanently)
New location: http://www.hvac-direct.com/proddetail.asp?prod=X4213

URL=http://www.hvac-direct.com/proddetail.asp?prod=X4213
Result code: 200 (OK / OK)

Redirects from old category 4139 to new category with categories under it 318

The headers should read:

URL=http://www.hvac-direct.com/categories.asp?cat=4139
Result code: 301 (MovedPermanently / Moved Permanently)
New location: http://www.hvac-direct.com/categories.asp?cat=318

URL=http://www.hvac-direct.com/categories.asp?cat=318
Result code: 200 (OK / OK)

Redirects from old category 4140 to new category with products under it 343

The headers should read:


URL=http://www.hvac-direct.com/categories.asp?cat=4140
Result code: 301 (MovedPermanently / Moved Permanently)
New location: http://www.hvac-direct.com/products.asp?cat=343

URL=http://www.hvac-direct.com/products.asp?cat=343
Result code: 200 (OK / OK)

And for kicks, this one redirects the non-www version of a category page that does not exist at all to the www version of the categories page.

The results should read:

URL=http://hvac-direct.com/categories.asp?cat=13242340
Result code: 301 (MovedPermanently / Moved Permanently)
New location: http://www.hvac-direct.com/categories.asp

URL=http://www.hvac-direct.com/categories.asp
Result code: 200 (OK / OK)

posted in Ecommerce, Webmastering | 0 Comments

17th August 2006

New Boiler Group


Warning: copy() [function.copy]: Filename cannot be empty in /home/jlhdes/public_html/wp-content/plugins/mytube/mytube.php on line 220

If you read the resume you know, I know a thing or two about boilers. I started a new group on google groups, follow the above link to see it. The following is a sampling of the type of conversation I hope to get into, its a reply I wrote to a poster about surface blowdown.

You will need to know the pressure of the steam drum to do any
calculations. The degree of superheat isn’t relevant as that energy is
added to the steam.

When you refer to blowdown I assume you mean surface or continuous
blowdown. Bottom blowdown is usually too dirty and intermittent to
consider heat recovery from it. Usually we use the energy from the
surface blowdown and recover it in two different places, as low
pressure flash steam, and with a heat exchanger to preheat the boiler
make-up water.

I’ll run through some of the calculations, but you will need to know
the operating pressure of the boiler, the low pressure equalizing line,
and temperature of make-up water to complete the Calcs yourself.

First off, lets discuss the process. You say that you have a 1%
blowdown rate. For those who don’t fully understand I’ll
elaborate. Let’s say the boiler is running at 100,000 lbs/hr of
steam production. So we are bringing in boiler feedwater with a
certain amount of dissolved solids in it and heating it to boiling temp
and letting the water vapor leave as pressurized steam. As the steam
evaporates it leaves behind the dissolved solids in the water. If we
let it run like this the concentration of solids in the boiler water
would raise higher and higher. Too high of solids concentration leads
to problems such as priming etc. To control the solids left behind, we
drain off some of the boiler water continuously which is replaced with
feedwater with a lower concentration of solids. So using the example
of 100,000 lbs/hr capacity we’ll actually have a feedwater flow rate
of 101,000 lbs/hr with a blowdown rate of 1000 lbs/hr.

The boiler water is at operating pressure and mostly at saturated steam
temperature, so let’s assume for discussion you are running at 250
psig. Referring to a steam table at 250 psig the temperature is 406 F
and the sensible heat in Btu/lb is 382. At 1000 lbs/hr that’s
382,000 btu/hr going down the drain which is probably worth recovering.

Generally there are two components of heat recovery. The first is
flash steam recovery. In our example we are going to drain the water
at 250 psig and saturated temp. This water will go through valves and
to a lower pressure, where it can’t exist as water at this
temperature and pressure, some will flash off as stem. So we take
advantage of this and design the system around it. Generally we take
the blowdown to a flash separator, which is nothing more than a
pressure vessel that brings the water in the side tangentially to the
walls. The water swirls around the outside of the tank, flash steam
rises out the vent on top, and water goes out the drain. (For a
picture visit http://www.pennseparator.com/pbs12.htm) The first
component of our heat recovery is generally to connect this vent to a
low pressure steam usage, such the preheat steam supplied to the
boilers deareator.

Let’s further assume for this example that your dearator is operating
at 10 psig, and the flash steam from our blowdown will go to this.

>From the steam charts steam at 10 psig has a sensible heat of 207

btu/lb, latent of 953 btu/lb at 239 F. So our water is going to go
from having a sensible heat of 382 btu/lb to 207 btu/lb, the difference
is 175 btu/lb. This times the flow of 1000 lbs/hr means we have
175,000 btu/hr of energy released as flash steam. From the steam chart
above 175,000/953=183 lbs/hr of flash steam at 10 psig is produced.
Another calculation is to take the difference of 175 divided by the
latent heat at the equalizing pressure 175/953=0.183 which means we are
producing 18.3% flash steam.

Now we still have the water left over, 1000-183 = 817 lbs/hr of water
at 239 f is available. We’ll then take this water through a heat
exchanger. On one side of the heat exchanger is the cold fresh make-up
water for the boiler system, let’s assume this is at 60 F, we’ll
also assume further that we selected this heat exchanger with an
approach of 20 F, so our blowdown water will be cooled to 80 F before
going to the drain, the energy recovered is then 817 lbs/hr X 1.0
Btu/lb-F X (239-80)F = 129,903 btu/hr.

So our total energy recovered is 175,000 + 129,903 = 304,903 btu/hr.
Our original blowdown had 382,000 btu/hr of energy, so we are
recovering nearly 80% of the blowdown energy available. Selecting the
heat exchanger with a tighter approach will increase the amount of
energy recovered, but maybe be cost prohibitive depending on the size
of the unit.

There are factory built systems above, I’ve personally used the ones
by Penn Separator the most, and have a lot of confidence in their
abilities. Visit http://www.pennseparator.com/home.htm for more
information.

I hope that helps, if you have any more questions, or need to get a
source to size and price them let me know (send an email to the email
address in the profile). John.

posted in Personal | 0 Comments

16th August 2006

Getting Good and Bad Links


Warning: copy() [function.copy]: Filename cannot be empty in /home/jlhdes/public_html/wp-content/plugins/mytube/mytube.php on line 220

It used to be that any link is a good link for your site. It may be true still today, but on a much smaller scale. The algorithims are getting smarter and smarter at trying to sort out which links to count, which to discount, and perhaps, just perhaps which to penalize for.

This article gives 101 ways to get links, some good, some bad. It’s worth a read and well…a link.

posted in Webmastering | 0 Comments

  • Please Support

  • Marquette University

  • Sponsored

125x125

  • Donations


  • ;

Enter your email address:

Delivered by FeedBurner

rss posts
  • Readers