Please note: Technology changes can occur faster than my website updates, so some things may not always be current.
The Internet
The Internet is a very exciting and rewarding place, full of new information and new methods, but it can also be
overwhelming to try to keep up with everything and not to feel that you are at the mercy of some of the things that seem
to be constantly trying to take advantage of you. I am always striving to feel like I am in control of my online life, and
I want to pass along some of the things I have learned and also share some of the resources I have discovered.
Growing out of the Defense Department's ARPAnet and other projects in the 1960s and 1970s, the Internet was used by 90% of Americans by 2019 and connected those users to billions around the world. The Internet
simultaneously made work more productive and life more distracting by disseminating useful knowledge.
It also spreads rumors and conspiracy theories, so watch out!.
I created my website when I was writing code regularly as a programmer, but I am retired now so it gets less of my creative attention. Please enjoy!
Here's a cute tip:
What time is it anywhere in the world?
World Clock
- I show Boston, San Francisco, London, & Tokyo
I've created several web documents that I want to share
picture.html
picture.html demo
If you have a graphic image, like a .jpg file, that you want to show with a caption here is an easy way to do it. This webpage is called
picture.html
( source code). It has 2 captions you can use, one above the image called "topcap" and one below the image called "comment." Both are in a bold font and
comment is italicized. I use this in many places on my website, and like the rest of my website, this is not copywrited
and you are free to copy the code. Picture.html uses a lot of JavaScript. There is a lot of html that I use to display the green-bar header info at the top that you can leave out if you use this
(bracketed by comments: "Begin 2 green-bar header" and "End 2 green-bar header"). I cloned this as picture2.html which has topcap2 and comment2 to allow it to be called in topcap or
comment in picture.html.
See in action (when image displays look
at URL in browser to see how it is done) Here's the code for
use: <a href="picture.html?image=filename.jpg&topcap=Label above photo&comment=Comment text below photo"> (topcap and comment are optional)
I created a similar webpage called
cartoon.html
(source code) to display joke images. (See examples.)
google_search.html
google_search.html
I used to go to google.com when I wanted to search Google but decided I could bring the page up faster if it was local to my PC so I created
this page and it loads much faster. This webpage is called
google_search.html
( source code). I had wanted to call it "search.html" but I had already created a search.html on my website so I couldn't use that name. Create this
on your PC. I think you'll like it. It mostly uses a lot of Javascript.
Click to see in action. I use the Google logo for an icon on my desktop to call this app.
print_source.pl
print_source.pl
I wrote this Perl program that I use on my website when I want to display source-code rather than run it. To use (I store executables like Perl apps in the cgi_bin folder), the URL is:
"/cgi-bin/print_source.pl?src=path to source-file"
print_source.pl
Click to run it and see the source-code for this app
Scam alerts - click to read
These 2 alerts are presented using the program.html page I mention above.
Preventing viruses
You can prevent many viruses from infecting your computer or phone by doing a few basic things.
Don't open email attachments unless you absolutely trust them.
Don't click on links in emails unless you absolutely trust them.
Only download software from trusted sources.
Even if you get an email from someone you know—your friend could get hacked and it can be a spoof—so be careful with what you click on.
I have a couple of things installed on my computer that screen constantly and prevent viruses from attacking.
Norton Security - I downloaded this from my Internet Provider, Comcast, for free (I get regular messages from Norton saying things are not safe)
Malwarebytes - I downloaded the Premium version and pay a yearly fee (it runs regular scans)
Facebook
My profile
Facebook is an interesting place to share information about yourself and learn things about friends' lives. Have fun but
resist getting obsessed and spending too much time there, and be conscious of recommended protocol for using the network. Be aware that what
appears to be news information is tailored to your tastes and probably slanted. Don't use Facebook as your only news source.
In Facebook there are a couple of things that others would like to find in your profile . . .
A recent photo
Where you currently live
The following things change on Facebook when they change the interface so they may not all be the same as when I typed them.
Security: Here's some interesting information from my friend (and
nephew's wife) Megan to help prevent hacking.
Go to Account Settings >> Security >> Secure Browsing
Click on Browse Facebook on a secure connection (https) when possible – this will automatically put 'https' instead of 'http' in the url, which is more secure How to Fix a Hacked Facebook Account – it's never happened to me but it's worth knowing 12 Facebook Statuses You Need to Retire F.B. Purity – clean up and customize Facebook on non-IE browers with this extension
Google Maps Street View
YouTube Tutorial
In 2007 Google introduced a new feature in Google Maps called Street View (that's my Boston office building in the center, where I
worked for 24 years until I retired in 2018)). They mounted panoramic cameras on top of cars which drove around photographing the streets
of U.S. cities and towns. These images are assembled in a way that provides 360-degree zoomable images of roads and buildings. Ultimately
most of the U.S. and much of the world became the subject of these cameras. (My colleagues and I were eating lunch in a Boston restaurant open to
the streen when we noticed a Street View car on the street outside so we smiled and waved for the camera, but of course our photos were
probably never used!) My colleagues and I were in a restaurant for lunch in Boston that was open to the street. When the Google camera vehicle pulled up on the street we all started waving at the camera.
Unfortunately Google chose not to use that photo.
Caution: Street View images are only as recent as the last time the cars photographed the streets. They may sometimes be months (or years?) behind.
Not surprisingly there have been complaints from some residents about having their homes photographed, not only as an invasion of privacy, but
also giving thieves another burglary tool. Personally I have come to terms with not really having the same level of "privacy" in the
21st century we had before the Internet, but I understand not everybody feels the same way. The exposure we have in the world now has changed
and we have to make some adjustments in our lives to deal with this. We have had to learn to live with an increased amount of security in all
things since 9/11 and we unfortunately can't be as casual as we were in the past. Security camera footage on buildings adjacent to crimes is
often used in the solving of crimes. (And you never know when you might appear on YouTube from a webcam!) Satellite views of the White
House are blurred on map websites and maybe there needs to be an option for that for private residences also. Google provides a way to request
removal of imagery from Street View.
I was looking in Google Street View at Otis Hill Road, a street in our neighborhood in Hingham, Massacusetts, and saw that the Google camera had captured me walking our dog Casey (this
was before we had Quinn).
click to see us in Street View (that is Hingham Harbor on the right)
To use Street View go to Google Maps, locate an area you want to explore, and using your
mouse drag the little "pegman" (Google's name for him) located in the symbols
on the lower right to a street and drop him there (the available streets are highlighted in blue, and you may have to zoom in a
bit to see this). This will bring up the camera view that you can move around on with your mouse by dragging the image, using the scroll wheel
in the upper left or the arrows on the street, or you can even relocate the pegman on the expandable overview map on the lower-right.
The green pointer beneath the pegman on the map shows the direction you are currently
viewing. To change the direction of the view click on the scroll wheel or drag the view with the mouse.
Click in the upper left or in the upper right to close Street View and return to the map.
If you find something in Street View you want to email to someone, click on the 3 little vertical dots in the header in the upper left and chose
Share or embed image the URL for the current view (even if you scroll around) is highlighted. (At this point I choose Short URL.) You can
send it from that screen or just press Ctrl-C to copy it and you can paste it into an email. That is how I saved the links on this page.
(If you have the Adblock Plus extension installed in Firefox, you may get a Block tab overlaying
Link . To disable this, go to Adblock Plus Preferences on the Tools
menu and uncheck "Show tabs on Flash and Java."). Here and there on my website when I want to show an actual location I use this link.
You will usually see it listed simply as Street View.
Google tried to photograph places in good daytime lighting, but occasionally you will encounter sun glare, and other unexpected sightings.
Look at these . . .
Please note ==> Some of the Street View URLs may not display the same as when they were originally created. I have tried to make
corrections to any that I can.
House on fire
(Street View doesn't go in front of the house any more – see on YouTube)
The Google photography vehicle was driving down a street in a suburb of Little Rock, AR, when they encountered a burning house—which they filmed.
Las Vegas Strip
Most of the photographs are done in the daytime, but in Las Vegas they did some shots of the "Strip" (Las Vegas Blvd) at night,
when the lighting on the casinos and hotels is more dazzling.
On our last trip to Las Vegas we stayed at the
Mandarin Oriental, the tall
building in the center of this picture. It is on the Strip near the Monte Carlo.
Google Street View World
Here are hundreds of amusing scenes photographed by Google from around the world.
Click on the image or The words in the caption! to pull the Street View sighting up in Google Maps.
At the bottom of the page click on for more.
If you are going to travel to a new place Street View is a good way to get a visual impression of your destination. You can even get driving directions.
Driving to a vacation resort
Patti and I booked a vacation at the Grove Isle Hotel & Spa
on this island off the coast of Coconut Grove, Florida, and after
getting the driving directions from the airport to the hotel, I decided to look at the intersection I would be turning on when I got there.
(I took many photos at this hotel, which I believe is now
closed.)
*
I created my instructions and the icons here before I discovered that Google had already done it more thoroughly.
Fight spam
Please note: This section was written when I used pop3 email in Outlook Express. Now I use Gmail, which has excellent spam filtering,
so I don't need to do many of the things I describe here.
Spam—unsolicited, junk email—accounts for more than 80% of all email traffic (this 2010 article says 9 out of 10 emails are
unsolicited), and if you are like me you don't want to be overwhelmed by come-ons for low mortgage rates and herbal Viagra every time you check
your email, so you may need to do something to deal with this.
NEVER reply to spam. This just increases your chance of getting more spam by verifying your email address is legitimate.
I have found it is safe and effective to use the "Unsubscribe" link in an unsolicited email from a business whose name you recognize.
Why do we get spam?
There are several ways your email address can get obtained for spam abuse.
Software generated spam lists
Spammers can use software that simply inputs or builds a list of names or words, and combines each of these entries with a particular mail
server's domain to create email addresses ('anyname@somedomain'). Many of these addresses will be returned as undeliverable, but
spammers can live with that, since many more will get through. You can see this pattern of construction if you look at the addresses in
the To: line and find a sequence of names that are alphabetically close to yours followed by the same domain. One interesting solution to
this spam problem that I heard and liked was to have ISPs charge a fraction of a cent for every email that is sent. This could be easily
absorbed in your monthly charge for a private email account. For spammers, this would add up to big bucks on their bulk
emailing, enough to make spamming not profitable.
Posting your email address on web documents
If your email address appears on any Internet document it can be found by a spider, a program that visits websites gathering
information, typically for search engines. Spiders used by spammers to collect email addresses are commonly called "spambots". There may
be times when you want to leave your address on a web-based guestbook or newsgroup posting so that someone reading it can still contact
you. One safe way to do this is to alter your address in an obvious way, for instance to spell your email address as
name(at)domain.com with instructions to replace (at) with @ for the correct address. Spambots won't even
see your altered email address on a website since it doesn't contain @.
Leaving your email address when ordering online
You risk spamming any time you provide your email address when it is needed to complete a form on a website, for instance, when placing an
online order. If you don't want to receive email as a result of this transaction, don't use your regular email address, create another
one at Hotmail or Yahoo to be used
only for the times when you are required to furnish one. Let this address be spammed and don't use it for personal email. If you do want
to check your spare address occasionally, for instance for shipping information on an order, Hotmail actually has pretty
good filters to direct spam to a special Junk Mail folder.
Inadvertently requesting email when completing an online form
Sometimes you may want to place an order, register software, or sign up for something online. There is often a checkbox at the bottom of
the form indicating you are agreeing to receive email. If this is left with the check-mark in it you have just added your email address to
a spam list, which may sometimes even be sold to other spammers.
Uncheck this
Please send me information about events
and special promotions
Through your ISP
Your email address might be available to spammers through your Internet Service Provider, either if it was provided by them, or if a
spammer has procured the mail server's address-book (this happened to me at work).
Spam filters
You can set up filters in your email software to identify spam when it is received and keep it out of your Inbox. This
spam can be automatically deleted but I prefer to have my filters move it into a temporary folder where I can browse it before
deleting it in case a non-spam email gets mistaken for spam. When that happens, I just add the sender to my rule of
sources to accept email from.
Your email server may run software that identifies spam and puts a label in the subject that enables you to use a filter to
trap it. Some email software like Mozilla Thunderbird have good built in spam filtering. If you don't have something like
this you can create your own filters to catch spam. To set them up look for Filter or Rule options in your email
software. Every email you receive will be compared to the conditions specified in each of these rules in the order you list them.
Over the years before I had SpamAssassin I tried many combinations of the rules listed below and a variety of folders to
have email go to automatically, but ultimately I trimmed it down to two folders, Inbox (for good emails) and Spam?
(for questionable emails),
and several of the following rules.
For identifying good emails (these rules should be set to run first) . . .
Where the From line contains specific addresses that you will accept email from
I have a 'whitelist' of senders who are not in my address book but whose emails I
want to receive, such as some mailing lists I am on. I created this as the first
rule with the instruction "Stop processing more rules" and only emails from known
sources will go into my Inbox.
You can also do this in reverse.
After copying all the email addresses from the address book click on Options
and select 'Message does not contain the people below'. This rule will identify
emails from unknown sources, and under Actions specify, 'Copy it to the Spam? folder.'
Where the Subject line contains specific words or phrases
There are certain words in the subject of an email that I identify as something
that a friendly unknown emailer would say to me, like the name of my hometown, or
an interest in "music". When these are encountered they are given the instruction 'Stop
processing more rules' and they will be accepted into my Inbox.
For identifying spam . . .
Where the Subject line contains specific words or phrases
This is one of the most used rules. Emails whose subjects contain words like
"viagra", "inkjet", "mortgage" . . . are usually spam. You will notice the spammers
using different spellings of these words (like "V*I*A*G*R*A") to get past these
filters, so you may have also to add altered spellings to your list of words to trap.
The previously mentioned Spambusters
article makes some interesting points about the spam probability of certain words.
Where the Message body contains specific words or phrases
You can also set up a rule to monitor for words or phrases in the message itself, but that limits what your
regular email correspondents can say in their emails, so make sure you screen out the good emails before this gets processed.
Where the From line contains specific addresses that are spammers
Create a 'blacklist' of known spammers. If you regularly get spam emails from a
particular party, you can trap them automatically. In Outlook Express you
can also add them to the Blocked Senders List.
Where the From line contains specific words
Many spammers make up a title from the subject (like a business would) and put it in the From name. Filter out emails that have words like "mortgage", "degree", "request", or "cheap"
in the name section.
Where the To or CC line contains specific addresses
Sometimes I might get spam addressed to "Friend" <MyEmailAddress>. I assume the reason for this
configuration is that my email address has been acquired somehow, probably by a spambot, but not my real name,
which always goes out with email I send.
Where the To or CC line does not contain "name@domain" (your actual email address)
When you examine a spam, frequently you won't find your email address in the ' To:' setting, but instead
you will see the name of a mailing list. Be sure you have your 'good' mailing lists specified on you acceptable rule before
this rule is applied.
With each of the above rules you want to be sure you have the "Stop processing more rules" instruction as the last
action to perform after it has acted on what it has filtered. Otherwise, the rest of the rules will continue to be
applied to an email, and it may end up having another action performed on it.
Some email software also have a Blocked Senders List that you can set up to automatically move emails from frequent spammers to Trash.
Popup ads can be almost as annoying as spam. When you visit a website you don't want the content of the site to be blocked by some unsolicited
advertisement that overlays the page. You are targeted for many of these ads based on your web viewing, and information about you is gathered by
spybots installed on your computer and transmitted back to
spyware vendors like Bonzi Buddy, Comet Cursor, and Gator. Besides being an invasion of your privacy, having these data-mining
components running in the background can also slow down your computer. The best way to remove these spybots from your system is to run some of
the freeware solutions regularly (see WinPatrol, Spybot Search & Destroy, and Ad-Aware below). To
keep popups entirely out of your browser you can use a web-browser like Firefox, Avant, or Opera that have settings for
that, or in Internet Explorer you can add the Google and Yahoo! toolbars which both have great popup blockers. The Yahoo! toolbar also has
an Anti-Spy button that you can run on demand.
Popups are not always just used for ads. Sometimes they can be an amusing and very suitable way to present some content. I use them in many
places on my website, some for effect, for instance, the
View of the World from 9th Avenue link on my Humor page,
some for links where the original content on another website was displayed in a popup, as in several of the Boston.com links under my Big Dig section. I never have unrequested commercial popups originate from my website,
so if you have popups blocked in your browser (as I do) you can safely enable them for my site.
Spyware killers
These are the applications that I use to keep my PCs relatively spyware free.
WinPatrol monitors for spyware, web attacks, and parasites that try to install themselves on your
computer. When spyware tries to update your Registry or put items in your Startup you get
the option to stop this in a popup alert.
This comes as an icon on the Yahoo! toolbar. It does an excellent job of allowing you to remove
identified spyware and cookies. You can also run it directly from its default install location,
'C:\Program Files\Yahoo!\YPSR\ypsr.exe' (put a shortcut icon to it on your desktop).
A scanning utility for known datamining, aggressive advertising, and tracking components, SpyBot
detects and removes the worst that the Internet and shareware/freeware have to offer.
Detects and removes spyware of different kinds from your computer. Some spyware is hidden, and
some is obvious. If you see new toolbars in your Internet Explorer that you didn't intentionally
install, if your browser crashes, or if your browser start page has changed without your knowing,
you most probably have spyware.
Prevent your browser from accessing undesirable sites
Before Windows uses a URL on your PC it looks in the hosts file (the computer's DNS resolver) to see if you have a
"redirect" specified for that IP address or host name. If for instance you get tired of seeing ads for DoubleClick on webpages
put this entry in your hosts file to loopback locally when it encounters it and you will get a placeholder instead of an ad.
# Put this line in your hosts file . . .
127.0.0.1 ad.doubleclick.net
The XP location of the hosts file is: %SystemRoot%\system32\drivers\etc\. (Please note: this requires a
reboot to take effect.) I used this technique to trap a bad host name that a virus inserted into each of the thousands of .html files on my PC,
so if one of those webpages tried to send my PC to the bad location it was redirected to my PC.
Web beacons are images on websites that are used to transfer information about a site's visitors by activating a
script on a remote server. When the image is loaded into the web browser it sends information such as the visitor's
IP address and type of browser to the server. If you consider this an invasion of privacy, disabling cookies will shut
it off. Commercial sites use web beacons to track visitors, and many personal sites (like mine) have counters that do
this. If you want to see an example of this type of tracking go to the bottom of my main page and click on the hit count, which will take you to the remote
server and show what kind of information is typically gathered. Unfortunately, spammers can put transparent '.gif'
images in unsolicitied emails as web beacons, and if you open up the email the transmission will validate your email address.
PC or Mac? Windows or Linux?
I have a PC running Windows at home, and that seems to be the target of this spyware activity.) According to Mark Morford,
an SF Gate columnist, Macs, and PCs on Linux, are immune to it. If it gets too annoying maybe I will install Linux,
or consider switching to Mac. My website, where you are now, runs on a Linux server, so it seems pretty resistant to virus attacks.
The online world is full of hoaxes of various kinds. Most of these are harmless but it
is best to recognize them when you encounter them so you don't waste your time (and the
time of others, and Internet resources) by unknowingly spreading and perpetuating them.
Two kinds that I encounter a lot are virus hoaxes (I find these annoying)
and urban legends (some of these are pretty amusing).
You may receive an email sometime, perhaps from someone you know, that warns you of a spreading Internet virus and
tells you to look for a specific file on your computer and delete it, and it may also tell you to forward this
warning to others. Before you act on this you should search for the filename in
Google and often you will find that this is actually a malicious hoax being emailed around innocently by
well-meaning people, as in the case of the sulfnbk.exe virus
hoax of 2001, which instructed you to delete a 'harmful' file from your computer. This is what is known as a social
virus, where the damage to your computer is not caused by harmful software but is 'human' inflicted when you
are tricked into doing it yourself, and by forwarding this warning to others you can spread the 'virus' to their
computers. A virus hoax may be totally harmless to computers, like the Good Times virus myth, but it can spread like a virus causing alarm and mistrust of email, which is harmful in
its own way.
Comparitech hoax page – providing information, tools, and comparisons Vmyths.com – computer virus myths, hoaxes, urban legends, hysteria CIAC Hoax Pages – from the U. S. Department of Energy Hoax Busters – the BIG LIST of Internet Hoaxes Korova.com Forums – "Hoax du Jour" sightings, discussion, and other topics
These folklore tales have been going around for decades, since before the Internet and
home computers even existed. Although urban legends may sound like true stories, and
some are, they generally lack evidence to corroborate them, but perhaps since
they are seldom proven to be false it adds to their credibility and keeps them
circulating. A couple of the classic, pre-cyberspace stories that you may have heard are
The Hook,
a thriller favorite, and Alligators in the
Sewers, which many of us believed for years (and possibly still do). A more recent
urban legend, the Tourist Guy,
was supposedly the last photo taken atop the World Trade Center. Even though the Tourist
Guy confessed the
hoax his notoriety continued when he began to appear everywhere.
Mozilla Firefox is the browser I use most, but I also have experience with
Internet Explorer, Google Chrome, and Opera, which is 100% W3C compliant. To download the latest version of any of these browsers click on the
corresponding icon above. To learn more about the Viewable With Any Browser campaign, click on the Any Browser icon. I have it Firefox syncronized between my desktop and laptop (and before I
retired my PC at work), so they look basically the same with the same bookmarks.
Firefox is an open-sourced, tabbed browser that also has a lot of nice features, including a built in Google
search bar and a popup blocker. I also like the way Firefox handles Favicons. In other browsers that show these website icons in the address bar you have to bookmark the site
to have the icon appear, but in Firefox you will see the icon the first time you visit the site.
Firefox settings
One of the coolest things about Firefox is the easy access provided to all your browser settings not accessible from the Firefox
options dialogue. In the address bar type in about:config
and it will display a page of the settings. Double-click them to change them. True/false settings will toggle and settings with values
will prompt.
I disovered this when I Googled about how to make my browser check for a new page every time it visits a site.
browser.cache.check_doc_frequency
0 - Once per session
1 - Each time (my choice)
2 - Never
3 - When appropriate/automatically (default)
Back up your localstore.rdf file
I keep a copy of localstore.rdf in a backup folder after I have Firefox configured just the way I want it. Periodically Firefox loses it's
customized toolbar settings, so I close Firefox and copy this file to the profile folder, then when I open up Firefox again I have all my
toolbar customizations back. There is more on this at Corrupt localstore.rdf.
New Tab button
You can create a New Tab button by editing the localstore.rdf file in the profile folder. Insert new-tab-button where you want to locate
it (you can relocate this with Customize in the GUI). For instance, I wanted it immediately after the URL on the navigation bar so this
is what I have:
Favorite Firefox extensions
Firefox is easily customizable with add-ons call "extensions." These are some of the ones I like the best. The titles
are links to the Firefox add-on page for the extension.
Old Default Image Style
Firefox now displays top-level images, i.e. images that are alone and not in a webpage, with a black background. To get back to a white background
install this extension.
Googlebar Lite
This replaces the Google Toolbar, which stopped being available after Firefox 4. Googlebar Lite offers a lot of the same features
I liked, including allowing search results to be displayed in a new tab, putting search history in a dropdown from the search
box, and showing the current search words to be clicked on to find on the page. I installed the Googlebar Lite toolbar and in
Customize... dragged it to the 'empty' area of the top menu bar and don't display the toolbar.
FlashGot
This is a download manager that I use primarly to capture and save videos on webpages.
ViewSourceWith
This extension lets you edit the HTML source of the page on display with the editor of your choice. It's really useful if you are
maintaining a website like mine.
Online Convert
This plugin adds an option to the webpage context menu to download and convert webpages, links, videos,
documents, and images. I particularly like the ability to rip an MP3 off a YouTube video to put on my smartphone.
Browser tips
Bookmarks Toolbar
Browsers provide a toolbar for quick access to specially bookmarked sites, called the Bookmarks Toolbar. Links are saved to this toolbar using
the same method you use for regular Bookmarks or Favorites. To set mine up, I first eliminated the links that came preset in the browser (these
were useless to me) and created folders (with names like News or Maps) using Manage Bookmarks or Show All Bookmarks (Firefox) or Organize
Favorites (IE) to contain the collections of links I add. These folders are all I see on the toolbar, and clicking them gives me a menu
type list of the links in them.
Shrink your toolbars
I like to make the content area of a webpage as large as possible by minimizing the space taken up by toolbars. After using a browser for awhile
you shouldn't need the text next to each button to know its function (you can always get this from the button's popup Tooltip text) so you
can set it to just show the icons, and if your browser allows you to remove buttons you don't use regularly (most button commands are available
on menus) it will make the toolbars even smaller. If you choose the Small icons setting it will also reduce the height of the toolbars.
After you have trimmed them down this way, some browsers allow you to combine more than one toolbar on the same horizontal line. These toolbars
are dockable, and if you move a toolbar to the same line as another toolbar they will align themselves. To move them up or down, set them to
"unlocked" and use the mouse to grab the move handle at the left end of the toolbar. I also take components off the Google toolbar like the
search box and drag them to the gray area on the right half of the menu toolbar, and then I stopped displaying the Google toolbar.
Multiple browser windows
There are many times when you may want to have more than one webpage open at the same time. You may be on a webpage
and want to see another webpage without having to remember or save the current page's address to be able to return
to it later, or maybe you like to have multiple pages open concurrently in your normal web viewing. To do this you
just start up another browser window (File » New, or
Ctrl-N). Tabbed browsers give you a tab in the browser for the new window, non-tabbed browsers show another instance
of the browser on the Windows taskbar. Browsers are usually configurable to start the new window with your default
home page or the current page or even a blank page.
Disabled Back button
Some websites disable the Back button () on your toolbar so you cannot return
to the previous page. You may also visit a website that immediately redirects to a new page, so when you click on it returns to the page that reloads the new page again, basically trapping you there.
To get around this situation display the drop-down list of previous websites for this browser session and click on the page you want to return
to. In many browsers you can see this list by clicking the symbol located near the Back
& Forward arrows on the toolbar ( ). This tip does not apply when a link starts up a new browser window to display the page.
Get last-modified date of a web document
Some browsers have a menu option that will show you the last time a webpage was updated (View » Page Info) but others do not. You can create this option yourself with a little JavaScript. For example, in Internet
Explorer create a Favorite (add any webpage and modify it afterwards in Organize Favorites) with the setting for the URL as
"javascript:alert(document.lastModified)" and a meaningful title like "Show modifed date". When you click on this Favorite it will show you the
date and time the current webpage was last changed.
Regional Internet Registries - see also Domain info
ARIN – American Registry for Internet Numbers RIPE – Réseaux IP Européens APNIC – Asia Pacific Network Information Centre LACNIC – Latin American and Caribbean IP address Regional Registry
Broadband is touted as a high-speed Internet connection (see the "bare-bones" definition of broadband
in the above article), but as a consumer, especially if you are one of millions of customers of a
large, impersonal company, watch out or you may not get what you are lead to believe you are
paying for. It took several years for this to become clear to me, but in the end, through my own
persistence and with very inadequate help from my Internet Service Provider, AT&T, I
reached a satisfactory conclusion.
In the beginning, very fast!
Since 1998 our house has been connected to the Internet over a cable-modem via our cable-TV provider, MediaOne, which later became
AT&T Broadband, then Comcast. Most of what I am describing here occurred while it was AT&T. In the beginning the
connection was extremely fast, and using some download tests I estimated that it was 15-20 times faster than a 56k dialup connection, somewhere
in the range of 800-1000k. Over the years it appeared to slow down a little, and in my experience with ISPs this often occurred when they
overloaded their hardware with new accounts, but it was generally resolved with upgrades to their equipment.
Slower and slower . . .
However, this did not seem to be the case with AT&T. I began to regularly run a bandwidth speedtest and was surprised to see that I was
connected at around 100k, sometimes even slower, but never faster then 250k. In the fall of 2001 I called
AT&T tech support and their technicians ran tests on my connection and reported that everything was OK. They
said there were some problems at some locations in New England that were being worked on, so I was hopeful that I
would benefit from that. After a month or so I had detected no improvement, so I called again and technicians
were sent to the house several times to check all the cabling between the box on the pole outside and the
cable-modem connected to my PC. Everything was in proper working order so they said the problem must be outside my
immediate area. A neighbor on my block said he also had this same slow Internet connection, which supported that
conclusion. Once again I was hopeful that this would be fixed, but over the next several months nothing changed.
Frustration
I began to call AT&T regularly (I live in Massachusetts but these toll-free calls were answered in
Newfoundland, Canada) to remind them the problem still existed and that I wanted a solution. I was
asked to run a series of trace-route tests on several occasions and email them the results. These
tests showed the speeds over the entire path that my browser's request to a remote server took and
they also showed that everything was working fine. About 6 months after my initial call to AT&T
one tech support person told me that my speed was within their "acceptable" range, the low end being
40k, slower than a dialup modem. I began to realize that they really saw no need to help me
improve my connection speed, and at this point I considered switching to DSL, but instead I became
more determined to achieve the truly faster speeds available on a cable-modem. I felt very frustrated
until another neighbor told me his connection with AT&T was fine, and it turned out that though we
both rented our cable-modems from AT&T, he had a new Toshiba modem and I still had the same
LANcity modem I got from them in 1998. He disconnected his modem and brought it over to my house,
where I hooked it up and found to my amazement that I was connected at 1000k! So, all along the modem
was the culprit. I called AT&T with this news and requested one of the new modems, only to be told
that since my old one was still functional (by their definition of functional) they would not
replace it. (My anger was reaching new heights!)
High speeds again!
I decided to purchase my own cable-modem and stop paying $10/month rental to AT&T for an inadequate one, a decision I
should have made years before. Looking in the newspaper I saw an ad for the same Toshiba modem on sale for a great price with a
manufacturer's rebate. I bought it, returned the old modem to AT&T (which I hope they won't try to give to someone else),
and now I am connected at 1000k again!
I want to spread the word about this to help others, who are being taken advantage of by AT&T and
other ISPs, to help them get the true broadband speeds they are paying for. Shame on you, AT&T!
(By the way, since this was written I have gone through several modems and routers to keep my speed up to the max.)
Internet connection speed
We complained to our Internet provider (Xfinity/Comcast) that our Internet speed seemed too slow in the house. They sent a technician and he
explained some new things to me. The line comes into the house and connects to a modem/router, which sends out two frequencies, a 2.4 gb and a
5 gb. They say that the 5 gb band is stronger but has a small range and the 2.4 gb band has a weaker connection but a larger range. If the
device connecting over WiFi (phone, TV, laptop) has a dual-band card you can pick the 5gb band for the fastest connection. Our modem/router is
in the basement and we were told to get something called pods to put around the house to increase the range of the 5 gb band. My desktop PC
apparently only has a single-band card and even though it is hard-wired it connects to the 2.4 gb, slower band. I guess time to get those pods,
and perhaps upgrade my card.
Downloads
I frequently download software from the Internet, sometimes utilities that help me in my everyday computing
needs, sometimes upgrades or fixes to software I am currently using on my PC.
WinPatrol monitors for spyware, web attacks, and parasites that try to install themselves on your computer. When spyware tries to update your Registry or put
items in your Startup you get the option to stop this in a popup alert.
A scanning utility for known datamining, aggressive advertising, and tracking
components, SpyBot detects and removes the worst that the Internet and
shareware/freeware have to offer.
Detects and removes spyware of different kinds from your computer. Some spyware is hidden, and some is obvious.
If you see new toolbars in your Internet Explorer that you didn't intentionally
install, if your browser crashes, or if your browser start page has changed without
your knowing, you most probably have spyware.
I have this nifty program launch in my Startup folder. It puts a little icon in the system
tray that you can configure to capture specific items that have been minimized to the taskbar.
It is particularly useful for holding items that run minimized whenever you have the PC booted,
for example a calendar, or network connection. These items just take up space on the taskbar and the infrequent
times you may want to go to them you can access them from the popup menu of the Icon Corral tray icon, or even give them their own tray icons.
This is a nice graphic image viewer/converter. It has a very good method of compacting binary storage. I
have decreased the size of many of the GIFs and JPGs on my website simply by opening them up in
IrfanView, making a minimal adjustment to the color with a slider, and saving them.
This program puts a little mailbox in the tray that will poll your email pop account (or multiple accounts) at
specified intervals to see if you have email waiting. It displays a little counter when you have mail
and can audibly signal you (I have mine beep but you can play a wave file). You can launch
your email reader from here or just look at the senders and titles without receiving the mail, and
you can even view the mail contents without removing it from the server.
Set up reminders to occur at a specified dates and times, and a little message
dialogue pops up to display your own text for each alarm. Alarms can be set to run
programs or send email, and there are snooze and very sophisticated repeat features.
This MDI (Multiple Document Interface) ASCII editor provides language-specific color-tokenizing, with support for many
programming languages. I use it when I edit my webpages. You can toggle between open documents by clicking on
tabs, which is great when you want to copy and paste from one document to another.
This English dictionary and thesaurus from Princeton University is very useful to have when you don't have access to a print version, like when you are
traveling with a laptop. It is freeware and there is a purchasable upgrade, WordWeb Pro.
Tweak UI - (freeware) - download from Microsoft
(also on the Windows 98 CD in the \tools\reskit\powertoy folder)
This Microsoft program is part of the Power Toys Set from MS and it is very useful for configuring the Windows user interface, like eliminating the
'Shortcut to...' prefix Windows like to add to shortcut icon text, or rebuild your
icons without having to mess with the ShellIconCache file.
I had a virus that hijacked Google links on my PC, so that when I searched with Google it displayed the links but when I clicked on one I was redirected to another site.
After a successful search I found a recommendation for this program. I downloaded it and ran it, and not only did I get Google back but I think
my PC's performance has improved. FYI: I was told to use this site for the download because ComboFix might be offered elsewhere
but not be the correct version. I have used it many times over the years and always found it reliable. On subsequent runs of ComboFix it will often tell me
there is a newer version available and offer to download it before running it. To always have the latest virus definitions
I do this each time.
When I created my website in 1994, there were not many tools available, so I focused on learning HTML. I accomplished this primarily with books, references I found online, and using my browser's View » Source menu option to see the HTML
source-code for the current page in the browser (ah, so that's how they do that). Today, in addition to there being WYSIWYG (What YouSeeIsWhatYouGet) webpage software like Dreamweaver and Microsoft Frontpage, many Internet providers even
supply templates and the methods to format your site online. Being a programmer, I still prefer webpage the HTML directly to get my results, so
my website has grown from that perspective. I edit my code using Textpad, an MDI
(Multiple-Document-Interface) text editor. I developed the site on an IBM-compatible PC running Windows software, but this shouldn't affect its
viewing on a Mac or on a PC operating in a non-Windows environment. Currently my website
is hosted on a Linux server so I have made sure it is all case-sensitive.
When I make a change to my site that involves trying out a new technique, or even when using tables for
alignment, which can be tricky sometimes, I review the results in a variety of browsers with different text sizes before uploading it to the
server and making it publicly available. Sometimes I have to make adjustments to the code to get things to look the way I intend, but I try to
stay in compliance with the current W3C HTML specification. I admit I do fudge
this occasionally, but only if my code is supported by the browsers of a vast percentage of users. It's been my observation that both Firefox and
Internet Explorer are guilty of doing
some things that are proprietary to their own browser. When I encounter these kinds of things that work in only one browser, if it has a
neutral interpretation in other browsers I may still use it, but if it has a negative consequence I won't. I have not made any effort to
comply with PDA or cellphone technology, so I'm not sure how my site displays on these portable devices (yet), but I do try to verify that my
site does not require using a specific web browser (Internet Explorer, Firefox, etc.) to function well. See my Web browsers section for for more information about specific browsers.
Style
The format and content of the web have evolved over the years as more and more people in the general public have
gotten online. When the Internet was primarily used for non-commercial research purposes at institutions like
schools, libraries, and the government, text based browsers were the norm. Then Marc Andreessen and others at NCSA (National Center for
Supercomputing Applications at the University of Illinois) created Mosaic, a graphical browser, and the format of
web content changed forever. Now that many workplaces are online and PCs are being sold with Internet access
pre-loaded, websites are advancing to even more sophisticated levels (check out my
Java and JavaScript
pages).
Graphics
I recommend you keep the graphics that load automatically with your page to a minimum to decrease the time it takes the
page to be completely loaded. If you want to provide a large image, make a smaller version of it and put it on the page
as a thumbnail that can be clicked on to download the fullsize image. When you see an image on a site that you'd
like to use on your own homepage, point the mouse at the image and click with the right mouse button, and take
the Save as... option from the popup-menu to save it on your PC. Be aware of any copyright or intellectual
property considerations, but in general, there is not a lot to be concerned about on personal homepages.
Tables
You can use tables (the <table> tag) to divide up sections of your page into rows and cells to give you
greater control of aligning the elements you put there. This is compliant with the non-browser-specific philosophy. Tables are containers for rows (the <tr> tag), and rows are
containers for cells (the <th> and <td> tags). In cells you
can use the align and valign attributes for text and image alignment . When possible try to use width="__%" and height="__%" in tables instead of specifying an exact pixel size, since you don't know what size monitor and resolution the
page will be viewed on. I use tables on most of my pages for layout (when looking at a page, click on View > Source). They
are usually invisible because borders are turned off and they don't have background colors.
Tables can be nested within other tables. In the following example there are four tables. I gave three of them background colors so you would be
able to see them. Of these three, the left one has two rows, and each row contains only one cell. The middle table has three rows, and each row
contains three cells, which use the alignment attributes (valign for vertical, align for horizontal) to locate the text within the
cells. The right one has one row and it contains two cells. All three of these tables are contained in a parent table that has one
horizontal row with three cells, each cell holding one of the three colored tables.
top left
top center
top right
middle left
middle center
middle right
bottom left
bottom center
bottom right
The HTML code below produces the above illustration. The tags are indented when they are nested in
another tag's structure (this is entirely optional), with the level of indention showing the level of
nesting. The first <table> tag and last </table> tag are the beginning and ending of the parent table
definition. You can see the nesting of the other tables within this definition.
Another useful place for a table is when you want to control the wrapping of text that is
placed next to another element, like an image. By default, if the text is too long to fit
on one line it will wrap to the next line, which is below the image. To prevent this,
create a table, put the image in one cell and the text in an adjacent cell, and the text
will only wrap within its cell, which will keep it next to the image. For examples of
this text wrap control technique, see my Search Tips where
I have used it on the descriptions next to my search examples. It's also very useful when you want to display captions
beneath photos like I do here with my class pictures from elementary school.
Fonts
I prefer to let the user's browser handle the fonts. On my pages, I primarily use the <font> tag to change the relative
size of the text or the color. Specify size="+1" to increase the font size by one relative unit and
size="-1" to decrease the font size. The value for size can be 1 through 7. I often review my pages by
changing the settings for fonts and sizes in my browser to get an idea how the page will look in a variety of font settings. You
should do this to see how your text wraps within the cells if you use tables.
JavaScript
JavaScript is an object-oriented scripting language that works with HTML to make webpages dynamic. One of its main uses on my
website is to make my buttons depress when they are clicked on. To see examples and learn more about JavaScript, go to my JavaScript page.
CSS - Cascading Style Sheets penceland.css
– this is the CSS file I created that loads with each page on my website, holding classes I use for a variety of things
including . . .
The gradient I use as the background image on all my webpages (varies by browser)
To control the font and color attributes on my links.
Move your mouse over the following link types to see these link attributes.
I put the name of the class I use after each so you can look them up in my CSS file.
Navigation links including menus and
top of section or page—class="navigation", class="menu", class="topofpage"
The date display at the top of my first page,
Making the borders around my code samples
Words of caution . . .
Watch out for settings you put on the default link type because they will be applied to image links. I found this
out the hard way when I changed the background color and it was shown on all my images when I went to click on
them.
I used to try to make the hover attribute on links have a bold font, but even when I decreased the text size on the hover setting (font-size: 90%;
height="1"2px) I was unable to keep certain letters from noticeably changing size when they switch to bold and causing movement in the text
(note the difference between abc and ABC),
so I have given that up in favor of just changing the color. Combinations of letters can sometimes accomodate each other in their size changing—xyz gets smaller and tuvw gets larger—but when
put together tuvwxyz they balance each other nicely.
Using a transparent file for spacing
A really interesting layout tool is having a 1x1 pixel transparent .gif file to use as a spacer. Mine is called clear.gif (right click and choose Save Link As... from the
popup menu) and I use it extensively throughout my website (view the source of this page and
search for "clear.gif" to see). The way to use it is to place it where you need to define some space between things and set the height or width to whatever you need to create the empty space. For example, if
you want a blank line that is more or less than what you get with the <p> tag, use the spacer file between two <br> as in the example below.
Using the <p> tag for line spacing produces this:
A line of text . . .
A line of text . . .
A line of text . . .
Using the clear.gif file for line spacing produces this:
A line of text . . .
A line of text . . .
A line of text . . .
The code for the above looks like this:
A line of text . . .
<p>
A line of text . . .
<p>
A line of text . . .
The code for the above looks like this:
A line of text . . .
<br><img src="images/clear.gif" height="5"><br>
A line of text . . ..
<br><img src="images/clear.gif" height="5"><br>
A line of text . . .
Blinking text
HTML used to have a <blink> element but it has been deprecrated and you have to create it yourself. Here's how I did it with some Javascript and HTML code.
# Javascript
function onload() {
JSBlink();
# Do any other onload stuff
}
function JSBlink() {
var blinks = document.getElementsByTagName('JSBlink');
for (var i = blinks.length - 1; i >= 0; i--) {
  var s = blinks[i];
s.style.visibility = (s.style.visibility === 'visible') ? 'hidden' : 'visible';
}
window.setTimeout(JSBlink, 1000);
}
# HTML
<body onLoad="onload()">
<JSBlink>this text will blink</JSBlink>
Music
Music can be nice on a website, but it is not always desirable. Sometimes the page may be viewed in an environment where music might be out of
place, like a corporate office, or a family home late at night when someone is sleeping, so make sure the user has the ability to shut it off.
Also remember, if a visitor is put off by music on your site he or she might not return.
(Yusef Lateef - Love Theme From Spartacus)
Place this code where you want the audio control
<audio controls src="songname.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
// To automatically play the song when the page loads use the autoplay attribute
<audio controls src="songname.mp3" type="audio/mpeg" autoplay>
Using cookies
Cookies, small text files that store stateful information, provide a great way to communicate between scripts or different instances of the same
script, and you can even interact with another language that supports cookies like JavaScript.
# Read a cookie
use CGI;
my $q = new CGI;
my $cookie_value = $q->cookie('cookie_name');
# Write a cookie
use CGI;
my $q = new CGI;
my $cookie = $q->cookie(-name=>'cookie_name',
-value=>'cookie_value',
-expires=>"+1d");
print header(-cookie=>$cookie);
I wrote one multi-screen Perl application that was going to be linked from an unknown webpage, and I wanted to have an
Exit button on the first screen that would return to the referring webpage. The environment variable 'HTTP_REFERER' holds
the URL of the previous webpage, but if you were returning from a screen within the application it would point to that page.
To make sure this button would always exit the application I saved the original referer value in a cookie to be
retrieved on returns to the first screen.
Here is how I did this.
use CGI;
my $q = new CGI;
my $header_printed = '';
# Check for existing cookie containing referer URL
my $exit_link = $q->cookie('application_name');
if (!$exit_link) {
# If first visit to page create cookie with no expiration date to expire at session end
$exit_link = $ENV{'HTTP_REFERER'};
my $cookie = $q->cookie(-name=>'application_name', -value=>$exit_link);
print header(-cookie=>$cookie);
$header_printed = 'y';
}
if (!$header_printed) {
print $q->header();
}
# (this is an abbreviated version of the print method, without escaped quotes)
print "<a href="$exit_link"><img src="images/btn_exit.gif" title="Exit" width="120" height="20" border="0"></a>";
Build a list of all files in a directory
In several of my Perl examples above I use this technique to make a list of files in a directory on the server. Once you have this list
there are many things you can do with it, including getting specific information about each file.
# Load an array with the names of the files
my @dir_contents = '';
my $work_dir = "directory-including-relative-path";
opendir(DIR,$work_dir) || die("Cannot open directory $work_dir!\n");
@dir_contents = sort readdir(DIR);
closedir(DIR);
# Make a list of the name of each file from the array
my $files = '';
foreach $filename (@dir_contents) {
# Replace certain characters with entities for html display
$display_name =~ s/&/&/g;
$display_name =~ s/\//⁄/g;
# Get the file size
my @stats = stat($work_dir.'/'.$file);
my $filesize = int($stats[7]/1000).'kb';
# Add the file name and size to the list to be printed
$files = "$files$display_name - $filesize<br>";
}
Validate a URL
Here is how to check the accessibility of a file on a remote server.
# Set up the user-agent
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
# Check the link
my $link_url = "http://www...";
my $response = $ua->get($link_url);
if $response->is_success { # Link is OK
...
}
else { # Check specific codes on bad link
my $rc = substr($server_response,0,3);
if ($rc eq '400') { # Bad Request
...
}
elseif ($rc eq '401') { # Unauthorized
...
}
elseif ($rc eq '403') { # Forbidden (love the sound of that)
...
}
elseif ($rc eq '404') { # Not Found
...
}
}
Using Backticks ( ` ` ) to execute and capture output
I was working on a project where I needed a way to pass information from a called script to the calling script. In this example script1
calls script2, which executes and formats a value to be used in script1. My project was much more elaborate than this but this is
the jist of what I did.
# Script1: use backticks around the perl command to execute it
my $result = `perl script2.pl $arg1 $arg2`;
# $result has a value formatted in script2...
# Script2: output a value to STDOUT where script1 can retrieve it
my $result = (do something to produce this...)
print $result;
exit;
Closing a browser window
I had an application that loaded a list of records on a screen that gave links to another script which ran in a new tabbed
window. After the user was finished using this second interactive script he would click on a submit button and I wanted to return
to the list of records without reloading them (which a re-direct would have done)—in other words, close the tab. What's on
the screen at this point is the webpage that was just input to the script. I just replace this with a fresh, empty webpage that
closes on load.
Please note—if you run this on the only webpage on a browser it closes the browser.
# The header has not been printed at this point in the script
print "Content-type: text/html\r\n\r\n";
print "<html><body onLoad='javascript:window.close()'></html>";
exit;
Break out of an if statement using 'last' logic
Sometimes you may have a large if statement and want to exit out in the middle. The 'last' operator only works in loops. You can
create this by putting the if statement in a named loop.
FOO: {
if (logic test) {
do something here
do something here
if (another test) { # Want to exit here
last FOO;
}
do something here
do something here
}
}
Open a URL in a new window
I had an application that needed to open a URL in a new tab but not close the existing window. This works fine in all browsers I
have tried, but for security reasons IE won't let a new window receive focus unless you have "Always switch to new tabs when
they are created" checked.
# Redisplay the current window here, then...
print "<html>
<head>
<script>
function open_win() {
var new_win = window.open('http://www.somename.com');
new_win.focus();
}
</script>
</head>
<body onload='open_win()'>
</body>
</html>";
Favicon (Website icon)
A nice distinction for a website to have is its own URL icon. Create a 16x16 .gif file named favicon.ico
, and after someone bookmarks your site in most browsers when they visit your site again they will see this icon in the Address area of
the browser. In the browser toolbars or menus your icon will appear next to the website title, which really makes it stand out (bookmark any
page on this site to see what I mean). Your website icon will also appear on the taskbar or desktop if a link to your site is placed
there. Another way to achieve this is to put a line of code in your <head> section:
One little quirk about this icon is the way it is stored in the cache. If the user checks the box for Delete all offline content when
deleting temporary Internet files your icon will also be deleted from that PC, and to restore it requires your site to be bookmarked again.
Whenever I discover that a site I want to link on one of my pages has a favicon I try to show it next to the link, giving it the same
distinction for which it was created. For more information see:
Here are some links to more information on style. I found them interesting though not necessarily the
gospel. They offer good guidance when developing a web site.
As you can imagine, the Internet is full of information on how to develop a webpage. Books are
great but it's nice to have online, regularly-updated, hyperlinked references.
After you've built your site, you have the responsibility of keeping the links up-to-date. Periodically,
you need to check all your links or you will find that sometimes they move and sometimes they just cease to exist (you've
probably seen the "404 - File not found" message). I've planned to create a Java applet to test my links, but until I get it
working, I am using Xenu's Link Sleuth, a downloadable, freeware
program that checks your links, showing errors as it finds them, and produces a report of the results. A nice free online
link-checking service is W3C Link Checker.
Books
Here are several books I found quite helpful. Some may no longer be in print, or there may be newer versions available.
World Wide Web Design Guide – Stephen Wilson (Hayden books)
- the best design guide I've seen; lots of resource links
Hip Pocket Guide to HTML – Ed Tittel and James Michael Stewart (IDG books)
- small binder format with good tag cross-references
Newsgroups
I used to have all the web authoring usenet groups listed here but they don't seem to function in browsers anymore, so I am just providing a link to
Google Groups, where they are offered in a web format.