Helium has a great feature for writers wanting to compete for some extra money. It’s called their Marketplace. Outside publishers ask for specific articles, and offer specific amounts of money for each one. Anyone can write and submit their best article for each requested title. Once the deadline has passed, the publisher will review all the submissions and choose one or more of the best ones for publication on their own website, or even in print. Each selected article will earn the author the amount specified in the original Marketplace request. Most of the publishers utilizing Helium’s Marketplace to solicit articles operate under a pseudonym for various reasons.

As a recent example, a publisher recently requested 4 titles, all related to PC optimization. Each article will pay the selected author $75.00. You can see my submissions, as well as those of the other writers competing for these titles, by following these links:

Recommended: to keep your PC running like it did when it was new, try Diskeeper 10.

On Helium, all articles of a given title are ranked by the other members. This ranking is a bit flawed, because complete novice writers with little command of vocabulary, spelling, and grammar carry as much weight in rating as do those with more season, skill, and talent. Nevertheless, your articles will always appear with the other articles of the same title, ordered by rank. Fortunately, the Marketplace publishers do not select based on rank, but rather based on the articles that came closest to meeting their requirements and specifications.

The deadline for these four titles is Friday, the 25th. It sometimes takes several weeks before the selected articles are announced, but when they are, I’ll report my success (or lack thereof).

{ 0 comments }

I have a new story published on Triond (AuthSpot), with a copy also on Helium. It’s entitled “Poor Old Charlie’s Wake,” and gives a good example of the extents to which my mom, the horse trader, would go to make a living. Here’s an excerpt:

My mother was a horse trader. Not one of those that gives horse traders the reputation for fleecing unsuspecting horse buyers (and less experienced horse traders) by representing three-legged man-hating horses as kid-safe and sound. Still, sainthood will forever elude her.

My family engaged in pretty much any horse-related activity that can turn a profit. We rented, boarded, bought, and sold horses. We supplied ponys for pony rides at parties and events, and horses for the judges at field dog trials. And for a fee, we picked up dead and injured livestock from the homes of distraught owners. Most of these were anxious to get the ordeal of a dead or terminal horse over with as quickly as possible. They were content to have us pick up their animal and leave with as little spectacle as possible. Some were not quite so accomodating.

The phone rang one morning. In a tearful voice, a woman spoke to my mother. “My name is Rebecca Rhoades, and my horse Charlie just d-died,” she sobbed. “I have no idea what to do with him now. Do you pick up d-dead horses?”

No funeral mortician who ever consoled a grieving patron could exude more sympathy and compassion than could my mother, the horse trader. “Yes, we do pick up dead horses. Judging by the pain evident in your voice, you obviously loved Charlie very much. How long did you have him?”

“I’ve had him since I was 12 years old. I grew up with him. He was 10 years old when my Dad bought him for me, but he’s 29, now. Well… I mean he was 29.”

When horse owners called and said their old horse had died, or that they had one that was terminally ill and would need to be put down (euthenized, if you prefer), they occasionally asked what we did with the body. My mother would describe our farm, and explain that we had a special section of the farm where we buried the horses. Few people ever elected to have any kind of marker or memorial. Indeed, nobody ever visited the graves of these horses. Fortunately.

Read the rest of the story >>
I was not quite as happy about this story as I’ve been with the others. It is a bit heavier, more introspective and less humorous than most of my stories. That in itself was somewhat enlightening for me. Putting this story down made me consider how my mom must have felt about some of the things she did. Please let me know what you think about it.

{ 0 comments }

Use Secure Shell (SSH) to establish safe, encrypted internet connections through a firewall. With this method, you don’t have to open additional ports through your firewall in order to access external email accounts, access usenet newsgroup servers, and multimedia streams, which leaves your internal network more secure. This means you don’t have to worry about accidentally surfing to a restricted site (which raises red flags in most corporate environments), and can access sites that have been mistakenly blocked by over-zealous monitoring software. Traffic cannot be analyzed for content by sniffers or packet inspection software because of the encryption.

Access to a Server
You will need access to a server running Secure Shell on the other side of the firewall. If you are connecting from inside your company’s firewall, you could run OpenSSH (an open source SSH server) from your home computer or that of a friend. Installing and configuring an SSH server is beyond the scope of this article, but good documentation exists for OpenSSH on its home site. Just make sure that you open a port through any router or personal firewall for SSH traffic. The default is port 22, but you can use any available TCP/IP port. Alternatively, there are some sites that will give you a free shell account on their server running SSH. SilenceIsDefeat.org will give you one for $1.00 if you use paypal (and signing up is then instant), or the cost of a $0.39 stamp if you register through the mail. Finally, if you pay for a commercial web host, many of them allow SSH connections to their servers.

Connection Settings
You also need to know a little about how you connect to the internet from within the firewall. Most companies allow web traffic through a proxy server so they can monitor the content employees are viewing, and can restrict access to sites with objectionable content. You can examine the internet connection settings for your browser. If you are set for “Direct Connection to the Internet” (Firefox), or no proxy or configuration script is set up (IE), then you probably have unfettered (but not necessarily unmonitored) access to the internet, and would only need to use SSH for privacy. You can skip down to SSH Client. If proxy access is set up in a straightforward configuration, then the proxy settings will be displayed right there. Make a note of the address and port of any HTTP or Socks proxies defined. Some companies use an Automatic Proxy Configuration Script, which makes retrieving the proxy settings a little more difficult. If you’ve already noted your proxy settings, you can skip down to SSH Client. Otherwise, here’s some help retrieving your proxy settings from an automatic script. Copy the following lines into a new blank text file and store it on your hard drive:

<HTML>
<HEAD>
<TITLE>Download a file instead of rendering it</TITLE>
<BODY>
<A xhref=”http://URL.OF.SCRIPT” mce_href=”http://URL.OF.SCRIPT” >Right-Click here and select Save As</A>
</BODY>
</HTML>

Edit this file and replace URL.OF.SCRIPT with the address of the automatic configuration script as defined in your connection settings. Save the file as dl.html. . In your browser, use File->Open to open this file. You should see a single link saying to “Right-Click here and Select Save.” Right click on the link select “save link as” or “save target as” (depending on your browser), and save the file locally. You now have a copy of the Automatic Configuration Script which you can peruse in any editor, looking for proxy information. Often a company will use a number of different proxies for different purposes – you’re mainly looking for Socks and HTTP proxies. Note the address and port of any you find. If you think you’ve found an HTTP proxy, you can test it by changing your connection settings and telling your browser to use that server and port explicitly instead of using the Automatic Configuration Script, and connecting to the internet. Just remember to restore the settings afterward.

SSH Client
The last piece you need is a Secure Shell client. This is just a program that opens and manages an encrypted connection to a server. Normally, you would use this combination to log on to, administer, and exchange data between a remote computer (the server) and your local computer (the client). We’re going to be using a more advanced feature of SSH known as “port forwarding”, which lets you direct other network traffic through such a connection. A good choice for Windows users is PuTTY, which can be downloaded freely from the Download Site. Macs and linux users will almost certainly have a good SSH client installed. I’ll be using PuTTY in the examples in the remainder of this tutorial, but the principles will be the same in any SSH client.


PuTTY Configuration
The PuTTY documentation does a good job covering configuration, so I’m just going to focus on the essentials for port forwarding. Basically, you enter the IP address or DNS name of the host to which you’ll be connecting, the port it uses, and a descriptive name in the ‘Saved Sessions’ field. If your browser uses a proxy server to access the internet, then you will configure PuTTY to use the same one(s). In PuTTY’s ‘Category’ tree (left portion of window), click the ‘+’ sign next to ‘Connection’ and click on ‘Proxy.’ If the browser had a Socks proxy configured, select that type in PuTTY. If not, but it had an HTTP proxy configured, then select that type. Enter the Proxy hostname and port that you previously noted. When this is done (or if you didn’t have to add proxy configuration), click back up on the ‘Session’ category and click the [Save] button. Then click the [Open] button. If everything is correct, you should get a new window with a login prompt from the remote system. You’re ready for the last step – actually forwarding a port or two.

There are two methods of forwarding ports through an SSH connection. “Dynamic” forwarding is easier to configure and more flexbile, but can only be used by applications that support a Socks proxy. This includes most modern web browsers, so we’ll start with setting up secure, encrypted web browsing. If you actually logged in, type ‘exit’ and press the key. Otherwise, just close the window. Bring up Putty again, select the ‘Saved Session’ you stored earlier and click the [Load] button. In the ‘Category’ tree, expand ‘Connection’, ‘SSH’, and select ‘Tunnels.’ In the ‘Source port’ field, enter 8081. This can actually be any number higher than 1024, I’m just using 8081 as an example. Select the ‘Dynamic’ radio button, then click the [Add] button. ‘D8081′ will appear in the ‘Forwarded ports’ field. Under Categories, select ‘Session’ (you may have to scroll up to see it), and click the [Save] button again. Click [Open] and log in to the remote server. In your browser, you’ll need to change your proxy settings. Make sure to write down the current settings, so you can restore them later. You are going to set the browser to use a Socks proxy (which dynamic forwarding creates for you). In IE under Lan connection settings you have to select the [Advanced] button to see the proxy configuration fields. In Firefox, they’re visible in the Network ‘Settings’ panel. Add the word localhost as the proxy host or proxy server address, and 8081 as the port. Click [OK] until you are out of the configuration screens. If you can now browse the web, then congratulations, you’re doing so in a secure, encrypted tunnel. Nobody can see what sites you visit unless they watch over your shoulder. Note: examination of your computer’s cache, log files, history, and other forensic evidence will still yield information on your surfing habits. A secure tunnel only protects the data in transit.

The second method of forwarding ports involves forwarding each port used by your network application from your local PC to the actual server running the network service you wish to access. You then configure the application to use your local machine as the server. For example, to connect to your external pop3 mail server, in PuTTY you would go back to the ‘Tunnels’ configuration screen. Add 1110 as the Source port, select the ‘Local’ radio button, enter your mail server’s address followed by ‘:110′ in the ‘Destination’ field, and click [Add]. You should see something like L1110 your.mail.server:110 appear in the ‘Forwarded Ports’ field. Once again, return to the ‘Sessions’ screen and click [Save]. Fail to do this after any changes, and you’ll lose them. Now, open your mail client. Wherever you would normally enter your pop3 server address and the port it uses, enter ‘localhost’ and 1110. In Outlook Express for example, you will find these settings in the ‘Servers’ tab and the ‘Advanced’ tab in the Account Properties screen. Once you’ve made these changes, you should be able to connect to the SSH server using your saved session in PuTTY, then retrieve and read your mail in your mail client software. Sending mail uses a different port (25),and often a different server name, so you’ll have to forward another port in a similar manner if you want to be able to send mail as well.

Pretty much any network service that uses a defined port or set of ports can be configured to work through an SSH tunnel in this manner. This includes services that your company may ordinarily block, like Instant Messaging services, Usenet Newsgroup access, streaming music sites, etc. Note that anyone with access to network sniffers or inspection software, be they crackers, hackers, or network admins, will still be able to see network traffic between your computer and the remote SSH server, they just won’t be able to tell what it is or where it goes beyond that point.

{ 3 comments }

Vacationing in Florida, Retirement Style

by joe on January 5, 2008

I haven’t written in a while, due in a large part to the fact that my family and I took our Christmas vacation in Florida, escaping for a couple of weeks from the Michigan winter. We stayed with my in laws, who own a mobile home in Lakeland in a park for retirees 55 and older. Now one might think that staying in a mobile home park surrounded by old folks would be boring, but in fact if one is willing to temporarily adopt the local lifestyle, nothing could be farther from the truth.

Every Monday night they play euchre. For money. For those of you unfamiliar with euchre, its a fast card game played with partners. Okay, it only cost a quarter to play, and you don’t stand to win much, but the game is fun and the players compete as if there were hundreds of dollars at stake. I won fifty cents.

Nearly every day there is competitive shuffle boarding. Sometimes it’s a “pin game,” where there is a modified bowling pin on each end of the court. It costs a dime to play, and a nickel every time you knock down the pin. I won seventy five cents. Some of the players are actual pros. I didn’t even know there was a such thing as a professional shuffleboard player, but there is and several of them live in that Lakeland park.

Wednesday morning is bowling. Most of the residents who participated bowled better than I did. Wednesday night is bingo. I think I’m the only one in my family who didn’t win a game. Again, the stakes are small – fifty cents gets you 6 cards, and you play 8 or 10 regular games plus a couple of specials.

Thursday nights is for playing bid euchre – a variation where each player has to bid for the right to name trump. I won a dime.

We didn’t go to Florida to go to any of the expensive theme parks – we’ve done all that before. We didn’t go for the night life or to mingle with the jet set, we went to relax and enjoy the weather. I didn’t get any writing done, but I did a lot of reading, made some friends among the Grandmas and Grandpas there, and came home relaxed and refreshed.

{ 0 comments }

One of my best stories, “The Great Rodeo Trainers” was published on Helium, and sold on the Marketplace there. The publisher (who wishes to remain anonymous) purchased the story with exclusive rights, which means it can’t appear on any other web-sites for a while. Once they expire, it will return to Helium, and I’ll probably publish it here on the blog as well under the ‘Memoirs of a Horse Trader’s Son’ category.

Another story – one I had submitted to Maissonneuve 3 months ago but never heard back from, I’ll probably submit somewhere else. Its a humorous account of a group of ponies roaming loose, and the havoc they wreak on an upscale golf course. After 2 months I sent a follow up inquiry Maissonneuve, but still nothing. I don’t know if I should try another in-print publication or just break down and put it on-line, either Triond or Associated Content. The Wild Horse Race Story is doing pretty well there.

Finally, another story is nearing completion. I’m not sure of the title yet. It will probably either be “To Mourne a Horse”, or “Here Lies Good Ol’ Mopsie-Flopsie”, depending on the mood that the final draft instills.

{ 0 comments }

Static Landing Pages

by joe on December 10, 2007

I recently wrote an article on Helium, trying for a Marketplace sale. The topic was on the benefit of static landing pages for marketing web sites. I have my doubts about getting the sale, as my article is only rated 5th out of 7 right now, but you never know. In any case, here’s an excerpt:

While dynamic pages offer a number of desirable features for web site owners like design consistency and up-to-date information, in order to optimize the effectiveness of your internet marketing website you’ll want a static landing page. Static landing pages offer several advantages over dynamic pages where attracting and retaining visitors is concerned. This is of course essential to converting web site visits to sales.

First, assuming you advertise your product or service on other web sites, when users arrive at your site after clicking one of your ads, most of them will leave within a few seconds if they don’t immediately see the information that prompted them to click on it in the first place. They do not want to fill in any forms, navigate your site looking for the information, or wait while the page is generated dynamically. Having the relevant information presented in a concise, statically loaded page will capture their attention and keep them from wandering away. For best results, this page should be customized for the advertisement or ad campaign that brought the visitor in. Thus, if you have different ads for a variety of products or services, each should link to a different landing page, optimized to deliver information relevant to that product or service, with a clear indication on what the user should do next. Many on-line marketers are realizing higher Click Through Rates this way.

Second, when content is dynamically generated, it may not always present the information your visitors are looking for. Pages are generated based on data, and if the data is unavailable (if for example, a service is not responding or a database is down), the page may not contain any information useful to your visitor. It may give error messages, or it may not render at all. Nothing will turn off first time visitors faster than a web site that appears to be broken. They’ll leave and likely never return.

{ 2 comments }

More Secure Shell troubles

by joe on December 5, 2007

Well, I still haven’t solved the earlier problems (see other posts in this category), but now I’m having a new problem. One of the Windows servers we’ve had OpenSSH running on for quite some time suddenly seems have issues. It will stop accepting connections. The message in the sshd.log is always some variation of this:

63 [main] sshd 7632 child_copy: linked dll bss write copy failed, 0x207A000..0x207CAA0, done 0, windows pid 8136, Win32 error 998

Stopping the service, with the intent of restarting, didn’t work, as the service would then not start at all. cygrunsrv -S sshd would yield the mysterious win32 error 1062, and would refuse to start, with nothing showing up in the event logs. A complete re-installation of cygwin fixed the problem, but it returned within one day. Now I find out that this server is short on memory (it’s used for some heavy-duty data processing), so I suspect that the problem is related to that. If you’re researching the same issue, check your available memory. I’ll report more details here as they develop. In the end, I’ll probably write a comprehensive article for publication on Associated Content.

Update: 12/06/2007: Some of our scripting relied on multiple successive ssh connections to a target server. The idea was to maintain as much of the scripting logic as possible on our build server, executing remote commands one at a time, each via an SSH connection. This may have caused a resource bottleneck. I re-wrote some of the scripts to do a number of things in a single connection. I also added retry logic, in case of the “resource unavailable” error. We’ll see how it goes.

{ 0 comments }

What I Can’t Live Without

by joe on November 30, 2007

Recently I submitted a blog entry to LiquidWordProductions for their December topic, which called for entries on things you feel you can’t live without. My submission was rejected, so I’ve decided to publish it here.

I Can’t Live Without… Music!

Confucius said “Music produces a kind of pleasure which human nature cannot do without.” I would agree. Music can raise our spirits, pull at our heartstrings, or get our toes tapping and fingers snapping. Few things can unite a group of people quite like the bond they feel when the instruments they’re playing seperately – the highs, the lows, the rythms and the melodies – combine to create the music that moves us. Voices raised in unison can sweep the thoughts and emotions of listeners away on flights of fancy, but no less so for the singers!

A common question among school children is “Which of the five senses would you choose to give up if you had to pick one?” Then the usual follow-up question is “Which one would you be least willing to lose.” To the visually impaired, this is going to seem incredibly naïve, and no doubt sudden blindness would be a devastating catastrophe, but I could not bear to give up the joy of music. I’ve seen great works of art. I’ve seen magnificent vistas, vibrant sunsets in the plains, and brilliant rainbows. These visions were awe inspiring, without a doubt. And yet, the tapestries created in my mind by the harmonies of a talented acapella quartet would be more difficult to sacrifice.

An endless variety of styles, genres, instruments, voices, and cultures means that there is always something new to discover, something different and exciting to which to listen. From the haunting melody of a violin playing a simple Irish folk solo to the glorious crescendo of a great symphony, or from the driving beat of a hard rocker to the twang of an old cowhand belting out a trail ballad, or even the rythmic rhymes of a street rapper, there is never a shortage of musical choices, no reason to tire of listening to the same old thing all of the time.

Without food, water, and shelter, our bodies wither and die. Could I live without music? Certainly. But without the transcending power of music and the beauty of song, life would seem so much the less worth living.

{ 0 comments }

I recently ran a training session teaching some Configuration Management (CM) personnel some of the basic UNIX/linux shell commands, along with some of the common ways Secure Shell (SSH) utilities can be used to move application code around during deployments. I created an outline for the class, which is reproduced below. In no way is this outline a complete reference for using shell commands and SSH for CM, but it introduces some of the basic utilities and commands that can be a part of a comprehensive CM architecture.

I) bash : a *nix shell
A) A shell is a command-line interface to an OS. There are lots of shells available in *nix (korne, bourne, etc.). bash tries to include the best features of each. Shells are related to DOS.
B) cygwin makes it work in Windows, along with most other “POSIX” compliant programs & utilities (including OpenSSH).
C) Some common shell commands (all of these work in the other shells as well):

i) cd : Change working directory.

(a) cd : By itself, cd puts you in your own home directory.
(b) cd /tmp/ftp_files : puts you in the /tmp/ftp_files directory. The leading “/” means start at the root or base of the file system, and traverse from there.
(c) cd myfiles : puts you in a subdirectory from your current location called myfiles. You could be anywhere in the file system and this form of the command will only look there for the named sub-directory.

ii) ls: List files.

(a) ls : lists files in current directory
(b) ls /usr/bin : lists files in sub-directory /usr/bin
(c) ls -l : lists files in “long” format, showing owner, permissions, sizes, etc.
(d) ls BAM* : Lists all files in current directory whose names start with “BAM”. The “*” is a wild-card.

iii) cp : Copies files from place to place, optionally with new name.

(a) cp thisfile.txt thatfile.txt : makes copy of thisfile.txt with name thatfile.txt.
(b) cp /tmp/sales.wks /home/jp : Copies file named sales.wks from directory /tmp to directory /home/jp (assuming this directory exists).
(c) cp /var/news/daily/* ~ : Copies all files (using a wild-card again) from directory /var/news/daily to the user’s home directory. The “~” by itself means current user’s home.

iv) grep : Matches a string with some source of text, often the contents of a file.

(a) grep error: *.log : Searches all files in the current directory whose names end in .log for any lines containing the text “error:”. If it finds any, it lists the file name along with the actual line of matching text.
(b) grep -i virus ~brian/* : Searches all the files in user Brian’s home directory for any file which includes the term “virus”. The “-i” switch makes the search case-insensitive. The “~” followed immediately by a user name is short-hand meaning the named user’s home directory.

[click to continue...]

{ 3 comments }

Things are taking shape

by joe on November 24, 2007

I first started this blog mainly as a way to promote stories and articles I’ve written that are published elsewhere. Soon enough, I also started using it as a scratch-pad for thoughts and ideas related to work. Just the simple act of typing them and posting them, where anybody can see them (even if few actually do) helps me to organize them and approach the problems and challenges more logically. Gradually, I also concluded that this would be a great place to put the entire collection of short stories that will eventually be published in a book entitled “Memoirs of a Horsetrader’s Son”. This blog is beginning to see some traffic now, and I’ve decided it’s time to add some organization, while evaluating some design enhancements. Look for a new theme shortly, as well as clearer boundaries between the stories, technical articles, and ‘Other’ – which will be a place to put random thoughts about anything. Until I start getting hit with a lot of spam, the ability to leave comments will remain open (although I do approve or reject them, I’ve never rejected any). If the blog gains in popularity, eventually it will attract spammers, and I’ll have to require captcha or registration or both. If you’re one of the (still mostly infrequent) visitors, welcome, and please feel free to leave feedback on anything you see here.

Joe

{ 0 comments }