Thursday, October 20, 2016

The Information Technology Revolution

The Information Technology industry was a clear choice for me as I entered college. However, if you'd asked me what I was going to do with my life when I started high school, I had a very different idea about my career.

When I entered high school, I was dead set on becoming an aircraft pilot. I was obsessed with all things aviation. I loved to stop and watch plains as they flew past. I enjoyed flight simulations on the computer, air shows, museum exhibits, the family vacation trip to Colorado included a stop at the Air Force Academy... and that was going to be my school.

Until it wasn't, because I couldn't.

Right about the time I was getting better at doing physical fitness (so that I could pass those difficult physical tests to even get started at the Academy) an Air Force recruiter called my house looking for me. I had filled out some form indicating my interest, and he was following up. We chatted for a little while about my plans to enter the service as an officer via the Academy. It was excited and I was already hard at work on my academics and physical preparations (despite some very painful experiences with shin splits, ouch!).

Anyway, one thing let to another and we were talking about my physical preparations and I happened to mention my having been born with asthma. I was relating how working hard and running every day was showing improvement and that I didn't even seem to have asthma problems anymore.

And the he said, "I'm sorry to hear than Daniel."

What do you mean, "I'm sorry?"

"You can't be in the United States Air Force if you have asthma," he said.

"But I don't anymore, I've grown out of it," I said.

"It doesn't matter, if you've ever had asthma you're disqaulified for serving with the USAF," he said.


Well that was a major disappointment.  I didn't know what to do. I was completely lost for career direction. Everyone told me that no one really knows what they want to do in the middle of high school, but I DID know. I wanted to go to be a military man in the Air Force!

Well, it turns out that my aviation obsession ultimately let to my career in IT. It turns out, that trying to run Microsoft Flight Simulator was a fairly hefty job for the family computer. I spent lots of time on the computer, fixing the computer, and trying to make FS95 run better with higher graphics.

So here I am, a career IT guy, and I love it. It's probably all for the best too. Computers run EVERYTHING. I mean everything. It's pretty much impossible to buy a car, an appliance, a house, or even toys without some kind of computer it in. Some things are more computer than others, but chips run code. Computer chips are absolutely ubiquitous.

And so, now comes the interesting part. You see, I'm a type 'A' personality.  Not perhaps in all aspect of my life, but it's fair to say that when it comes to my career, I'm all about it. Do it right, make it better, help people... these are the things I live by. We all fall short sometimes, but these are the goals. With great goals come challenges, and challenges lead to searching for new ways to improve, learn from our mistakes and do better.

Which leads me to the point. If you obsess about doing better, you work in IT, and you want to learn, I have a serious piece of information to share with you. And buy the physical book. (I know, I love my kindle too, but people will see you reading this book, you can put it on your shelf at work and it'll be more fun to read)

There is a book you MUST read. If you're not sure if you care or not, read this book first.


The Phoenix Project



Otherwise, just buy this book. Trust me. This is the first book in my career (that's not a reference manual) that is useful for IT work. Do it now. Just click on the book. You can thank me later.

The DevOps Handbook



Seriously, why did you just go past the links for the books? There's nothing else here to read, except to buy the book(s) and get started. You don't need to do anything else right now, buy the book and get started.

Monday, April 11, 2016

The Cloud Journey

My head is in the clouds. 

It's going to be a long ride, but I know it will be worth. 

I'll win some battles and lose some battles, but no matter how long it takes, we are moving to the cloud. 

Some understand what the future hold and others are content to let it pass them by. For me, it is a tremendous opportunity to unlock capability and enhancement.
It is an opportunity to optimize and revamp. It is an opportunity to improve and change culture and paradigm. 

It's really like any other IT project. It takes patience, determination skill and effort. 

I know it will be worth it. 

Tuesday, May 26, 2015

PowerShell Invoke-Command with -computername object/hash/array

Note to Self:

When using Invoke-Command -ComputerName $nodes.ComputerName, write the scriptblock such that the computername is echoed with the result.

Invoke-command -ComputerName $nodes.ComputerName -Credential $mycred -ScriptBlock {"$ENV:ComputerName, $(test-path D:\folder\file)"}


This will ensure you get the answer at the same time as the computername.  All other attemps are problematic, and test-path doesn't automatically trigger the ComputerName field in the returned dataset.



Monday, January 19, 2015

Published on GitHub

We'll despite my lack of activity on the blog, I've been busy.

Not so much IT busy, as personal busy.  Since I last posted here, we've added another family member (bringing our little home occupancy to 4), dealt with complex and frustrating work situations and survived to tell the tales.

I've also discovered github.com and found it to be interesting and perhaps even useful.  As more and more cloud services become available, I like to try them out.  Sometimes it's worthwhile, but mostly it's yet another user account to keep track of in my password manager of choice.

Regardless, I've now completed another version update to my code snippets program written in AutoIT called DLTray.  Since I built the first version in 2007, it's been updated and modified, but over that period of time, I have found it to be an indispensable program, mostly because it does EXACTLY what I built it to do!

I'm trying to get into publishing some of my more useful PowerShell snippets, but, it's hard to pick and choose what might be useful for someone else. The practical reality is so that so much of what I use daily is contrived from other work posted on the web, it feels somewhat redundant to post my own, but that's exactly what I intend to do.

So, as I digest other's work and figure out how to put it to use, I will be posted useful bits of powershell to the other project I have on GitHub.  Funny enough, those postings can be used with DLTray, so, in a way, it's all related.

If you have a need to post repetitive bits of information anywhere (of any kind code, comments, directions, etc, I highly recommend checking out DLTray.  I know it's not perfect, but I can say honestly that it has saved me far more time that I've spent on it, so it's been worth it for me to develop it and continue customizing it for my daily use.

Perhaps as time passes, I can turn this into a code snippet sharing blog that can be used with DLTray over the long run.

If you come across it and find it useful, let me know.  You'll find it a GitHub.com/danlemire.

Enjoy!

Saturday, August 03, 2013

Google Services

Ok, I've had enough. It's just too much to bear.  Google shutters google reader because google+ is supposedly where it's at. There is just one problem. With RSS, I get good information and none of the junk.  

Case in point. I open google+ today, I'm ties into webdev, arduino, 3d printing and several other groups. What I get in my feed is junk like 

"Hi all, I'm  going to build my first HTML web page today can you help me?"

Seriously?!  This is going to replace quality RSS feeds?  No. No.  No. Just no.   

This is the problem with crowd anything. There is no substitute for quality information.  I want to be connected to the people that know what they are doing. If I wanted to work with IT people that were doing it for the first time, I could go just about anywhere on the Internet.  


I'm not saying I'm not interested in helping people. I'm  just saying that when I sit down to catch up on what I am missing I don't want to see petitions for for help from someone else. I want to hear about what they did and how it works.  If you want to learn go to school. Google the topic. Don't just ask for non-specific help. 

And google, you're not doing me any favors.  I need you to use Ray Kurzweil to whip up some pattern recognition mojo to filter out that junk.  Don't make me have to weed thought it when I am trying to learn. 

We're moving in the wrong direction here   Google.

It's not too late to fix google+ but I don't see reader coming back and that is a great loss to me and those who trusted it. 

I've found a substitute in Feedly but its no google reader.  

And in a few more weeks ill go through it all over again with Igoogle.  Oh well. 

I guess I just have to remember that when it comes to IT, you get what you pay for and you can't complain when it's free. 

Tuesday, September 18, 2012

Social Media Explained

Sometimes very simple explanations are the best.

http://www.howtogeek.com/124758/social-media-explained-with-bacon/

Thursday, March 29, 2012

Verizon Westell 9100EM scheduled reboot

I recently moved into a new house. Fortunately for me that means I now have a fiber connection to the Internet. Unfortunately, it brings yet another telco provided piece of equipment that leaves alot to be desired.

Today's cheap equipment is the Westell 9100EM. This device is fine, until you want to secure your wireless and turn on WPA. Apparently, using the WPA makes the device rather unstable. In my case, everything seems to work for about a week, and then my wife's MacBook can't communicate with our Xerox printer. Since she is a freelance Graphic Designer, printing is kind of important.

This led me to looking for a way to reboot the router on a regular basis to keep everything happy. But alas, the router software does not provide a way to schedule reboots.

The scripter in me says "I can write a script for that", so I went looking for the easiest way to get it done. The solution came in the form of AutoIt Script. (autoitscript.com). Since I know I'm probably not the only guy out there with this problem, I'll share. This script is written for firmware version 1.03.00.08.


$oIE = ObjCreate("InternetExplorer.Application.1")

If @error Then
MsgBox(0, "", "Error opening Internet Explorer: " & @error)
LogThis("IE Object Open Failed")
Exit
EndIf

$oIE.Visible = 1
$oIE.RegisterAsDropTarget = 1
$oIE.RegisterAsBrowser = 1

;steps to achieve reboot
;18 to advanced
;25 to Yes
;27 to reboot
Dim $routerAddress, $selectAdvanced, $selectReboot, $selectYes,$user,$pass

$user = "usernameGoesHere"
$pass = "passwordGoesHere"
$routerAddress = "http://192.168.1.1"
$selectAdvanced = "{TAB 18}{Enter}"
$selectYes = "{TAB 25}{Enter}"
$selectReboot = "{TAB 27}{Enter}"
$oIE.Navigate($routerAddress)
Sleep(5000)
Send($user & "{TAB}" & $pass & "{TAB}{ENTER}")
Sleep(5000)
Send($selectAdvanced)
Sleep(1000)
Send($selectYes)
Sleep(5000)
Send($selectReboot)
Sleep(5000)
Send($selectYes)
sleep(5000)

$oIE.Quit
$oIE = 0


The next step is to build the .exe and add it to task scheduler for whatever time frame you need. Enjoy!

Wednesday, June 22, 2011

Why are my google results X?

Google customizing search isn't just a function of cookies anymore.

http://lifehacker.com/5814100/the-problem-with-your-google-search-results-and-what-you-can-do-about-it

Sunday, May 23, 2010

Great technology obsolescence

One of the greatest tragedies of new technology is the ever growing problem of legacy technology.  Software, hardware, middleware, operating systems… you name it.  Especially as it relates to computer technology. 

Unfortunately, the continual push to better/newer technology is that the old technology slowly slips into oblivion.  Take Apple computer for instance… OS X is a fantastic advancement beyond OS 9.  But, what if I’m happy with OS 9?  What about an iPod, can you still use that generation 1 iPod with your fancy new Apple MacBook Pro?  NO CAN DO!

This week, the challenge is Windows Server 2003.  It’s old hat now.  The new technology is Server 2008 R2.  W2K3 is so old now that it will enter extended support by Microsoft on July 17, 2010.  That lack of support by Microsoft also means that any new hardware that comes out after that date will not likely be supported by any vendor. 

But forget about support in a few months.  There are problems with driver support even now.  Broadcom, a network technology vendor for many companies in the server hardware business, is now only providing a packaged driver setup for their hardware.  It seems, even their technology has outgrown Windows Server 2003. 

Don’t get me wrong, the problem I referring to here can be dealt with.  Though it’s not simple, easy or fun, the problem can be solved.  That said, it serves my point well.  You can keep it alive for a while longer, but the returns are ever diminishing because of vanishing vendor support. It gets progressively more difficult to do simple tasks.

I believe that this is one reason that businesses have so much angst over technology.  Vendors have taught them well that if they commit to a given technology, that there is no guarantee how long that technology will be around to depend on.

I’ll give you another great example of technology rot: Television.  Have you been to the electronics store lately?  Did you see even one CRT television anywhere in the store?  Not likely.  Everything is flat.  Everything is HD.  If you’re at all like me, you probably have 10+ year old television that your still making work because, there’s absolutely nothing wrong with it.  It’s not your fault that the TV stations don’t broadcast in the format the TV came out of the box with.  It’s not your fault that someone came along and decided that they were too good for a square size program. 

Eventually, we all give into the new technology, not necessarily because it’s better, but sometimes mostly because the old version was made obsolete by something newer or fancier, but not necessarily better.

I see it from the vendor side too.  I develop software.  I know what it means to release a new version that fixes everything about the old version that you just hated or tweaks that one little thing that didn’t quite work right.  As a provider of anything, you strive to make your product better every time you release it.  As you improve your product, your' expertise moves to the new product and away from the old because that is where you now spend all your time. 

So, what’s the answer to the problem?  I do know that some companies are better at it than others (this takes the Windows vs Apple argument to a whole new level).  My goal is to design everything I build to work with new features as much as possible while preserving what’s old. I don’t always succeed, but at least I’ve thought about it and worked hard to keep things working for everyone for as long as possible.

Friday, January 01, 2010

New Toys, New Challenges

It never fails.  Buy a new gadget and discover to your dismay that the practical implementation of the software that comes with said new toy, is not as good as the marketing people would have you believe.

In this case, we’re talking about the Logitech G940 H.O.T.A.S. joystick system.  (HOTAS is Hands on Throttle and Stick, and in this case also includes rudder pedals).

So, I open up my new christmas present and discover that it works, but only partially.  When trying to us the setup with a few older games, the rudder pedals didn’t work, instead, the Trim control for the rudder axis was being used instead.  To make a potentially very long blog post short, here is the solution to that problem, at least in the case of Search and Rescue 4 and Vietnam MedEvac, and without having tested, bets are this will make Battlefield 1942 and several other games work as intended as well.  The great irony is, that this can only be done by NOT using the provide Logitech device drivers for the G940, you have to use the generic HID game device drivers in order for this to work, because the Logitech drivers split the controllers into 3 separate devices, and that just makes this problem even worse.

After flipping through the Microsoft HID/joystick specs, and I found a way to reorder the inputs so that Vietnam MedEvac will work!

This is a registry hack, so, beware of the possible consequences.  Never the less, windows allows you to override what control is assigned to a given input when used with DirectInput.

Steps for Windows 7 x64 (I haven't tried on XP, and I probably won't.

1.) Assign the generic HID/USB gameport device drivers to the G940.  This makes it such that the G940 shows up as one device.

2.) open regedit.

3.) Search for G940

4.) you'll eventually come to the hive for HKEY_USERS\S-1-5-21-####-####\ System\CurrentControlSet\Control\ MediaProperties\PrivateProperties\Joystick\OEM\VID_046D&PDI_C287\

5.) Add a new key -> Axes

6.) Add new keys 0 through 6 (the key name is only a number 0,1,2,3,4,5,6)

7.) Add a binary value "Attributes" for each of the keys 0 thru 6

8.)   Assign the value 01 81 00 00 01 00 30 00 the the attribute for 0

9.)   Assign the value 01 81 00 00 01 00 31 00 the the attribute for 1

10.) Assign the value 01 81 00 00 01 00 32 00 the the attribute for 2

11.) Assign the value 01 81 00 00 01 00 33 00 the the attribute for 3

12.) Assign the value 01 81 00 00 01 00 34 00 the the attribute for 4

13.) Assign the value 01 81 00 00 01 00 35 00 the the attribute for 5

14.) Assign the value 01 81 00 00 01 00 36 00 the the attribute for 6

Now, this just keeps things as they are.  So to swap the Z rotation axis, and the Z axis, we just need to swap the attribute assignment.

10.) Assign the value 01 81 00 00 01 00 35 00 the the attribute for 2

10.) Assign the value 01 81 00 00 01 00 32 00 the the attribute for 5

See what we did?  Unplug the G940, wait a few seconds and plug it back in.

Go look at the properites in Game devices control panel now and see that Axis Z and Z rotation are swapped.

Similarly you could use this method for any of the axes that you want to change out.

Unfortunately, this only works when you don't use the Logitech drivers.  But this also tells me that Logitech could easily fix this problem if they wanted to, all I had to do was take 30 minutes and read the WHDC documentation from Microsoft to move the axis assignments around.

Keep in mind however, that making this change could cause another game program to be mixed up on which axis goes where, but as I said, I have a suspicion that this will also fix the rudder pedals problem that I have with Battlefield 1942 as well.