Some communications of 2003

TAGS: Communications, Cyber Life, georgehernandez.com, My Stuff

Here is correspondence for 2003.


From:  Guy Halligan
Subject: your information on Typography

I teach graphic design in Miami-Dade County Public Schools, and I was happy to
see the information you have on your web site about typography. I would like to
point out, however, that in the list of definitions, there are two mistakes
which will mislead people. You say that an en is a short dash or hyphen, also
called an en dash. I believe if you check, you will see that a hyphen is much
smaller. The em dash is the longest, the en dash is shorter, but definitely
not as short as a hyphen.

Also, Tracking is adjusting the spacing between letters, not between words only.

I hope you take this as intended: constructive criticism. I have used your web
page in my class, and I appreciate your help!

Guy Halligan 

I've fixed the notes on my Typography page. Thank you very much for the
constructive criticism.

I'm glad that you and your students are able to make use of my work!



This was a neat little response from my section on Things They Ought To Invent.

From: Tom O'Brien [metadata]

George, I make a sterling silver wallet pen. A google search brought up your
I noticed your wish list of inventions,
scratch one off...


Tom O'B -- The Wallet Pen Company 35 Island Farm Road Charlotte, VT 05445 802-425-5000 fax and phone



From: Saied Javadi [metadata]


I have a problem and i hope you can help me.

My SQL server MDB file corrupted and i have to write a recovery tools for
recover records from it.

Could you help me about?

I need only structure of MDB file.

Thank in advance.
Saied Javadi

An MDB file is usually a MS Access file. Try opening it with MS Access.



From: Reza [metadata]

Actually I saw your web site. I would like to let you know
your information are great specially on SQL Server.

Regards ,




From: Jagadeesh Suryadevara [metadata]

Hi Experts,

Can you please go through the following

This is the normal SQL statement

select sun_site,composite,store_grade
from oper_type_new a,cdh_price_gap b
where a.sun_site = b.site_id
and a.store_grade in ('AA','A')
and a.store_type in('C+','B+')

I want MDX statment for the above sql ...

{[Measures].members} ON COLUMNS,
{[DrOperTypeNew].[Sun site].members} ON ROWS
FROM drpricegap
where [OPTN].[Store Grade].[AA,A] and
[OPTN].[Store type].[C+,B+]

If i use like that it is giving me error,
I tried to use filter that is also giving me some
so let me know the correct code to get the records

in the above 2 MDX statements i used
OPTN,DrOperTypeNew dimensions
because if i use DrOperTypeNew in the where condition
and in the rows
it is giving me the error , duplicate dimension across
independt axes.
So i created a new dimension with the same table and
used in where
condition ...

Can i use filter function , if S how to use code

drpricegap is cube,dropertypenew,optn r dimensions.

Jagadeesh Suryadevara:

1. I don't know if your OLAP DBs are set up correctly, but I will assume they

2. I don't know what context this MDX statement will be used, but I will assume
it is some process that will accept most MDX statements.

3. Your MDX statement should be something like the following:

    {[OPTN].[Store Grade].[AA],[OPTN].[Store Grade].[A]}*
    {[OPTN].[Store type].[C+],[OPTN].[Store type].[B+]}
{[DrOperTypeNew].[Sun site].members}) ON ROWS
FROM drpricegap

There are of course other possibilities.

    1. You can only put a single tuple (not a set) in the WHERE clause.
    2. The syntax of "[OPTN].[Store type].[C+,B+]" that you provided is just
plain not right.

MDX uses some of the same words as SQL but it is actually totally different.

I hope that helps!

-George Hernandez


From: Vince Murphy [metadata]

Hi George,

You side it quite helpful.

Could you show me an example of "Response.Redirect" that opens a new window
and leaves the existing window in tack.  You mentioned "	- Use the
window.open() method" in your article.   Like others, I'm having trouble
getting the syntax and the command form to work for me.

It looks like the "Server.Transfer(PathToASP)" might be an alternative, but
is there a "new window" option on that command?



Here is one solution:
   1. Have the original window pass its state info to itself.
   2. When the page runs that 2nd time, have the server side code detect that
it is running the 2nd time.
   3. Do your server side processing.
   4. Refill your new window with the old state info but also have the new
window open up a new window using client side code on its onload event.

I hope that helps.



From: Emit [metadata]
Subject: Introversion

Dear George,

"If you are a with a talkative group of extroverts,
then you and the group can and should be comfortable with your silence.
This is especially possible once they know you
and that you are not being silent out of hostility."
[Quote from my section on Introversion]

Do you tell everybody at work or just a few that you are an introvert?
Do those friends consider you differently.

What and how do you tell that you are not being silent out of hostility?

Dear Emit:

I don't think you need to tell anybody that you are an introvert. They will
know that from your relative silence.

What they need to know is that you (1)are not hostile, (2)are a team player,
and (3)have a valuable contribution. When the time comes: speak genuinely,
speak up, and provide genuine input that they will find useful. Don't worry
that others are talking more than you.

Over time you should be known as a sincere person whose every word is a gem.



From: Dwight A [metadata]

Dear George Hernandez,
I've been searching for examples of using JOIN in an UPDATE statement and I
found your site (
Although I didn't see any UPDATE examples at yoursite, I was compelled to
write you; perhaps from your friendly website layout.

Would you be so kind as to reply with the correct SQL (for MySQL) to change
the following SELECT statement into an UPDATE statement that updates the
DistributorCompanyName and CustomerCompanyName at the same time?

I would prefer to remain anonymous, but it may be helpful to others if you
post such an example (and I would appreciate a direct reply at this email

The following SELECT statement allows me to see the company names of both
the distributor and customer for each unique ReceiptId.  How can I UPDATE
the company names (in one SQL statement) once I know the ReceiptId for the
correct row?  I currently only need to update 1 row at a time based on the
ReceiptId (yet a second example might be helpful that updates more than 1
record at a time).

    dc.CompanyName AS DistributorCompanyName,
    cc.CompanyName AS CustomerCompanyName,
FROM Orders AS o
    LEFT JOIN Receipts AS r ON r.ReceiptOrderId = o.OrderId
    LEFT JOIN Distributors AS d ON d.DistributorId = o.OrderDistributorId
    LEFT JOIN Companies AS dc ON d.DistributorCompanyId = dc.CompanyId
    LEFT JOIN Customers AS c on c.CustomerId = o.OrderCustomerId
    LEFT JOIN Companies AS cc ON c.CustomerCompanyId = cc.CompanyId

My column names are unique without referencing the table name, but my real
issue is to reference a DistributorCompanyName and a CustomerCompanyName on
the same row, since my table only has a CompanyName.

Thanks and Regards,
Thanks for the compliment!

The UPDATE command updates one table at a time. Just use 2 UPDATE commands.

I'm assuming that you want to store the DistributorCompanyName and the
CustomerCompanyName in your Receipts table. If so, than use something like
the following to update Receipts.ReceiptDistributorCompanyName.

UPDATE Receipts
SET ReceiptDistributorCompanyName =
FROM Orders
    LEFT JOIN Receipts ON Receipts.ReceiptOrderId =
    LEFT JOIN Distributors ON
Distributors.DistributorId = Orders.OrderDistributorId
    LEFT JOIN Companies ON Companies.CompanyId =

Then do an analogous UPDATE for Receipts.ReceiptCustomerCompanyName.

As per you request, I will keep you anonymous. However I may add a variation
of the answer I gave as an additional example on my section about the UPDATE
command (http://www.georgehernandez.com/h/xDatabases/SQL/DML/cmdUpdate.asp).



From: Biery Aldo P A1C 39 CS/SCBU [metadata]

I have too much time at work. However during said time I came across your site,
I honestly don't remember how.

I've seen you got quite a bit of correspondence in regards to your programming
and technology.  It was not however that which piqued my interest, rather it
was the entry on your take on ethical theory, and I was curious if you had ever
completed it, and not posted it, or when you thought you would, as I would be
interested to see your take on it.

Just thought I'd leave my opinion for you, take it or leave it as you will.

Thank you for your time.

A1C Aldo Biery, USAF
Incirlik AB Systems Control Facility, Turkey
I do not feel obliged to believe that the same God who has endowed us with
sense, reason and intellect has intended us to forgo their use. -Galileo
Ouch! You got me. I'm a procrastinator. Working on a personal system of ethics
is one of the most important things I can do. That's probably why I
procrastinate on it.

So far it seems that a collection of pragmatic rules and concepts applied with
common sense and honesty is better than any formal system of ethics that I've
come across or devised so far.

Thanks for the interest!

-George Hernandez


From: Karthick.Gopal [metadata]

Dear George ,

  I searched for "micromanaging in warcraft" in google and your site
turned up , i thought i should check it out , little did i know how
much effort you have actually put in everything. I have been wanting
to make a site like this for quite sometime , sharing my
"explorations" ( as you put it ) with the rest of the world. I am
really glad to know that ppl like you are out there. Keep up the
great job , but you could add a little more about you in the site.
Would be nice reading about who you are , and what do you actually do
:-). Great Job again and regards to your family from my side.

An Admirer of your site.
Thank you very much for your comments! It is certainly my pleasure.

As per your suggestion, I added some information about me to the site
at http://www.georgehernandez.com/h/About/AboutMe.asp.



From: Piotr Glenszczyk [metadata]

Great help on ADO MD!

Currently I'm playing with connecting OLAP cubes from excel and I found
very useful information on your site.


Thanks a lot Piotr! I'm glad you were able to use some of my research.



From: Luis [metadata]


Can i contact to you in spanish is very easy for me, you are
interesting for but is necessary for the world make gruop
common else good luck

bye, Luis.

Si, pero no hablo mucho español.



From: Nadim Chou [metadata]

Hi george,

I just wanted to gather your views on satellite remote sensing imagery
and whether this is essential in monitoring the earth's environment or
whether the government uses this to intrude into peoples lives therefore
a breach in our civil liberties.

I await your reply to this email address
Thanking you very much


Both and more. Satellite sensory technology can be and is used for many

  -Monitoring earth and near-earth environmental conditions.
  -Political and military intelligence gathering both domestic and
  -Space exploration.

As far as intruding upon privacy, governments and industries have much
more invasive means here on earth than in the sky.



From: Chris Barnes [metadata]


If you have time ... I'm looking to resolve a virtual path to a
physical path. I'm familiar with using mapPath() to do this. I'm having
a problem figuring out how to use a complete path like
mapPath doesn't like the http://www.domain.com/ part. Do you know where
I can look for a work around? I have been searching high-and-low and
have painted myself into a corner. The
server.mapPath(request.servervariables("PATH_INFO")) function is what
I'm looking for -- however I can't explicitly set the PATH_INFO part.
Sorry again for the intrusion.

: ) Chris Barnes

Almost sounds like you're trying to hack into someone else's domain. As
you guessed mapPath() works with virtual paths not absolute paths.
There is no work around because they ASP doesn't want to you to acquire
command line paths for domains other than the one assumed by the root
path of all of its virtual paths.

However if the ASP page is part of the www.zero-up.com domain, then

mapPath "/artispictura_staging/admin/image_add_d.asp"

would return a command line path possibly like this:


From: Chris Barnes

Thanks so much for your reply. I have a database that stores the URL
for images and want to enable users to upload images to a specified
path. I'm not using relative img src to ease the use of an organized
directory structure. All of the image src references come from a
database query. I figure that I could put some kind of stub file in a
users directory to return the path or just add a new field in the URL
database -- I was hoping that I could come up with something a little
easier. Thanks again for your input -- It will save me a lot of effort
trying to figure something out that is not directly doable.


From: Mark Wilkinson [metadata]

Hello George,

Found your website to be a great source of information.
I am looking to have the script that runs the flipping action
of the postcard at the following link converted to _JavaScript


Is this a service you would provide or is there someone else I should contact?

Best regards,


The JavaScript equivalent that you're looking for is very simple.
Basically the front and back of the postcard are in separate <div>s
that are positioned absolutely in the same place but only one
side (div) is visible at a time. For example:

   -The front side div starts like this:
      <div id="cardfront" onClick="seeBack()" ....

   -That div call this function when it is clicked:
      function seeBack(){

I've attached the new JavaScript equivalent of your postcard.

Hello George,

What a surprise to hear from you today.
Thank you for that elegant solution.
I put it to practice today and here is the result.
Your critique would be appreciated.


Enjoyed reading through your weblog.
I grew up in and around Chicago.
Last lived near Fullerton and Clark.

I am in your debt,

Mark Wilkinson

It looks so good that I'll probably buy the CD later today!

Thanks for enjoying my content.

Happy Holidays!


Thanks for the compliment. Your reply (see below) exposed the guts of my
html letterhead. My goal is to make it appear as though I did not mess
up when it is seen as text. I am curious what email application you use
(I assume you are opening your mail in something other than Yahoo).

1. Did my email arrive as text or HTML with graphics?

2. Do you think a <nosend> tag would keep my graphics from becoming
attachments as they are listed below. The attachment of images seems to
happen mostly with MAC OS.

Wish I was in Chicago to celebrate Thanksgiving!


1. Your email arrived as HTML with graphics.

2. nosend is not a real HTML attribute. As far as I can tell
the nosend attribute is only available for the display tag
of WebTV's version of HTML.

I think the trick you're looking for is that when you are sending
HTML as email, and you are using images, then use an absolute path
(EG: http://www.GeorgeHernandez.com/h/Media/zMisc/GHLogo.gif)
instead of relative (/h/Media/zMisc/GHLogo.gif).

EG: This image has an absolute path and thus should
not generate an attachment:
GH logo.
You can send out HTML as email but don't expect it to come back
to you as HTML. On occasion I send out HTML but usually I
send and reply as plain text instead of HTML because
some people accept only plain text.



From: Gerar Toye [metadata]

forgive my ignorance but looked around your site and came away more baffled
was trying to find a basic list of glyph codes preferably for mac os 9 and
possibly os10 so i could print it out

i saw how to do opt c for copyright  and opt r but not for all the other
french and scandinavian accents

is there a chart i can follow

many thanks
Gerar Toye in new zealand

I've improved my page on character set shortcuts (

It now includes Mac info on how to enter most ISO Latin 1 glyphs
and a method for entering most Unicode glyphs.

If you are making web document, then this page (
can be used for most ISO Latin 1 glyphs.


GeorgeHernandez.comSome rights reserved