Monday, October 24, 2011

Remember the days of America Online (AOL)?

Remember the days of America Online (AOL)? I do.

I had a computer young like most nerds, but there were DOS programs and Windows 3.1. No Internet to start, just games like Hoyle, typing programs, etc. Best game was Quest for Glory by the way:



Then America Online came, oh boy the Internet. I was young, say 13 or so. There were web sites, chat rooms, instant messaging. There were internal areas on AOL for special interests. All great things, but I found my way to the dark side for a bit.

The chat rooms were private, people had short alias screen names (this is a bid deal, a 4 to 5 character screen name was awesome) and talked with a special vocabulary. PeOpLe TyPeD lIkE tHiS. You had to know someone that knew someone to find out where to meet. Accounts were hacked, the first round of phishing attempts were design, password crackers, dictionary data sets and visual basic was the language. Computers were so slow you could kick someone offline with a structured IM. Admin accounts were broken (over head accounts I think they were called) allowing special area access, user data access, unlimited scrolling. When done with the account you would leave your mark on the hacked user's profile.

I learned how to program before I ever took a class from a stranger. I had an alias. My account was closed several times due to violation of the terms of service (my mom and dad had to call to explain and have AOL reactivate). I had a web site with spinning animated gif skulls and flicking fire. I made my own graphics in Photoshop, Cool3D and Rhino3D (I assure you I paid for all this software). Remember the bevel and shadows? AltaVista was the search engine. All over a dial up connection. I remember when Juno came along and offered free dial up, this was awesome because it allowed an external connection to make password attempts more quickly on AOL connecting over an existing TCP/IP connection.

Then is all stopped. I had a family emergency that kept me from a computer for a few months. When I got back everything changed. My contacts were gone, the sites changes, and the usual chat rooms were no longer occupied. There was also a account login attempt limit in place, and computer's were faster so you couldn't freeze up a user via IM.

Then it was time for Napster and music and everyone else I knew was starting to get online. Turned into a medium to be friends with people you weren't friends with in real life. Say things to people you wouldn't say in real life. You listed your age/sex/location on entry to a chat room (that didn't fly in the evil private rooms). The web was social now.

See Also:

Wednesday, October 19, 2011

Recently learned Javascript (dynamic variables and jQuery objects vs. HTML DOM objects)

I recently learned two things in Javascript recently. Simple stuff really, but nobody told me and I didn't read it anywhere and had to go looking. Luckily I found some good references on stack overflow.

Dynamic variable names

Say for instance you generate some Javascript via your server side page language, whatever it may be:
var dynamic_1 = "1";
var dynamic_2 = "2";
Given these variables how to access them dynamically? I learned that you can access global variables like this via the window like this:
var get_dynamic_1 =  window["dynamic_" + "1"];
var get_dynamic_1 =  window["dynamic_" + "2"];
Now, of course, the string concatenation would be dynamic in a loop or something. I had to do it inside a change event call back function in jQuery:
$('input[name="formField"]').change(function(e){
   var localValue = window["dynamic_" + $(this).val()];
});
In this example, the variable is fetched using the form field value.

See also: Javascript dynamic variable name

jQuery objects verses HTML DOM objects

I was frustrated recently with jQuery when I was selecting a form object that I didn't have the same access to the HTML DOM object as I did in the jQuery object. I later found out that I did have access. For example:
var htmlDomFormObj = document.getElementById("user-input-form");
var jqueryObj = $("#user-input-form");
On the HTML DOM object I can do this:
htmlDomFormObj.formField.value = "something";
Then on the jQuery object, I thought I could only do this:
jqueryObj.children('input[name="formField"]').val("something");
It turns out, I can do the following:
jqueryObj[0].formField.value = "something";
The jQuery object provides access to the underlying HTML DOM object, the base object is simply wrapped.

See also: document.getElementById vs jQuery

Sunday, October 16, 2011

My first official on call rotation (sucked)

This week (Monday 12AM to Sunday 11:59PM) was my first official on call rotation of my career and at my new job. If you don't know what this means, basically my company supports client sites, those sites have issues, monitors pick it up, we get alerts. For severe alerts, the on call resource (me) is contacted directly by phone to investigate. Once determined the issue is real, the actual project team resources are involved, otherwise, the worst is that the on call resource is called and it was a false alarm.

I had a lot of false positives and some actuals. The night phone calls were very disruptive to my normal habits, and honestly, very stressful. First, the shock of being woken at any hour of the night and having to have a conversation with the answering service is a lot. I usually sleep heavy with no sounds. The phone ringing at high in my ear is a jolt. Then I rush out of bed to my laptop, get the alert details, validate. So not only is the phone ringing, I have to get out of bed, then get blinded by the brightness of my laptop screen, punch in my machine login password, check email, click through to the alert details, and validate the alert.

In the best case, all is fine and I go back to bed or resume my normal work day. Worst case, I have to wait and watch the site, then call someone else to get involved. Then usually when the site is still down the answering service calls again due to the alerts continuing.

Once it's over, I go back to sleep, well, sort of. I now am half asleep wondering if I managed the alert correctly, or if I am going to miss another call. Then I dream about the alerts, the site, the call, gah.

A mistake I made through the beginning of the week was leaving my Google Voice settings on to ring all my phones ("all" is just my cell and my house phone). My wife loved this as the house phone is on her side of the bed. Pro tip, try to only negatively impact your own sleep and not anyone else you might live with, let alone are married to.

Then after being woken up in the middle of the night, I have to wake up at a normal hour for my actual work day. I felt like I was up for hours, but I was only up for at most thirty minutes. I usually ignore my alarm, so this time, I was sleeping in until 9 or 9:30AM. At 9:30AM I have a daily call on my one project, so I was cutting it close. My whole day is pushed back.

Another issue was being attached to my machine and connectivity the whole time. My laptop went with me to dinner, and shopping. I turned down plans because I was home and couldn't get out much. I had to exercise close to home in order to be able to respond. My cell phone had to be with me at all times, in the bathroom, in the shower, next to my bed, in my pocket while I work out, in my yard. I couldn't respond simply on my phone because (1) it's dumb and (2) I could have used my iPad, but clicking through the links and validating would have taken too long. So I was dependent on my laptop and a wireless connection. I like to disconnect somewhat, or at least if I do it accidentally, I don't want to worry about it. Very heavy weight on my mind making sure I make the right decisions to be available on demand.

Funny thing is, I've done this before, but without any direct responsibility, and only for direct clients, not every client for the company I work for. I've been through the storms, the all nighters, the emergencies, the site launches, and this was just "on-call".

I think I might have gone soft actually, lost the edge, lost the eye or the tiger or something. This is my first late round of nights at my new job (since March, it's now October, so a good run), or things are finally normal, I don't know which. Or I am getting old.

Whatever it may be, this week sucked, and I cannot wait for 12:00AM Monday.

See Also:

Wednesday, October 12, 2011

Confessions about coffee

I have confessions about my coffee consumption that I wanted to share. Mainly to defend them, otherwise, I wanted to write something non-technical related, although I believe coffee makes me a better technical person.

1011012130_0001.jpgFirst off, not so bad, I drink coffee from a straw when I can. Why? I think it leaves less room for error. Tilting a cup to my mouth is prone to spillage leaving my desk and clothes... ruined. Also, on the go, say in a car, tilting back the head is not safe. You lose focus on the road or even where you are walking. I learned this from a guy that drove a truck most of the day.

Second, I drink stale, old, left over coffee. I brew a pot in the morning, the heat clicks off about 2 hours later, and I don't re-warm it up. Sometimes, the same coffee is left there until the next day and I drink it. I leave cups sitting around, half full (positive thinking), few hours later I see it has coffee and I hit it. I once did this overnight in the office and a co-worker brought to my attention that likely a cleaning lady sprayed chemicals near by or in the drink... I didn't care. I enjoy room temperature coffee, I feel like I can taste it better. Room temperature coffee while eating or after eating is especially good. If I am lucky, I take the left over and put it in the refrigerator to chill in order to make iced coffee the next day.

Saturday, October 1, 2011

Big thinking

I'm continuously amazed by those who think bigger than me. Even in the sense of transportation and power lines I am amazed. Who in their right might would think it's reasonable to connect cities with miles of concrete and asphalt? What idiot would want to physically run lines across a country and continents to supply electricity and internet? These are massive projects that are physically connected, not wireless.

Why do I mention it? This concept blows my mind on the web as well. I draw the comparison to realize there are users and builders in the world. Those that wait on others are the users. They may build on top or innovate using something else. Builders will take it upon themselves to invent their own path. They will break ground and lead.

Is your company, group, community, inner circle changing building or using? Are they following trends, trying keep up and taking advice from the community, or ignoring the news?

Conversations on what's the latest and who is doing what are beginning to bore me. I read a lot of threads. Likely 500 some tweets a day, 100 or so articles in my reader, scanned, maybe 10% actually read. For what? So I can keep up on everyone else? So I can leverage what someone else did? So I can stay current to talk tech? Eh...

I'd rather talk idea's verses leverage. I'd rather understand people verses machines. I'd rather drink beer than be at my desk.

Big thinking is what I am getting at, verses small time thinking. Blah, blah, blah version control system, blah, blah, blah language. It doesn't matter. What matters is how it's applied verse what it is alone.

Share on Twitter