ssh!


Recently I have been experimenting with ssh and port forwarding. Many people today have access to the internet while they are at work. This access usually comes at the price of privacy. The data packets that comprise their activities, be they web surfing or instant message chatting, are monitored and tracked. More than a few companies aggressively pursue violations of whatever access policy is in place.

While I am not trying to escape the boundaries placed on my access at my current engagement, I am interested in keeping my business private. A friend of mine, JJ, showed me how.

ssh, or secure shell is a tool at allows you to access a remote server over an encrypted connection. Someone monitoring the connection will know it exists but in all likelihood they won’t be able to read the actual data passing over the connection as it will be encrypted. Just using ssh is not terribly hard or exciting. Command line access is useful and very powerful, but rarely sexy.

Port forwarding is a feature of ssh. Using port forwarding it is possible to map ports on your machine to those of another, remote machine. In my case, I wanted to map to the web proxy ports of a machine that sits outside the firewall (and therefore beyond control) of my client. Once the mapping was established I would be able to use the internet just as before, only now my activities would be masked by encryption, and it would appear as if I had just visited a single site, that of the remote server.

Here is what I had to do to accomplish this admittedly nerdy goal: Since my laptop isn’t running the necessary client software to login to the client’s network I first had to establish a connection to a machine that was authenticated to the network. In this case that connected machine is running Windows NT 4.0 Workstation. I downloaded and installed an open ssh server for NT, on my NT workstation. This allowed me to open port 22 to ssh connections.

Next I downloaded and installed SSH Tunnel Manager, a Mac OS X ssh and port forwarding client, much like puTTY for Windows. Configuring a connection to my NT server consisted of entering my NT domain user ID, and the IP address of my NT workstation. Once I established that connections could be made I moved onto created a tunnel, mapping the local (laptop) port 8080 to localhost:8080 on the remote (NT) machine. While this may seem counter-intuitive at first it makes sense when you look closely. Once the ssh connection is made to the remote server, the tunnel needs to access localhost. This really means 127.0.0.1 on the remote machine. As a command line this would look like this:

ssh -l userid -L8080:localhost:8080 192.168.85.76

In other words, securely connect to some remote host (192.168.85.76) as useid, and create a port forwarding from port 8080 here, to port 8080 there (-L8080:localhost:8080).

At this point I have a secure, encrypted connection between my laptop and my NT server, and a port forwarding tunnel through this connection that maps any request on my laptop for port 8080 to port 8080 on the remote server. My laptop can now ‘see’ a machine on the in-house network at my client.

Next I downloaded and installed puTTY, a secure shell and port forwarding utility for Windows NT, on my NT workstation. This time the connection would be from NT to a Linux server outside the firewall. That machine in turn has a connection to the internet and allows secure connections to a proxy server called squid. This time I mapped my NT machine’s port 8080 to the Linux machine’s port 3128 ~ the port exposed by the squid proxy server.

Again, the command line would look something like:

ssh -l userid -L8080:localhost:3128 www.remotehost.com

Now I have two connections.

The first is between a Powerbook running Mac OS X (10.2.6) and a Dell Optiplex running Windows NT 4.0, and a secure shell server (opensshd). This connection is made via ssh and includes a port forward from 8080 on the Powerbook to port 8080 on the NT machine.

The second connection is between the Dell, running NT 4.0 and a generic PC running Red Hat Linux 8.0. This connection is made via ssh and includes a port forward from local port 8080 to the exposed squid proxy port, 3128.

Changing my proxy information in the Network panel of System Preferences to map all HTTP and Secure Web requests to localhost:8080 I am now able to access the Internet via this daisy chain connection. All inter-machine communication is encrypted.

There are some difficulties. Imagine that! Several of my favorite daily applications, namely the chat clients, want to use a HTTPS proxy. Currently the remote Linux server that is my target doesn’t have an open HTTPS port for me to forward requests through. Any https request that can travel through the HTTP port works fine, but those that want a HTTPS connection don’t.

Was all this worth the time and effort? As a learning exercise most definitely. My understanding of proxies and secure shell is vastly increased. As a practical day-to-day thing, not really. However, I am now going to set up a Linux machine in my home, and equip it to act as my remote host. This will give me access to my home network over a secure connection, from anywhere I can plug in my laptop.

Update: I have written a new piece on ssh over here.


Brother, Can You Spare a Job


I started working as a programmer in 1983 after getting a degree in computer science. In the 20 years since then I have worked as a mainframe programmer, client-server application developer, SQL Database Administrator, Object Modeler, Business Reorganization Analyst, distributed application architect, OO developer, web application developer, and consultant. I have coded, designed and developed applications in COBOL, Nomad 4, Easytrieve, CICS, IMS, Powerbuilder, Forte TOOL, Java, HTML, and Jakarta Struts. I have used file systems ranging from ISAM and IMS to VSAM and then DB2 and SQL Server, and even OODBMS. I’ve used code generators and CASE tools; hand coded web pages and developed using WYSIWYG IDEs.

I have been fortunate enough to “retrain” myself at timely intervals and ride the current wave, whatever it might have been at the time. Now I am faced with entering the job market once again, and for the first time it appears there isn’t a new skill I can acquire that will make me more marketable. Whether it is the movement of technical jobs offshore, or the slowing of the economy, I am finding fewer jobs, and getting fewer responses than ever before. More jobs are now looking for master’s degrees or advanced certifications than ever before.

My twenty years of technical experience is counting for very little in today’s technology marketplace. Hard skills are no longer in vogue. Soft, or people skills are more important than ever before. I am having to reframe my resume to highlight my leadership and people skills over my technical knowledge and ability.

The golden age of technology for technology’s sake maybe ending. The importance of the human computer interface is rising, and a new era of human centric technology is about to be ushered in to our lives. I have always been excited about technology, and I am more excited than ever about discovering new ways to bring the benefits of technology to more people.

For years I described myself as a programmer regardless of my current title; today I am starting to think of myself as a technologist. I am someone who can walk the geek walk and talk the geek talk. But I am also someone who can relate to people and their needs and desires. If the technical programming jobs are moving to low cost development centers overseas then I’ll move to architecture and design functions where understanding the work place society or consumer society in addition to the reality and limitations of software is important.


1 AM Thoughts


It’s 1 am and I am up because I am afraid of my cat and I am mad at her.

Our new kitten is quite the bundle of energy and attitude. At night she attacks anything that moves; roll over in bed and you are going to get multiple puncture wounds from her teeth and claws. Repeatedly dropping her on the floor only causes her to stop for a little while. I know that she is only a kitten of 5 months or so but she is starting to terrorize me.

In truth I know that a 4 pound kitten can’t really hurt me. Her bites and scratches are annoying to be sure, but they aren’t really serious. It’s more the startle factor and the suddenness of her attacks that is disturbing. One second you are sound asleep and the next your foot or hand is being mauled.

I also know that I am over reacting to her high spirits because she is an easy place to put my increasing sense of helplessness and anxiety. Knowing that, unless a miracle happens in the next few days, we will have to sell this house and move, is really starting to wear me down. I knew when we moved back to Illinois that it was a temporary thing. I just thought we’d get to stay here longer.

I think we have been making it worse on ourselves by trying the wait this situation out hoping for a way to stay. Waiting puts me at the mercy of the state and its whims. It is reactive rather than proactive. This afternoon Michele and I talked seriously about putting the house up for sale as soon as possible. On the one hand this action feels good as we are doing something, on the other hand it is very hard to take because it means we are leaving.

Once again we are faced with uprooting our lives and moving. Oh how I hate the word “moving.” We’ve moved three times since getting married 6 years ago. Illinois to Washington state, Washington state to South Carolina, and finally South Carolina back to Illinois. We set a new longevity record here this time. It’ll be three years this October since our lives were inside a moving van.

In the time that we’ve been here I’ve faced my family and grown as a result. I no longer try to take care of them at my expense. The new relationship with them is just starting to gel and feel normal to me. Now I am going to radically change it. My parents are in their late seventies, and my brothers children are growing up fast. Leaving now means losing precious time with them.

It already feels like I’ve lost so much time with my family. The emotional separation that has existed since Amy’s death has been in place for years. Now for the first time I can see a future without this gulf between us. And I am faced with moving away.

I want to be able to stay here, close to my family. I don’t want to be thousands of miles away. But I can’t stay here with no employment prospects. And we aren’t attracted to other cities in the mid-west. I don’t want to move only to be unhappy with a new city.

So, you see, there is a lot of stuff going on inside my head and heart these days. Big decisions to make that will have tremendous impacts on the rest of my life. No right or wrong answers, just degrees of comfort and pain. At times, like 1 am, I get overwhelmed and don’t know how to take my next breath.

This is why it is easy to blame our sweet little kitten for being too aggressive and too full of attitude. It is easy to make her the culprit because she can’t fight back and she loves me anyway. I guess my inner child, little-Mark, is afraid of losing the love of my family if I move away from them again. For reasons outside of our distance from here, the last year in South Carolina put tremendous strain on my relationship with my parents and brother. What if moving away strains those ties again? What if those ties are broken?

1 am is an awful time.


What A Difference A Day Makes


Yesterday was awful. I was feeling down most of the day and everything I tried to accomplish failed to work. I was frustrated by a simple connection problem at work and ended up spending most of the day moving in circles to no avail.

At lunch I treated myself with a trip to the bookstore and the local Best Buy. While at Best Buy I found a data cable for my Motorola v60t cell phone. Thinking it would allow me to synchronize my phone and Powerbook I bought it. Of course it failed to work. It was only $17 so I guess you get what you pay for. I ended up taking it back after work.

When I got home I was sullen and feeling pretty miserable. Michele to her great credit didn’t let me sulk very long before asking what was the matter. Thanks to the wonderfully safe place she created for me I was able to express a lot of pent up anger and fear. As I released my emotions I could feel my self getting lighter.

She helped me to see that I am coping with the impending end of my contract much better than I would have in the past. Yesterday my mood was so black that I felt like I’d been handling this situation very poorly. Once I had cleared out some of the more negative emotions I could see that I was doing okay. It’s funny how your current emotional state can cloud your perception of past events and feelings.

Later on in the evening I got an e-mail in reference to a job that is exactly what I am looking for; all my skills AND in a location we would love to live. It’ll be a while before I know if this lead will pan out, so I’m not going to say much about it here. I will say that I have been putting out into the universe and idea of what I wanted to do and where for some time now. This new lead seems to be an answer to that request.

So in less than 24 hours I have gone from a morose, sullen, angry man, to someone who is feeling balanced and free, and who has something exciting on the horizon. The key was trusting my partner, friend, lover and wife, Michele. Knowing that I can lean on her when the going gets rough means the world to me. Knowing that I can trust her to tell me the truth, painful or not, is very important. She doesn’t tell me what I think I want to hear, she tells me the truth as she see it. It isn’t about judging or criticizing. It is about sharing her perspective so that I can see my position better.


Bits and Bytes


I have been doing some tidying up among the many files, templates, and settings that make this site work.

I added a link to the site itself from the referers page. Ever since I posted information linking to the Panther preview, and other new goodies from Apple, I have been getting tons of hits to my refer page. Once there it isn’t obvious how to get back here, hence the new link.

Also I am in the process of making each section of this page a template module so that I don’t have the same code repeated in multiple places. You should see no difference as a result of these changes, but it will save me maintenance time.

Lastly, I’ve added a link in the menu to my professional self. You can visit partition software as you wish now.


Default Mode


I understand that my default mode, if you will, is depression. I have to actively work at being not depressed. At times this is easy and at other times it is extremely difficult. Lately I have had a hard time staying just mildly depressed, I have been slipping in to deeper and deeper levels of helplessness and in activity.

I find my mental processes paralyzed; I am unable to think clearly or make decisions. When I try to go to sleep I have difficulty achieving any kind of rest, and once I am asleep I don’t want to wake up. I am increasingly angry and I lash out at my wife and my cats. I take my frustrations out on store clerks and wait staff. I am not doing a good job of taking care of me right now and therefore I am not doing a good job of living in my truth. My false-personality is running the show and running me into ruin.

I need to take time for myself. Real quality time where I can set aside all the distractions I use to hide from the truth. Reading a book or playing on my computer feels good in the moment, but those activities just mask the underlying problem. I’ve never really tried to have quiet, distraction free time for me before. I am not sure how to do it. I know that sounds silly, but when was the last time you took time just for you and didn’t have any distractions or avoidance’s?

I guess I’m talking about a form of meditation or contemplation. I need a way to calm myself and focus on me. I’ve taken in so much of the world around me lately that I am having trouble seeing my perspectives right now. Instead I am trying to see everyone else’s viewpoints. And, worse, I am trying to take care of everyone else instead of myself.

I am a creature of habit and I find comfort in those habits. However, if I am “self medicating” with some or all of a habit then it is hurting me in the long run, no matter how good it may feel in the short term. I need to break out of my normal routines and challenge some of my touchstones. I’m not saying that anything I am doing is bad or wrong, just that keeping to the same patterns when they aren’t working is perhaps not my best course of action. As Michele says, doing the same thing repeatedly expecting a different result is the definition of insanity.

If I can examine, question, challenge, and flex my current habits and routines I may find a new, and more productive outlet for some of my current emotional energy. If I can release the downward energies (those that spiral towards depression) in a constructive way I can get back to a more neutral balance again. Once I am balanced I will be able to take on the world again.

I already feel a reluctance within my towards changing and altering my habits. I know that this is a sure sign it will be good for me. The reluctance is my false-personality trying to keep me trapped. My truth is that I am not helpless, nor out of control. Overcoming this false inertia won’t be easy, but it will be very good for me.


A Good Cry


I had a good cry yesterday afternoon about my whole employment situation. All the fears and worries I’ve got about my future came bubbling up to the surface and I came apart.

It started after Michele and I had spent a wonderful day together, including a roast turkey dinner and a trip to look at a potential job site for her. Our new kitten, Taz, was jumping all over my desk. She had managed to walk across the laptop keyboard in a way that caused it to lock up, forcing a reboot. I got very angry at her and stomped off through the house telling Michele that I needed to be away from Taz.

Of course this didn’t work as Taz followed me to every room I went. Eventually I ended up on the couch, and when Michele found me there we talked. She pointed out that I looked very sad. When I tried to answer her the tears just came. I cried and cried. The release was tremendous. I talked about feeling like a failure at losing (maybe) yet another job. I was able to say to her that I was sorry for dragging us all over the country from job to job. I told her that I would understand if she wanted to go back to Tampa where she is professionally known so she could restart her career.

The release at saying all my stuff, and having a good cry in the process was immediate and profound. I felt lighter and better the rest of the day. I could see clearly again that we have many options and that the situation here isn’t hopeless. Once again I learned the value of a safe place to fall. Without Michele to lean upon I would never have been able to sort through all my emotions about this and I would end up making the situation worse.

If you are fortunate enough to have someone special in your life that you can open up and come apart with without fear, then you are truly fortunate. I consider myself to be the luckiest man alive because I have Michele and her love to support me no matter what.

I lov eyou Michele. I truly, honestly love you.


June Spam


In a previous version of this site I used to have a counter showing the number of spam I’d received since January 1st each year. I grew tired of having to update it every few days and took it off the menu on this site design.

However, I am still keeping track of my inbox, and I am getting spam in record numbers. In the 30 days of June I got 5,859 pieces of mail I consider spam. This brings my yearly total for 2003 to 31,859.

I’m averaging 5309 spams a month, or 176 spams a day this year. In 2002 I only received 25,569 spams total, or an average of 2,130 spams per month and 70 per day.

It seems to me that the number I get jumps to a new level every so often. I’ve been holding steady at the 170 mark for a while now. I expect that to increase to 240-250 any day now. I’m not sure what causes the sudden increase, but I am aware of it when it happens.


How Do I Vote For This Man?


AlterNet is carrying a copy of Senator Robery Byrd’s, June 24, 2003 speech regarding the cover up by President Bush and his administration over the actual threat Iraq posed to the United States in the months leading up to our invasion, and subsequent occupation, of that country.

I wish I lived in West Virginia so I could vote for this courageous man for taking a stand against the whitewash the conservatives are spreading over their actions.

Please go read the speech and then write your congressman or senator and ask them why they aren’t standing up and asking the same questions as Senator Byrd.


An Apple A Day...


Yesterday was the keynote address at the World Wide Developers Conference Apple is hosting in San Francisco. During his two hour presentation Steve Jobs offered up these new goodies:

iChat AV Public Beta and the iSight video camera.

The iChat upgrade adds both audio and video chats to iChat’s abilities – allowing users to communicate with friends and family over long distances. The sofware supports Apple’s new iSight video camera which provides 640x480 Full Motion video at up to 30 Frames Per Second.

The camera also has a microphone and interfaces to your Macintosh via Firewire.

The public Beta of iChat AV is available now. The final iChat version which supports Jaguar will be sold for $29.95. Users upgrade to Panther, however, will get the final iChat AV version included.

Today, Apple officially announced the PowerMac G5 – dubbed the “world’s fastest personal computer” as well as the first 64-bit personal computer.

$1,999: Single 1.6GHz G5, 800MHz Bus, SuperDrive, 3 PCI, 80GB S-ATA HD $2,399: Single 1.8GHz G5, 900MHz Bus, SuperDrive, 3 PCI-X, 160GB S-ATA HD $2,999: Dual 2.0GHz G5, 1GHz Bus, SuperDrive, 3 PCI-X, 160GB S-ATA HD

The revamped machine contains all new hardware and subsystems… providing dramatic performance improvements over current systems. Systems will not be available until August 2003, according to Jobs.

Apple released Safari 1.0 Today.

The final version of Apple’s Web Browser provides the following new features:

  • Safari is Mac OS X default browser
  • AutoTab loads folders quickly
  • Sync your bookmarks with iSync
  • Available in all Mac OS X languages
  • More AppleScripts available
  • Increased standards compatibility

Apple demonstrated Panther for the first time today. Jobs touched upon a number of new features in Panther:

Finder - Now metal with a “user-centric” model. Screenshots depiced a new area for volumes/iDisks/folders on the left hand side. The action menu gives you access to labels and other contextual comamnds.

Exposé provides an easy way for users to find windows in their clutered screens. The demo of Exposé drew oohs and aahs from the crowd as the windows move out of the way in a fluid motion.

Fast User Switching - lets you switch between accounts without quitting running applications. It also adds a bit of Apple Flare - with your old screen rotating out on a 3d cube.

Mail - the new version can organize by “threads” rather then individual emails. Performance is also improved.

FileVault - offers security for your home directory.

Preview - is noted to be the fastested PDF viewer around - which would be a significant improvement over the current incarnation. Fast text searching also included.

Font Book - the new Foot Book lets you install, preview, search, activate and deactivate fonts you need.

Faxing support throughout Panther.

Xcode - for developers - faster build times, predictive compile, distributed building, and more…