Monday, January 31, 2011
Twitter Fritter
But I was wrong. Not just a little wrong - a lot wrong. Way wrong (How you like them grammar skills, beyoch!)
After reviewing the frequency of responses to comments posted, I found the following rating was pretty accurate. It basically comes down to the following odds per 10 posts of a response:
Facebook: 8
Blog: 4
Twitter: 1
When posting a question:
Facebook: 10 (100%)
Blog: 6
Twitter: 2
My "free" time is evaporating every year. I have to reduce my online footprint. Something had to go, and that something is Twitter. I'll keep the account, but only because Twitter's account policy is brainlessly arcane and ill-conceived. But I won't be a-tweetin anymore.
Licensing vs Inventory
Let's see... Enterprise, bundled, site, concurrent, per-user, per-machine, per cpu, per core, per terminal client, per domain, per nic, "free", activation required, license file required, environment variables, registry keys, dongles, license servers, borrowing, subscription covered upgrades, firmware-tied, etc.
When the Earth comes to an end, before we round up all the attorneys and politicians, can we round up these idiots and feed them to the sharks?
What Would You Do?
You do what I did: Laugh and shrug. Maybe add "well, isn't this what you wanted?"
Bugs that May Never be Fixed
I'm guessing that you are most likely familiar with Windows Environment variables, since most of the readers here are pretty savvy about Windows stuff. So, you should be pretty familiar with how 64-bit Windows variables are spread out too…
%programfiles%
%programfiles(x86)%
…and so on.
Well, guess what? VBscript (WSH), has a little bug regarding how it handles the [programfiles] variable on 64-bit Windows 7. To demonstrate, try this…
- Open a CMD console
- Type SET and press Enter
- Observe the values for [ProgramFiles], and [ProgramFiles(x86)]
- Type echo %programfiles% and press Enter. Observe the output.
- Now run the following VBscript code and observe the output
Set objShell = CreateObject("Wscript.Shell")
wscript.echo objShell.ExpandEnvironmentStrings("%ProgramFiles%")
Notice anything odd? While the echo statement returns "C:\Program Files", the script result returns "C:\Program Files (x86)", as will "%programfiles(x86)%". So how do you get the 64-bit native app install path of "C:\Program Files"? Well, using the ExpandEnvironmentStrings method - you don't.
And you might expect that you could rely upon the Environment property of the WshShell object, like this…
Set WshSysEnv = objShell.Environment("PROCESS")
wscript.Echo WshSysEnv("ProgramFiles")
But, sadly, it too returns "C:\Program Files (x86)"
And just when you thought that maybe something like KiXtart could ride up on a stallion wearing a shiney suit of armor and save the day with …
Break ON
? ExpandEnvironmentVars("%ProgramFiles%")
Well, think again.
There is one workaround, but it's not very "elegant" in terms of methodology (but it works, hey):
Set objShell = CreateObject("Wscript.Shell")
sysdrv = objShell.ExpandEnvironmentStrings("%SystemDrive%")
progfiles = sysdrv & "\Program Files"
The same approach works for KiXtart and others as well.
Conclusion
Given that Microsoft left VBscript at the wedding altar, sobbing and destitute, and ran off in a stolen convertible to Vegas with PowerShell, I wouldn't expect any changes to this behavior - ever.
Making Environment Variables Follow Users Around
Some Windows applications rely on System or User environment variables to provide a global configuration setting that is queried during application launch, or while the application is being used. A common example of this is ADSKFLEX_LICENSE used by many Autodesk products. There are others, such as those used by Oracle, and whatever.
Most of the time, users stick with an assigned computer and things are static and happy. But when you have a user that moves around different computers, but you need a setting to follow them, then you may worry about scripting or registry hacks. Fortunately, Group Policy Preferences makes this easier than blowing your nose.
There are more ways to map out how to apply settings (logically) than I have the time or patience to describe. So for this example I'm going to pick one scenario: The dreaded Microsoft Certification Exam question format…
Your company, Stinkfist Inc., has two FlexLM license servers in the production AD environment: Server "A", which handles licensing for the bulk of production, and Server "B" which is isolated for R&D users only. You gave up trying to figure out how to use an options file with feature sets to segment license pools within FlexLM because you drink too much and spend way too much time flirting with the cute receptionist.
You get a call that senior R&D engineer, Duke LaCross, needs to travel from office to office, but can't bring his laptop on the trip because he's concerned about it being confiscated for all the porn files he's collected. So he needs you to figure out a way to make it so where he goes, when he launches AutoCAD, it pulls a license from server "B". But if anyone else gets back on the computer, it pulls from Server "A".
You hang up, dash over to 7-11 and buy a canned energy drink, two 5-hour energy drinks, an apple pie, and a bottle of water. You get back, sit down, consume all of these items at once, and now you need to devise a plan. What do you do?
Answer: (choose one)
A) You slip a $50 bill from your wallet and pay the intern next to you to figure it out. If he makes it work, you take full credit. If it fails, what the hell? He's an intern, and therefore replaceable.
B) You tell Duke to shove it.
C) You open up Group Policy Management Console, create a new GPO, configure the Preferences to assign a user environment variable "ADSKFLEX_LICENSE=@ServerB" if the user is a member of the "Obnoxious R&D Users" group, but assign it "@ServerA" if not in that group. You know that in order to do this, you employ the "Item Level Targeting" feature of the Group Policy Preference and filter it based on Group membership.
D) A and B and then you go drinking because it's nice outside today.
I hope you picked C.
Sunday, January 30, 2011
Some Quotes from my Past
"I'll cook a plate of dog shit, medium-rare, if someone pays me enough" - John, the head cook at a restaurant I once worked at, after a customer demanded a 2-inch Filet Mignon "cooked 6 seconds on each side". He tipped John $100.
"Alright. You ladies grab your tampons and dance up to the roof and start working." - Mike, construction boss (the roof was five stories high and sloped 30 degrees, it was 4:30 AM and had been raining all night)
"When you get out there, all the directions are based on cows and rusted cars in the yard." - Tim, my boss when I delivered paint. In this case out in the boonies beyond Arc, Va.
"Don't bother me. I'm massaging my temples with a .45" - Paul, a former boss in the IT world. One of his favorite phrases.
"You can't treat users like that. They're way too stupid." - Betty, an IT manager
"Contracts are made to be changed. So change it!" - Linda, uber-vicious IT procurement manager for a large corporation, talking to a senior Autodesk or Microsoft rep. By the way, they changed it. They always do.
Saturday, January 29, 2011
Domain Service Accounts are STUPID
I've covered this before, but apparently, amazingly, there are people on this planet who do not read my stupid blog. As if there is anything more important or interesting out there. Geez.
(Imagine this for just a moment: Rioting in Cairo comes to a halt, as one guy over on the side yells out "Hey! Check this American idiot blog out!" and the crowds quietly converge around this guy's laptop to read this right now. Yeah. It could happen. Right after the monkeys fly out of my butt).
I've mentioned this topic several times in the past, like here http://skatterbrainz.blogspot.com/2009/02/windows-7-2008-r2-managed-service.html and here http://skatterbrainz.blogspot.com/2008/11/can-you-roll-your-own-management.html and here, but most importantly here http://skatterbrainz.blogspot.com/2008/08/using-system-account-instead-of-domain.html
I feel like a traveling minstrel everytime I have to explain this to someone. Even more amazing when I have to explain it to a SCCM administrator. As if they didn't already use this when granting permissions to the MP and SLP role hosts on the System Management OU in Active Directory.
It goes like this:
The local SYSTEM account only has rights to the local machine, by default. But, what happens when you attempt to access a remote resource using the local SYSTEM account, is that the remote resource sees the incoming authentication request coming from DOMAIN\COMPUTERNAME$ (where "DOMAIN" is your NetBIOS domain name, and "COMPUTERNAME$" is the name of the computer where the SYSTEM account process was initiated). The "$" suffix is Windows' way of identifying a computer account (as if it doesn't already have enough other ways to know this).
All computers which have been joined to a domain become members of the default group "Domain Computers". This group is not a member of any other groups by default. It is not granted any resource accesses either, by default. It's just sitting there, in case you need it. Well - YOU NEED IT.
You can go about this in one of three ways:
- For resources that need to grant access to all domain computers, just grant the "Domain Computers" group the appropriate access.
- For resources that need to grant access to one specific computer, just grant the Computer$ account explicit access (although, this technically breaks the AGUDLP or ADLGUP methodology, or whatever. I live by it, but don't ask me to say it right)
- For resources that need to grant access to a specific collection of computers, create a security group (Global or Universal, whatever) and grant access to the group
Sounds easy - Right? That's because IT IS EASY. EASY as taking a dump after eating a pound of Chinese food and a box of laxatives. You'll wonder why you EVER bothered making stupid domain accounts to run scheduled tasks, backups, launch services, etc. Then you'll smack yourself in the face realizing you don't need to manage passwords anymore either.
Please. Give it a try.
Friday, January 28, 2011
Mathematical Certainties and
We've all heard it a million times: "Anything's possible."
No. It's not.
There are plenty of IMpossible things, regardless of whatever your optimistic smoke-blowing belief system may tell you. There are also IMpossible things on the pessimistic, fatalistic side of the bong room as well. Don't think you sullen moaners are off the hook here either.
If you ever bothered to pay attention in Math class, you may have heard of something call a "limit". In case you were passed out in the locker room with a bong in your hand and your underwear draped over your head that day: A limit is essentially, an average value that represents the closest you will get to zero without ever reaching it. It's most often used with respect to mathematical functions, like 1/x or 1/x2. As you increase the value of x, the resultant value is smaller and therefore approaches zero. But it can NEVER get there.
For most adolesent males, this can be demonstrated by the "hot chick" at the party. The one that is way out of your league. You bring her drinks. You attempt to charm her with your wittiness, even while sporting your Star Wars or "No place like 127.0.0.1" t-shirt and Wayne's World ball cap. No matter what you do, she's not taking the bait. The point when you give up is sort of what the "limit" would be (as you approach the zero chance of scoring).
Pfft. And some folks wonder how I couldn't possibly teach high school math….
This concept, tangentially, also applies to probabilities. At least in my short-circuited, hops drowned cranium - it does. And perception IS reality, well, then my axiom holds true by transitive reasoning. I said all that with a beer in my right hand, sometimes I impress the shit out of myself. Heh. Where was I? Oh yeah: limits, probabilities and impossibilities…
When someone, usually me, says "That's impossible", it's not uncommon for some irritatingly obnoxious optimist to rebuff that with something uber-deep like "Yes, it is". Whoa. The depth is dizzying. I may have to put down my Wittgenstein book and step away from the ledge over that one. Well, I hate to take a dump on your optimism dinner plate, but I can rattle off a few "impossible" things that can mathematically be proven to be so improbable as to qualify (by virtue of my bong-fest transitive limits theorem above) as being IMPOSSIBLE, at least as long as humans inhabit this ball of dirt and water:
- Peace throughout the Middle East
- The end of world hunger
- Zero crime
- A political system that truly serves the people
- I will ever catch up on my bills
I'm a pragmatist. I don't care what Webster's defines that word to be. I define it as "to an optimist we are pessimistic, and to a pessimist we are optimistic". Centrist. So that means (you probably guessed it already), that this theorem is reversible. So, there are also postulates for pessimistic functional applicability (say that with a mouth-full of beer! Go ahead…). Some stupid examples - drum roll please…
- The world will end on Jan 1, 2012
- The world will end on Nov 11, 2011
- AIDS would destroy mankind
- SARS/Avian Flu/H1N1 would destroy mankind
- Tsunamis are waiting to kill us all any day now
You get the picture. Consistency is the single most important aspect to anything we say or do on this Earth. Whatever you do, be consistent. With your logic. With your advice. With your work ethic. With your actions. ALWAYS BE CONSISTENT. If your views on things cannot be applied with equal validity to ALL situations, then they are invalid. 1 + 1 cannot equal 2 some of the time. It has to be true all of the time.
So, my theorem then, applies to optimism, pessimism and to my own deluded internal beliefs, so it is therefore perfect. The net result? Extremism is dumb as shit. Any questions? Don't worry. I wasn't expecting any. Where's my beer?…
Are we really THAT f-ing pathetic?
One of my customers, who happens to run an extremely tight ship, just also happens to have a GPO that configures UAC to run at the top-most level (always prompt). When I first encountered this, I was a little surprised, even startled a bit. But I quickly adjusted and moved on. After six months of working within that environment, I realized how useful and beneficial that really is. In fact, I realized that after the first week. Maybe the first day. But when I described this situation to my colleagues outside of this environment, I saw the same reaction from each and every one of them: shock and dismay.
Really?
I'm always curious as to the rationale behind decisions, views, opinions, so I dive into this one head first. The reasons completely blew me away. First off, I would offer the benefits, which are simple yet powerful:
- Optimum protection against malware and accidental screw-ups
- A continuous "Run As" prompt that works well with NOT EVER LOGGING ON AS AN ADMIN
That last one comes directly from the mouths of EVERY SINGLE security handbook from UNIX to Windows and all systems in between.
Yet, the main reason they don't like this?
- It's too much of a pain
Really?
What pain?
"Constantly having to type in my credentials. ugh!"
![]()
Wow. We've become so f-ing pathetic that we can say to others, with a straight face, that TYPING is a "pain" or "tiring" or "cumbersome", etc. ? Ho-ly crap! I started out in my tax-paying employment life working in the trades. Insulation, steel, painting, construction, roofing. Then I moved on to paint delivery, and a ba-zillion other stupid (yet incredibly enlightening and educational) jobs before tripping over a pothole and falling face-first into the IT world.
When I hear some whiney-ass IT person say that TYPING is painful, difficult, tiring, or annoying, I want to smack them in the head with a pipe wrench and a roofing hammer. To me, this is like standing in a room full of Marines, prepared to deploy to a war zone, and crying on their shoulders that I broke a nail and therefore cannot accompany them on their mission. Wow. Just wow. Just f-ing wow.
Grow a pair. Do your job correctly/properly, or find another career path where whining is not only allowed but expected. You know, like political service.
Thursday, January 27, 2011
Catch-Up / Happenings
Projects:
Automate computer replacement process involving a combination of SCCM OSD + scripting + SQL + AD + web forms
Automate employee + computer assignment and AD account mgt with scripting and SQL with web forms
Automate computer renaming step within SCCM OSD (WinPE) using WMI (BIOS) and script using a web service query from remote database
Automate app PID assignments for Attachmate users via SQL + scripting + web forms
Scripts for cleaning up server folders by file-age, removing empty folders, while excluding folders with specific regex pattern matches.
Sharepoint Foundation 2010 + BDC + AD-->SQL script to generate employee web directory
Reading:
The Lost Symbols by Dan Brown
Atlas Shrugged by Ayn Rand
Crisis Economics by Nouriel Roubini and Steven Mihm
Bill Bruford, Autobiography
Getting back into walking and jogging again, weather permitting
Wednesday, January 26, 2011
Stories: A Brain Dump from a Derailed Book Idea
A while back I was going to publish a book (e-book) on stories from my years in IT work. Not the techy, geeky, nerdy crap. Just the funny, stupid, ironic stuff, memorable moments that have stuck with me for a long time. Rather than expound upon them into excrutiating detail, I'm just going to post the summaries on this blog. They're all one hundred percent factual and true. Names are replaced or omitted to avoid law suits.
Blackberry Sauce
I came home from a busy Friday at the office and my wife called out from the kitchen. I walked in with my backpack and lunch box to see a bowl of peeled and de-veined Shrimp relaxing on a bowl of ice and big cup of cocktail sauce. As I gazed up there was a frosty glass and a cold bottle of some unpronouncable Belgian Ale sitting next to it. I could hear angels singing and playing harps on the clouds. I dropped my stuff, kissed my wife, and charged over to the table. As I rounded the end of the table, my Blackberry belt-clip caught on the top of a chair and forced the Blackberry to pop out, do a few flips in the air, and land squarely in the cocktail sauce. I froze for a full second, and then panicked and fetched it out. No more than two seconds elapsed at most. It was too late. The combination of vinegar, sugar and horse radish effectively anihilated the circuitry. The LCD display (2003 we're talking) started devolving the characters within another five seconds until it just shut down and would never again power up.
$80,000 Plotter and a Red Marker
While working [insert U.S. Navy Shipyard] in the data center room, I was assigned to finish up some "Damage Control placard" drawings on a mainframe/workstation Intergraph system (talk about duck hunting with a f-ing EMP ray gun). The workstation was attached directly to a [insert big corporate brand name] pen plotter that, according to the printed purchase order taped on the side, cost the U.S. Navy $80,000 and change. It was as big as a hot tub. Huge! I went to print the drawings, which were in four colors: cyan, green, black and magenta. Only problem was that no matter what we tried, it would not print magenta (or red, for that matter). The vendor rep, assigned to do NOTHING else but watch over this beast, sat in the corner, reading a newspaper. He did that EVERY day of the entire three months I spent there. He was paid to sit and read (and actually more time for sleeping, no kidding).
We woke him up and brought him up to speed on our issues. He made a few suggestions. None of them worked. He called corporate. Corporate pointed him to the engineering office (the folks that designed that contraption). We put them on speaker phone and spent an hour trying diagnostics, test modes, back-door tricks and everything. In the end, the engineer on the phone said (and I quote): "I'm sorry, but you'll just have to print it out and trace over it with a red marker."
Colors
In 1988, I was working with a four-man team, three shifts per day, to finish up a 3D model project of certain "spaces" on a naval warship. This was on a Computervision CADDS CV-4X workstation terminal (state of the art at that time, at $30,000 per workstation (roughly) and we had three going around the clock). One day our supervisor walked up looking very anxious and worried. He said "We're expecting a visit from [insert scarry government agency name here] on Monday. They want to see the models." He had us scared shitless.
Mind you, at this time (1988), those "3D models" were entirely wireframe. There was no Goraud or Phong shading on that platform. Not even flat shading. Nothing but wireframe. You really had to use your imagination when rotating the views around at non orthogonal angles. We weren't sure what to expect. Nothing but a mash-up of lines, circles, arcs and text, all in different colors. The best of what the 1980's had to offer.
Monday came. I wore a pressed shirt and a tie. I hadn't worn a tie since the last wedding or funeral some months before. The moment came. Four suit-and-tie guys were escorted over by our boss. They looked serious. Brief introductions and then I sat back down and started diving into the model. They said nothing. Total silence. My boss issued quiet directions like "zoom up on that" or "rotate around to this". I navigated. They breathed. It was tense. After a good five minutes of apprehensive silence, one of them finally spoke up:
"Man. Would you look at all them colors."
Three for Three in Three
Back in 1995, at Christopher Newport University, we had three computer labs: CS, Math and English. The CS lab was all Sun OS or Solaris, with a small Linux lab running Slackware or Red Hat; The Math lab ran Macintosh computers with Mac OS 8.5; and the English lab ran white-box x86 PC's with Windows 95. State-of-the-Art at the time. I was a Freshman that year and still finding my way around the campus, the labs and the social idioms that existed at the time.
At the end of the Fall semester, it was crunch time, when students were cramming into every corner trying desperately to finish up projects before looming deadlines. I squeaked into the CS lab and had just finished my Oracle SQL-Plus project and submitted my files, then I ran a system check command and the screen blew up. I waited for the system to reset itself, which it did. Then I logged back in and ran the command again, and again it blew up. I called the lab monitor over and he called over three more geeks and they were astounded. They were pretty sharp guys and couldn't figure it out. I had to leave, while they kept on troubleshooting, since I had a Maple project to finish in the Math lab.
Over in the Math lab, I logged onto the Mac OS 8.5 desktop and finished up my Maple project and filed it on the disk. Then I went to drag a file from the desktop into the trash can, but instead I mistakenly dragged the shortcut for the CD-ROM drive into the trash can. The screen and the system locked up hard. No response at all. We had to unplug the computer and plug it back in to do a reset. After getting the Math lab monitor to stand behind me, I repeated the process and it again locked up and died. That's two down.
Then I went to the English lab and logged onto one of the Windows 95 computers. I don't need to tell you how this went. I'm sure you can guess. But in the end, I managed to crash a UNIX workstation, a Mac OS desktop, and a Windows 95 desktop within three hours. The good news is that I successfully finished my projects and filed or saved them before the crashes occurred. I was a legend in the labs for about a week. Good times.
Server Panic
While working on a high-visibility project once, in the IT department of a big corporate behemoth, one of the PM's said "I have friends at [big-computer-vendor]. The server will arrive tomorrow at 7:00 AM sharp. I want it online before lunchtime." We clicked our heals and responded "Ya vole! Herr commandant!" and bolted for the door. The server indeed arrived at 7:00 the next morning. We unpacked it, and set it in the rack and powered it on. It wouldn't power on. We checked all the connections, but nothing seemed to work. We called the commandant. He was not happy. After a gruff bark he hung up, called the vendor, who flew a technician down from D.C. on a private jet. He arrived an hour or two later. Five of us stood around the server as it lay open on a table, as if surrounding the remains at a casket viewing.
The technician looked at it for a second. Dropped his backback. Reached out with both hands and placed his fingers on the face of the motherboard. He pushed it gently to one side and it fell into place with a loud "snap!" sound. We plugged in the cables and it worked. We were dumbfounded. He smiled and said "Sometimes you just gotta kick those things to make em work"
Shorter Stories:
Squirrels
A monsterously huge U.S. corporation (no names, of course) was about to test a major data center power failover circuit. Preparations were made. Contingencies were discussed. Documents were overflowing in folders and e-mail inboxes. IT staff were scheduled for an entire weekend. When the moment came to kill the primary circuit, the secondary never came online. Dead. Only after lengthy investigation was it revealed that the secondary circuit had a fat power cable running into the back of the data center building. Squirrels had chewed through the cable. Millions of dollars in disaster protection efforts felled by a small rodent.
Salvadore Dali-top
We had a shipboard technician take a brand new Dell Latitude laptop to the ship for calibration work. He sat it on top of a steam boiler vessel. When he returned a few hours later, it had melted. It looked like the clocks in a Dali painting. I wish I had a picture of that.
Site Pick of the…
I can't say "week" really. Not even "month". So I may have to settle for something more logically applicable like "Site Pick of the Moment".
If you do any web site development or design, or even client/server applications development, or just need some cool stuff for a document, presentation or project, hit this baby up. Click the "Browse" link at the top of the site, and run through some of the collections. This is one of better sites I've found. Not just because it has a ton of images and image style groups, but because it does NOT punch you in the face with pop-ups and watermarks and javascript alerts and multiple-steps of agreements and download confirmations, blah blah blah. It's simple and straightforward. Enjoy!
Book Updates
Well, I haven't bored anyone to tears about my feeble book efforts in a while, so I figured it was time to rip off the ear muffs and scream into those virgin ear drums again.
The books are still selling fairly well, holding steady. I'm not going to be challenging any authors you've ever heard of anytime soon though. According to my calculations, I should have enough earned to pay half of my family cell phone bill for one month. That might sound pessimistic, but to me that's awesome! The fact that I sold even ONE copy of each book was nice. Selling a few dozen was beyond my expectations. I look at authors like Dan Brown, John Grisham, and the lady that wrote the Harry Potter series and I can't begin to imagine what those numbers must feel like.
I'm not even talking about revenue, just pure numbers sold. That is astounding when you think about it. Hat's off to authors that garner that level of interest. Regardless of what you may like or dislike in author styles, the fact that they can gain a following and post numbers in the six and seven digits is admirable if not inspiring. After all: we're talking about books, not TV shows or movies. With all the talk about books being a dying hobby, the numbers don't support that at all. As late to the game of reading as I've been (long story, for another day), and seeing as many young folks in the book stores today, I'm optimistic about the future of books, whether in print form or electronic.
Stabbing Myself in the Eye with a PitchFork
After an hour of trying to figure out WHY my stupid-ass Map 3D 2011 deployment was spontaneously rebooting the client just at the precipice of installing the main event. Holy ******* ****!
Did You Know...
For most editor applications (word processors, code editors, graphics editors, sound/audio editors, etc.), if you pin the shortcut to the Taskbar, you can right-click on it to display the most recent ten or so files and open them in the editor directly. That's a little time-saver from the usual opening of the application, clicking File/Open and browsing. It's even quicker than opening the application, clicking File and clicking from the "Most Recent" or "Re-open" list.
Tuesday, January 25, 2011
DirectX or Direct Eggs
Remembering my Dad
Dad: "I can't tell boys from girls anymore. The hair is all the same now."
Me: "You're just being cranky. You don't understand how we dress nowadays. That's obviously a girl."
Dad: "How can you tell?"
Me: "By the walk."
We were going about 20 MPH in a 25 zone on a neighborhood back street. There was a long pause of silence as we finally caught up to this pedestrian. Both our eyes darting to the right constantly to pick up any clues to be the first to claim victory. When we finally passed "her", it was obvious "she" had a full-face beard. I'm talking: Grizzly Adams beard now. I was completely blown away by this.
Dad: "Uh huh!" smiling and nodding
Me: "Wow. I didn't expect that at all."
Dad: "He's not a very attractive girl."
Autodesk Resellers
A short office conversation today was all about comparing thoughts on various Autodesk resellers. The comment that had everyone nodding in agreement was this:
"It's funny that, over the years, I can call Avatech and can get the same person if I need them. But every time DLT calls, it's a different person and they don't seem to know who the last guy was I talked to."
I'm not condoning, supporting, recommending or advising ANYONE to go with ANY particular reseller. Go with who you trust. I'm just sharing anecdotal verbage. For the record, I won't say which of these two my customer actually purchases from.
Monday, January 24, 2011
Rant Time Again: Microsoft Access
This started with a brief post on Facebook, but I felt it necessary to expound upon this with a little more digressive digestive congestive festive and restive zeal. Enough of that already.
Where do I begin. Hmmmm. Finger's are tapping… Here goes:
I hate Microsoft Access. I despise it. It might just provide enough evidence that "evil", as it were, can and does in fact exist, even in the skeptical minds of agnostics and atheists. My atheist colleagues would likely say "there is no 'evil', there is only man; trying desperately to blame some ethereal scapegoat so as to avoid responsibility for his own actions". That may be true. I'm not Nietzche or Wittgenstein, so my rebuffment to this would be "Oh yeah? Well, then, what about Microsoft Access?! Hmmmm?!" At this point they begin stammoring and stumbling and stuttering and hemming and hawing. I've handed their Superman belief system a fresh wheelbarrow of Kryptonite.
Less educated folks would respond to my response with "Well, Mr. Rational - Access was created by man, so it still qualifies as wrong-doing by man, not the transendental force called 'evil'". I ignore them and continue picking my nose. Confident of my superior defectiveness. Those with a greater understanding of it would then be nodding and saying something like, "Sorry buddy. Access transcends the potential evilness of mankind alone. It digs down to a whole new level of treachery and depravity." And then they'd all form a line to the Confessional and heavy drinking.
Where was I? All this quasi-intellectual bullshit I'm spewing forth… Oh yeah…
When Microsoft decided to bundle this little land mine called "Access" into their Office suite, they essentially created a toolbox in the shape of a crack pipe, that enticed idle fingers to begin doodling and tinkering. If they would have simply used it as a "database" and left the GUI (forms, reports, etc.) to REAL applications, things would be fine.
But noooooooooooooooooooooooooooooooooooooooooooooooooo….
They HAD to build "applications" inside of Access. Thus began the existence of the Taliban. Darkness and horror suddenly had a new face.
Everyone working in an IT department of anything resembling a large business, corporation, municipality or Federal organization is nodding in full agreement already. And if they're not, well, they are idiots. Why? Because…
As soon as these garage mechanics turned NASCAR professionals throughout our office departments everywhere started dabbling with Access and building "mission critical oh-my-f***ing-GOD-our-company-will-self-destruct-if-you-take-away-this-mission-critical-oh-my-GOD-access-application", they essentially created what is now referred to as the "shadow IT operations" of our world. They spent company funds on MS-Access self-teaching books ("Access for Idiots", "Access for Dummies", "Access for Asswipes", "Access for Pedophiles", and so on). They spent hours building tables, queries, and then (I get nauceous at the next few words): forms, reports and VBA code to glue this festering pile of rotting carcas meat into a "business application". One or two was expected. Three dozen were born in the first month, and they've only multiplied exponentially ever since.
But, as Ron Popeil would say: "But wait! That's not all!"…
Then came the revealing moment of true evil: The next Office upgrade. When they tried to open their little wunderkind uber-creations in the newer version of Access, guess what happened? Go ahead. Take a guess. A wild guess. I'll wait…. That's right - they crashed.
The solution? Upgrade all the stupid Access trashware crapplications (heavy emphasis on the plurals).
The Results? --- IT was typically forced to hold off deploying what would otherwise be a routine Office upgrade, because this Access "oh-my-GOD-we-have-to-have-this-or-Revelations-begin" database "application" with crappy VBA forms that required hours and days and weeks of upgrade torture and testing and more torture - IT was forced to shelve it for months, often a year or more. Has this lessened? Subsided? Relented? Hell no! There are just as many of these little six-legged pieces of fecal matter running around as ever.
The feeling in the pits of our IT stomachs, after being ordered to wait for the non-qualified simpletons to do their own upgrades, was about the same as what an OB-GYN would feel when being told to wait while the stumbling husband setup the video camcorder.
We tried. IT folks begged them to move their data into SQL Server or Oracle. They refused. We tried to educate them on de-coupling. They blew us off. We cried to management, but the little weezels got there first. Today, we sit in meetings that still end up with someone going "well, HOW are we going to move forward with all these Access database apps?" with a tone like a bad Victoria Jackson impersonation.
It started with Access 97. Then they had to hold everyone up while they upgraded it to Access 2000. Then again for Access XP (2002), and again with 2003. Then another upgrade to Access 2007. And now we're suffering through this mind-numbing cesspool of idiocy to get to Access 2010. "Wait! You can't deploy that upgrade because ---"
IT cuts them off …
"yes, we know, because you need a few months to upgrade the ****ing piece of **** Access **** you insist we never migrate into a REAL application environment. All in the name of YOU justifying your pathetic existence and diversion of corporate funding away from our training budget and Summer picnic and all that. Go ahead. We'll wait. Maybe by the time Office 2014 ships you'll have it ready for Office 2010. That's fine. Not like we need to improve any efficiencies around here."
Want a little entertainment? Walk over to one of your overzealous Access "developers" and (with a straight face) say "So, did you get the word that we're moving all the Access databases into SQL now?" Then stand back and watch them implode. It's like taking crack from an addict. I've actually tried this. It ain't pretty. I almost felt sad watching them have a complete mental meltdown and defending their application as if pleading for their life at gunpoint. Sad.
Can you tell I ****ing HATE Microsoft Access?
Yes - you will now have the urge to say "But Dave, Access is a great little app!" Yes. By itself, it's not a bad thing. It's what it ALWAYS gets glued into that ends up screwing up IT operations everywhere. Thousands of Access database apps, culled and coddled together by hours of self-learning effort, in the name of impressing the co-workers and the boss and making themselves vital to the company. And when these self-made Access folks speak up in a meeting to say we should use Access as the backend to all of our intranet portal apps, with thousands of employee users - I grit my teeth to the point of shattering them in little pieces. Anger. Anger! The angst is overflowing… breathe…. breathe…. aaahhhhhh…. mmmmmmmmmmm…. happy thoughts - yessss…. happy thoughts. It.will.be.ok. Aaaaahhhhhhhh….. mmmmmmmmmmm…
Epilogue -
The council has voted. Dave is now supreme leader of the cosmos. The emperor of the galactic federation. He emerges from the ominously tall heavy wooden doors, sauntering casually down the long polished marble walkway to the grand podium, to greet the masses, cheering in elation at the hope that has now, finally, materialized into the promise. The promise of a better tomorrow. So much hope. So much pent up excitement at the potential he brings to the Universe. He approaches the podium. The gathering masses begin to quiet. They await his first words… shhhhh…. he speaks:
"My fellow galactians, or, er, uh.. whatever the **** you call yourselves. I have decided to begin this first day of my administration with the following decree: All instances of Microsoft Access are to be vaporized immediately." (massive cheers). "And… anyone, speaking in favor of this horrific little beast shall be dunked in ice water and then lit on fire and tossed into a nuclear wood chipper. Any questions?" after the long silence… "Good. I didn't think so." And again the masses erupt in cheer.
Friday, January 21, 2011
Documentaries
I love movies. Probably as much as I love music. My tastes are varied on both sides as well. But one of my favorite categories or genres of movies is the Documentary. I love a good documentary. And it's actually difficult to find a bad documentary. You might disagree with the message being conveyed, or the manner by which a rationale is constructed, but even so, in most cases, the quality of the filming itself is usually worth watching. More than I can say about a lot of over-priced shit at the box office these days.
My favorite documentaries right now are (envelope please?…):
- Restrepo
- God Grew Tired of Us
- Blood Into Wine
- Encounters At The End Of The World
- The Smartest Guys in the Room
- Waiting for Superman
- Supersize Me
- Bigger, Stronger, Faster
What do these things have in common?
- Curing Cancer
- Building a Bridge
- Building a Company
- Invading a Country
- Sending Humans to the Moon (or other Planets)
- Diving to the Deepest Places under the Ocean
- Climbing the Highest Mountains
- Breaking Speed records
- Graduating College
- Operating to Fix a child's Cleft Pallet
- Feeding a Thousand Homeless people
- Capturing a Terrorist in a remote mountainous region
The Wandering Reader
I promised this to almost a dozen people, so I have to do it. I hope I haven't overhyped it already and that this won't be a let-down. It's one hundred percent true and factual, so I have to be sure to tell it accurately; here goes…
So one night I brought two (of my four) kids to Barnes & Noble to spend some time letting their eyes and minds wander. After a few minutes perusing the books in the Philosophy aisle, I heard a man's voice talking in the distance. It had a strange tone and cadence. The more I listened it seemed to sound like a preacher or a minister delivering a damning speech about retribution, consequences and all that. The voice was getting closer. I looked up and saw a homeless guy (you can tell homeless people by the clothes, the hair, the general demeanor, and most importantly: the aroma).
His hair was just past his shoulder blades in length and hadn't been combed (or washed) since probably 1982. The clothes were older than that and looked like he just emerged from a cement truck tumbler. Apocalyptic. That's not the best part:
He would stroll, slowly, up and down each and every aisle of books, reach out and pick up a random book - without ever turning his eyes to see which book. Then he would open it to a random page and read from it like a sermon. One book per length of aisle. As he passed customers and staff, he looked them in the eye as if administering a testament from a Bible.
The good? It was entertaining as hell! I had to walk behind him at the same pace, as if I were his clean-up crew, or body guard. Just to witness this.
The bad? The books he read were put back on different shelves. After an hour of this I'm sure the staff had a lot of re-stocking work to do.
In all, I followed him as he read from about ten books.
Thursday, January 20, 2011
Excerpt of a Quasi-Interview
Ok, so this time it's not "me" interviewing myself, trying to be clever and witty and all that. This time it's a software vendor asking me 20 questions about how I can help advise them on how to make their products more palatable to customers (and hence, more marketable). The only problem, well, two problems are:
1. He asked way more than 20 questions
2. Most of his questions were probing my background and experience, blah blah
If he reads this blog, well, he should know I don't pull any punches. I lay the cards down as I read them. In any case, here are a selected selection of selected selectable delectable questionables…
Q: What is your role in the organization?
"Senior Consultant - hired gun"
Q: How large of an organization (personnel)
"Varies from very small to very large"
Q: Multiple locations?
"Yes. Multiple time zones also"
Q: Multiple languages?
"No. All English" (note: I wanted SO badly to add Swahili and Klingon here, but I held back)
Q: Are your users a member of workgroups or domains?
"Domains" (note: again, I wanted to add "workgroup users are shot on sight, and their disgusting little workgroup trash are burned on the spot!")
Q: I have just a little knowledge of working with workgroups - no experience with domains.
(yes, I know. Not really a question, but oh well…) "Domains are better."
Q: Is there any small or simple applications that you have deployed across a large group that you thought afterward "Man, that was as smooth as it could possibly get."
"Yes" (note: seriously, I answer with a single word. I could've dragged this one on to challenge the length of a Michner novel, but I'm too tired)
Q: Can you describe how you deploy software?
"Varies by customer environment, product vendor and product. Larger environments use SCCM to deploy. Smaller environments generally use scripting or manual installs (depending on the scope)."
Q: Is it typically done during non-worknig hours, if so via some type of automation? I've heard of PowerShell - is that something that is (or can be used)?
"Working hours = avoided at all costs"
"PowerShell for software deployment = Never. Not practical."
Q: If in workgroups/domains [sic] are ther [sic] automation tools you use or considerations I should take for rolling out a deployment?
(this was the 64 peso question for me. strap in, hold on…)
"In general, it's fine that it requires Administrator level permissions to perform the install (as well as uninstall), but make sure your application can function (launch, operate, change settings, etc.) without requiring Admin or elevated rights. Not one of my customers allow "users" to have anything more than "user" permissions. No admin rights are ever given out - ever. This is the single biggest headache we face - dealing with apps that require special permissions for users in order to use them. Major pain. In many cases it's a deal breaker and we reject the app entirely or we strike deals where the customer moves the computer off the network and off of IT support as well. They usually opt for finding another product."
Back to me now…
I can't stress this enough - and this is not directed at anyone in particular. It's aimed at the industry as a whole…
If you develop software, primarily Windows software, but whatever; or if you know people that develop software, make sure it follows this one simple basic common sense golden rule:
Software should NEVER EVER EVER NEVER NEVER EVER EVER require users to be granted elevated permissions in order to use it. Ever. EVER.
If you develop software in 2011 that still requires (or expects) the end-user to have Administrator or (gulp!) Power User permissions, you have failed. FAILED. You should be tasered in the crotch with 400,000 volts, and the fire on your crotch stomped out by a football team wearing ice climbing boots. Then you should be drawn and quartered over a pit of burning coals. There is no excuse for that lazy-ass crap in 2011. In fact, there was no excuse for that in 2000. Get off your ass and code right! Read! Learn! Obey guidelines! Modernize! Or maybe just find a different career path like gardening or street sweeping.
I'm done. Phew!
Coming up for Air
I promise I will post more stuff soon. In the meantime however, my brain is submerged under multiple projects. One of them is very cool and I will blog about it soon. First however, I must finish it and get it through testing and into production. The other projects aren't as exciting but they help pay the bills so they're at the top of my list.

This one project however was a rare goody for me. One of the few times in my professional life where someone higher up pulled me aside and said "automate this stuff" and let me loose on the cat farm to start the herding process. Hearing those words was like an alcoholic being asked if they want a bottle of 50 year old Scotch, or a sex addict being told "you're going to Vegas for two weeks and here's a open-ended credit card." Yep. The word "automation" puts me in a trance like few other things do.
To outline what the "cool" project is about, well, it involves a complicated assemblage of the following ingredients:
- System Center Configuration Manager
- Active Directory
- SQL Server (multiple actually)
- SWBEM SCCM Providers
- VBscript
- ASP, JavaScript, XML and CSS
- A bar code scanner
- PXE booting
- Gallons of caffeinated beverage substances
- And last but definitely NOT least: a room full of some of the most progressive and dedicated minds I've been around in a long time
On this last bullet: I've said it before, many times, too many times, and usually after having consumed way too much alcohol - that if I could build a team of all the best nutballs I've known, we could do anything. I mean AN-Y-THING. Nobody is an expert at everything. I'm certainly not. Some people think I'm some brainiac (others think I'm a complete dumbass, but I won't go there), but really it's about being fortunate enough to work with smarter people. It rubs off.
Working around smarter people changes how you think. It helps you step back from the trees and see the forest. It teaches you not to rush to provide an answer as if some game show buzzer is about to expire and Alex Trebeck is going to follow up with "oh, I'm sooo… sorry." Nope. None of that. It's quality over quantity. It's accuracy over deadlines. And that's something I cannot teach myself. I have to learn it from others and it involves baby steps. I'm forty-six years old and I'm just now starting to feel like the pieces of information I've absorbed over the years are coming together to form a picture. If I can manage to survive another twenty years I should be doing pretty good. Then again, there's my student loans. Eh. Oh well. I can dream can't I?
Name That Product
Water, Bleached Wheat Flour with Malted Barley, Corn Syrup, Palm Oil, Sugar, Diced Apples with Erythorbic and Citric Acid, Contains 2% or less of Each of the Following: Modified Cornstarch, Salt, Dextrose, Calcium Carbonate, Calcium Sulfate, Spice, Sodium Alginate, Sodium Citrate, Caramel, Baking Soda, Agar, Citric Acid, Dicalcium Phosphate, Natural and Artificial Flavor, Locust Bean Gum, Sodium Hexametaphosphate, Sorbic Acid and Potassium Sorbate.
Saturday, January 15, 2011
Windows Install/Upgrade Tip: #1
Before you go to the effort of installing Windows 7 (or Windows Server 2008 R2) on any computer, or before attempting to "upgrade" to either of these, please cross this off your to-do list:
MAKE SURE
YOUR BIOS FIRMWARE
IS UP TO DATE
Thank you. ![]()
Google Reader + Craig's List = Lazy Happiness
Do you dread searching and sifting through Craig's List for things you're interested in buying (or selling)?
Only interested in items with a photo posted?
Only interested in items below a certain price?
Do you have a Google (Gmail) account? Do you use Google Reader? If not, you should. It's one of the best web-based RSS/Atom feed readers in the known Universe.
Here's how I do it:
- Go to Craig's List and click on a category.
- Open the Search page and enter a search criteria ("search for"), select the category (e.g. "Computers & Tech"), select "Title Only" or "Entire Post", fill-in the desired price ranges (if desired), and check the "Has Image" option.
- Click Search
- If the results look like what you wanted it to find, scroll to the very bottom and click the RSS link (bottom right)
- Paste that URL into your Google Reader subscriptions
- Done!
Now you can have all the search results automatically come to your Google Reader folder without having to go anywhere else. You can add other search results as RSS feeds also.
Shifting Gears: From Twitter to Gmail
I posted some articles in the past on how to leverage Twitter for sending and receiving systems alerts using Direct Messaging (DM). That was using Basic Authentication, not the newer (current) OAuth model. But regardless, the biggest annoyance with that approach was Twitter's downtime and backlog. Some alerts wouldn't show up for almost a half hour. Some never showed up. Even the inverse approach of sending DM tweets to an account monitored by my server suffered the same hinderances.
The better approach? GMail. Yes. GMail. Using standard SMTP commands with CDO and pretty much ANY SCRIPT language you prefer, you can get and send e-mail, and it is infinitely more reliable and prompt.
Here's a sample chunk of VBscript code to try for yourself…
strSubject = "Test Message"
strMessage = "This is a test message"
sender = "YOUR NAME <your_address@GMAIL.COM>"
recipient = "someone@somewhere.com" ' or put in a SMS address like "8005551212@vtext.com"
On Error Resume Next
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
If err.Number <> 0 Then
wscript.Echo "error: unable to invoke CDO interface"
wscript.Quit(1)
End If
Set Flds = iConf.Fields
schema = "http://schemas.microsoft.com/cdo/configuration/"
Flds.Item(schema & "sendusing") = 2
Flds.Item(schema & "smtpserver") = "smtp.gmail.com"
Flds.Item(schema & "smtpserverport") = 465
Flds.Item(schema & "smtpauthenticate") = 1
Flds.Item(schema & "sendusername") = "UserName"
Flds.Item(schema & "sendpassword") = "Password"
Flds.Item(schema & "smtpusessl") = 1
Flds.Update
wscript.echo "info: sending smtp message..."
With iMsg
.To = recipient
.From = sender
.Subject = strSubject
.HTMLBody = strMessage
.Sender = " "
.Organization = " "
.ReplyTo = " "
Set .Configuration = iConf
SendEmailGmail = .Send
End With
Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing
wscript.echo "info: message was sent"
This is easy enough for outbound work: sending alerts. For doing the opposite, you'll need to set up a dedicated Gmail account for your server to monitor the Inbox and parse what it finds. Same basic concept as the Twitter DM approach, but using SMTP (and/or SMS) instead.
In case you don't feel like digging back and reading old blog posts, some of the things you can do on the inbound side are rather interesting (and empowering):
- Enable or Disable AD (or local) user accounts
- Unlock user accounts
- Add or Remove user accounts within AD security Groups
- Move accounts around
- Start and Stop services
- Initiate secondary automation processes (manual kick-off)
And so on. Since all this does is set your server up to read specially-formatted Inbox messages and take action on them, you can make it do whatever you want. The world (or at least your data center) is your oyster.
Friday, January 14, 2011
Correction
I over-simplified. Mark pointed out that Group Policy works fine for deploying software installations. It does, under limited circumstances.
Does it compare with the flexibility, visibility, and recovery capabilities you get with System Center Configuration Manager or even scripting? No.
If you need to push small packages, like 7-zip, FileZilla, Adobe Flash ActiveX, and things of that scale, it's fine.
If you're pushing to a few dozen computers at a time, or carefully timing your button click to ensure it comes to life during off-peak network utilization, then it can work.
If you don't care to know what fails or goes awry until after it's all done, it can be fine.
If you don't care about uninstalling one thing before installing the new thing, it can be ok.
If you don't care about book-ending the installation (pre-reqs, post-reqs, post-configs, post-cleanup, inventory updates), it can be fine.
If you don't need to touch 20,000 computers in a short time frame, it can be ok.
If the installation packages are all .MSI, or you like shooting heroin and building .ZAP files, or you like making .MSI packages for everything, then it can be fine.
And, yes, there are conditions that meet all of these criteria, and that means using Group Policy is just fine for doing the heavy lifting. I'm kidding here obviously, but in all seriousness (whatever that means) Group Policy can be fine for deploying software installations. I'm just saying that I wouldn't ever recommend it as the standard method for doing it. I would make it the exception rather than the rule.
Thanks to Mark for pointing this out. In my rush to keep it simple, I went too far in the simple direction and ended up on the short bus. I will try to be more careful in the future. Short buses hurt when you walk in front of them.
Like I said: Scripting vs Group Policy
After consuming a tasty beer and a steak delivered by the hand of God herself (yes, it was *that* awesome) I was thinking about how to frame this topic. Then it dawned on me that the best way is the simple way. You know: simple.
** Effecting outbound configuration management: Group Policy
** Collecting inbound configuration data: Scripting
Got it? Ok, let me try it the complicated and confusing way…
If you want (or need, and let's be honest, it's hard to distinguish between want and need most of the time - isn't it?) to touch a bunch of computers or users to modify settings, lock down things, open up things, add things, take away things, in the registry, files and folders, shortcuts, drive mappings, printer mappings, environment variables, services, networking, screen savers, wallpaper, home pages and favorites, etc. --- then use Group Policy.
If you want or need to scrape data from machines or user sessions, collecting files and registry data, tallying counts of things, installing and patching things, uninstalling and cleaning up things, etc. --- the use Scripting. And even then, check to be sure there isn't a GPO setting that can do it first.
Oh, and one more thing: DO NOT use Group Policy to install software. Yes - it's technically feasible. It's also technically feasible to fornicate with a moose, but you don't do it (at least I hope you don't).
And if you want to grill a steak, don't use scripting or Group Policy. Use a grill.
Group Policy, Tattooing, Scripting, Blabber
Put them all together and what do you get? That's right: GroupPolicyTattooingScriptingBlabber. That's what. I don't need to explain or define Group Policy. Nor scripting. But many folks who work in the IT field don't really understand the Group Policy characteristic known as tattooing. Relax, I'm not going to explain that one either. (insert hysterical laughter here). But I will brush up against it here a bit.
Tattooing is basically where a GPO setting is applied by virtue of scope validity, but then once the target is out of scope, the setting remains. This is because the "Not Configured" option means that nothing is affecting or manipulating the setting, so if it was set by something already, it is simply ignored, so it remains.
Need a tangible example? Ok.
You create a GPO. The GPO contains a setting to change the desktop wallpaper to a photo of a gay pride parade in downtown San Francisco. You thought it would be a great idea for your redneck buddies to see that when they log in on Monday morning. Until now, you have no GPO's that apply desktop wallpaper settings, at least not linked to the OU where the redneck buddy user accounts reside (it is a user-based setting after all). So now you go ahead and link your clever little GPO to the OU where their user accounts reside and you leave to go have a few dozen beers with some friends.
Monday comes around. You completely forgot about your little prank. Jimmy Bob gets to work, takes off his camo jacket and matching camo hat, sits down and logs on. Five minutes later, Jimmy Bob is standing over your shoulder breathing heavy. You turn to inquire as to his visit and are met with a fist to your face. Not a good Monday. After stuffing tissues in your nostrils to soak up the leaking blood, you turn back to your keyboard and mouse and unlink the GPO. You assure angry Jimmy Bob all is well and he finally leaves.
Five minutes later, Jimmy Bob returns and kicks you in the nuts with his size 12 steel toe Gortex camo hunting boots. He also spits a glob of baccky juice on you as you roll around in a fetal ball on the floor. Your IT co-workers wisely pay no attention. So you ask: "I unlinked it. Why is Jimmy Bob still hurting me?"
Because now that that GPO is unlinked, there is nothing to effectively "undo" or override the settings it effected. You have options:
- Make another GPO to forcefully modify that setting to something that causes you less physical harm, and leave it in effect.
- Make another GPO to forcefully modify that setting to something that causes you less physical harm, and then unlink it.
- Use a script or manually remove the Group Policy settings from the target computer (usually in the Registry)
Option 3 is the ugliest, and since your face is bleeding and your crotch is damaged, you probably don't feel like doing a lot of manual labor right now. And let's not forget that time is of the essence here? You need to placate Jimmy Bob soon or he will pay you another painful visit. Nerds are no match for angry moose-sized rednecks after all. So this leaves options 1 and 2. Which is best?
Option 2. Unless you plan on continuing to use that GPO for managing those settings going forward. This simply nudges the targets back into a newer configuration state and leaves alone, sort of like bumping a model ship in the water to change its course. This option also reduces subsequent startup/login processing overhead after the change has been implemented.
I told you there was blabbering involved.
Next up: Another spin on Scripting versus Group Policy…
Thursday, January 13, 2011
Autodesk Memories
I was having a chat with a co-worker today about "the old days" of some of the software we used back in the 1990's and up to now.
Somehow, we got on to the subject of how Autodesk, their business, and their products have evolved (or devolved, in some respects) since those glorifed wild-west days:
- AutoCAD LT used to come with network licensing, and was barely over $1000 per license.
- The updates for AutoCAD Rx versions were c1, c2, c3, c4 and out-of-band updates were c4a, c4b, etc.
- R10 was when the public started paying attention
- R11 was a significant evolutionary upgrade
- It was all DOS until R13 for most customers (yes, they released Windows and UNIX versions earlier, but nobody paid any attention until R13)
- R13 sucked ass
- R14 was when AutoCAD took off on the highest trajectory
- AutoCAD 2000 pissed off everyone with the changes to plotting
- AutoCAD 2000i was one of the stupidest Carol Bartz ideas.
- The transitition from MDT to Inventor for A.D.N. folks was about as smooth as two blind cats trying to have sex on a frozen lake.
- ADT folks saw the same oafish transition coming their way with Revit.
- Today's pricing for AutoCAD and AutoCAD LT are in the same mushroom-swilling, crack-inhaling rodeo circus as Adobe's products. Even pricing for converting a standalone license to network has been tied-off and injected with free-based marketing juice.
- The early days were dominated with developer dreams, designer ideals, and customer wishlists. Today is dominated by shareholder value.
- Their biggest competitor was once Bentley.
- Anyone remember Actrix? Stop laughing. The best way to tell that story is like this: There was once this fast-running, smart-mouthed little kid in the neighborhood named Visio. Autodesk decided to go beat the shit out of him and chased him with a feeble Actrix beating stick all the way up to when the little Visio kid knocked on the door to big-brother Microsoft. As soon as the door opened, the Actrix stick disintegrated into thin air. (note: it actually lives on in crap like EDSA, which is now Paladin DesignSpace)
- Remember Volo? AME? ADE?
Kindle Wishlist
I've submitted most of these to Amazon's Kindle Wishlist forum, but I figured I'd post them here also. Mainly because I'm bored.
I love my Kindle. I really do. It's a game changer for me. I read more now than I have in years. Actually, more than I've read in decades. It's just so convenient. But if I could wave a magic wand and change it, here's what I would do:
- Move the page buttons closer to the top of the device so I don't keep pressing them by accident when handling it.
- Add an accelerometer to enable auto-rotation (like most cell phones)
- Keep the e-Ink display, but make it faster
- Add touch-screen features with a larger screen area (eliminate the key pad)
- Add more screen-savers
- Allow saving word look-ups to a custom dictionary list
- Add book ratings directly from the "menu" list, so I can vote on a book using a standard 5-star range.
- Ditch the browser. Add a dedicated wi-fi connection form
- Add physical MP3 playback control buttons
- Add EPUB support
- Make blog subscriptions "free"
- Provide at least one "free" newspaper subscription
Dave Interviewing Dave
"So, now that you've almost reached forty-seven years of age, I'd like to ask you what your thoughts are on certain topics. Would that interest you?"
"Sure"
Ok, then. What do you see as the biggest joys in life right now?
My wife and kids. My health. My dog. Good food. Good wine and beer. A good movie. A good book (on my Kindle, of course). Bicycling and hiking. Programming.
What would say are your biggest turn-offs?
Irrelevant opinions. Blame. Apathy. Condescention. Extremism of any kind.
If you could fix one thing in your life, what would it be?
I'd eliminate my student loan balance.
What do you look forward to each day?
Feeling good. Being happy and making people around me happy.
If you could fix one thing in the world, what would it be?
I'd make it so everyone would listen to everyone else. And I mean listen. Not just hearing. Not partially either. Everything they say. Giving it thought. Understanding it and being convivial in response. That alone would eliminate most fighting, arguing, killing, wars, crime, and so on.
What kind of music do you like?
Any kind. Well, I enjoy a wide range of music. Mostly because I was a full-time musician for a few years. So I'm happy with Shostokovich, Zappa, Korn, Dylan, Cash, Tool, Zeppelin, Stravinsky, Montgomery, Beck (both of them), Cake, Ozzy, Van Halen (not Van Hagar!), Coltrane, Hancock, The Who, The Stones, Bizkit, Linkin, Debussy, Schubert, Corea, Monk, and Mickey Hart.
Any music you don't like?
Kiss. Eagles. The Osmonds. Jonas Brothers. Michael Jackson. Anything stupidly pop like Justin what's-his-face.
What books do you like?
Too many to name. Same for movies.
What programming languages are you most comfortable with?
That depends on what you call a "programming language". For me, it's VBscript, KiXtart, SQL, Javascript, CMD, PHP, CSS, WMI/WBEM/WQL, in that order. I would have put LISP at the front, but those days are gone now. Same goes for C++, Java and C#. I just don't use them anymore.
What are your political leanings?
I hate politics and anyone who opens their mouth to talk about politics. It's mental masturbation that solves nothing, infuriates and instigates for no purpose, and does nothing but divide people and perpetuate animosity. Nobody reads the facts, they listen to editorialized "news" pundits who spoon feed them puked up rhetoric to whip their fanbase into a ratings frenzy. It never convinces anyone to "change sides", so it only does a circle-jerk with like-minded simpletons, or pisses off the non-believers. It's non-productive. There is zero value-add. If you want to vote, and it makes you feel good to vote: go vote. Then STFU.
Same for religion?
Yep.
What do you see of technology in the future?
Just read any decent sci-fi book.
What trends do you see shaping the software development industry?
More commercialization and less free-thinking. More government and corporate control over online services, online activity, online exposure. Less innovation on a personal level, more at the business and government end. The wild west is on its way out. It was sure a lot of fun while it lasted.
What technologies do you feel were shamefully overlooked or under appreciated by either their owners or the consumer?
OS/2 Warp. LISP. Thin clients. Web TV (although it's undergoing a rebirth, as are tablets). Nuclear power. Self-driven cars.
What are the biggest lies you've heard?
Anything where the sentence that follows it is "you can't afford not to." Also, any of the following statements:
"I have an open mind."
"I'm not prejudiced."
"I respect all religions."
Why the last one?
Because I've never known anyone who says that who even knows all of the religions in this world and what they represent. It's like saying "I like all food from everywhere." I say "Really? Even raw monkey brains?"
What are your religious views?
I'm probably a Deist. Go look that up. I keep forgetting what it means, but I know that most of the American "founding fathers" called themselves 'Deists' so they can't be all that bad. If that doesn't work, I'd call myself "lazy".
What's your favorite sound in the world?
The sound of children laughing.
What's your least favorite sound?
It's a tie between people yelling at each other, and my neighbor's dog barking all night.
What's your favorite curse word?
Fuck.
What words turn you off?
When someone says "You know what I mean?" after every sentence.
What do you like most about working with technology?
Exploring the ways it can help people. Either by saving them time, or improving what they do. Empowering them to get more done with less effort in less time. I love to automate things. Building things and watching them run on their own. It stems from my youth and endless hours with Lego kits.
What do you dislike most about working with technology?
Dealing with people that don't understand it, or those who try to marginalize it. Impeding progress. Inserting needless protocol into places where the cogs of the machine would work fine without their wrench being tossed in. Human politics. I also despise myths and false propaganda. FUD.
What things do you find most amazing?
Phi (1.618). Innovative minds like Einstein, I.K. Brunel, Jonas Salk, Beethoven, Mozart, Frank Zappa, Anders Hejlsberg, I.M. Pei, Jonathon Ive, Hunter S. Thompson, Isaac Asimov. Women. Sunsets. How so many isolated cultures discovered alcohol on their own. Most of what I see on Discovery Channel.
Anything else?
Yes. Why anyone bothers reading anything that I write.
Tuesday, January 11, 2011
Book Updates
Looking over the sales reports, I found a few surprises:
AutoCAD Network Administrators Bible 2011 - Selling much better than I ever expected. I really am surprised by this. This has been the best seller yet, and I actually sold a few on Barnes & Noble as well.
Packagers Pocket Reference - Selling much better than I ever expected as well. This is my second biggest seller so far.
Visual LISP Developer's Bible 2003 - I can't believe it sold *any* copies after having been out on the Internet for seven (7) years for free. The fact it has sold a dozen copies in a month is just amazing to me.
Visual LISP Developer's Bible 2011 - Even with the massive updates and long hours, it's not selling nearly as well as I expected. That pretty much closes the book on that project forever.
It will take me a little while to absorb this and figure out my next direction.
Guess What Time it is?
This post went up at 11:11 AM on 1/11/11. That's right, it's 11:11 on 1/11/11. That's almost all the one's a human is allowed to use in one place at one time.
The only higher count will be possible at 11/11/11 at 11:11:11 AM in which case atoms will cease to function, gravity will unravel, cosmic and thermal forces will disintegrate and existence as we know it will become non-existent. Any questions? Ok then.
Book Outline
So, I already mentioned I'm starting to put together the outline for another book. The idea, so far anyway, is to gather my notes and blog posts from the past year or so and spit-shine them into a real "cook book" of sorts. Here's a hit-list. If it sounds worthwhile, I will embark on this journey. If not, well: eh.
I'm shooting for at least ten "projects" to cook up with detailed recipes for "do-it-yourself" folks. Little to no purchasing of software required (beyond having a Windows network, preferrably running Active Directory of some sort).
- AD Domain Controller Diagnostics Reporting
- Computer Inventory Reporting
- Tweet Server Events to You
- Tweet Commands to Your Servers
- Generate Password Expiration E-mail Notifications
- E-mail Notification of New Computer Accounts
- Automatic OU Location of Computers by Name Parsing
- TBD
- TBD
- TBD
Monday, January 10, 2011
Say What You Want…
I played in rock bands, pop bands, jazz bands, even a sucky-ass country band (as if the pop band wasn't sucky enough) through the 1980's. It was a crazy, insane wild ride, even for a local band that didn't travel far. Regrets? Sure. Everyone likes to say they don't have any, but the truth is every human alive would jump at the opportunity to fix something they did wrong in life at least once. Which brings me to this…
I'm not trying to get preachy or anything. I don't have any legs to stand on for that sort of ilk. But from a purely musical perspective, this is a fantastic work of musical construction. The lyrics are beautiful. The video is oddly fitting (I could've done without the very end, but the lumps come with the gravy and it actually makes sense if you've known of Ozzy since he left Sabbath). It's nice and I wanted to plop it down on this page to share with you. Even if you despise him or just feel indifferent: give this one a watch. That's not a lot to ask.
I Have Not Forsaken You
I know I've been a bit absent here lately. Actually, that's a logical conundrum isn't it? I can't really say I've been "absent here". That might cause a AI processor to have a freaky meltdown somewhere, then again, how the **** would I know?
I'm taking a breather.
The reasons are itemized for your methodical amusement below:
- I just wrapped up two books in a row and published them. Each of them consumed a lot of personal time (as if I had any to begin with)
- I'm just now (Monday) walking around again after getting the shit knocked out of me by a combined Flu and Bronchitis bout from mid last week
- It's cold. I hate cold weather. I hate it - hate it - hate it, with a passion. There's a reason old people move to warmer places: They acquire wisdom from living in shitty cold places and realize they should've moved much sooner.
- I digress a lot, which means I get distracted easily.
- I am trying to teach myself to read again. I bought a Kindle (which you've probably heard about already) and it won't let me go. It follows me everywhere.
- I'm becoming uber immersed in a project at work. Uber, because it means I rarely leave my seat (literally, not good for my health), and because it's also one of the most interesting, and enjoyable projects I've touched in a few years.
- I'm only just beginning to think about what to write about next. At this point I'm thinking about compiling a bunch of blog posts from the past two years relating to do-it-yourself systems automation projects and elaborating on them in more detail. Just a thought at this point. I'm open to suggestions (other than those suggesting I jump off of tall places)
Saturday, January 8, 2011
The Visual LISP Developer's Bible, 2011 Edition
I would have posted this sooner, but I'm still barely out of bed with the Flu and bronchitis. I hate Winter. This was actually available a day ago but I've been medicated and sleeping. I'm going back to bed now. I hope you like this. I put a lot of work into it and Phill Ash put a lot of editing/proofing time in as well.
The Kindle e-Book: http://www.amazon.com/dp/B004I43BFK
The Web Site: https://sites.google.com/site/visuallispbible/home
Sunday, January 2, 2011
When 1 + 1 = 0
Once upon a time (uh oh, here goes another fairy-ish tale beginning?), there was a state government who, in their quest to cut expenses, decided it was time to outsource their IT operations to a commerical contractor. Everything about it made sense to the financial folks, who, after all are the brains behind most corporate/government braintrusts. The reduced benefits structuring costs, the eliminated pensions, the laisse faire employment tenants, all combined with an existing "work-at-will" legal framework, made it a no-brainer. So the wheels were set in motion.
But there were two major problems this created, which led to yet more problems.
First, the financial golf-player suit guys didn't think it was necessary to involve the IT management folks in their decision-making process. Technical folks obviously do not possess any useful wisdom for making decisions that impact technical operations. That domain belongs to the MBA/CPA folks. So they marched onward and when the plan was catalyzed into full momentum, they generously informed their propellor-capped brethren of their wonderous idea. The net result of this was a mass exodus of those that were either ready to retired, or possessed the skills and experience to land another job quickly. The life rafts were left with the lesser skilled and unlucky. Floating adrift in a void economy as they watched their ship of achievements slowly sink below the rough seas.
Second, with the turmoil of the markets of the time (2007-2008), the chosen contractor was dealing with their own contractions in the Washington D.C. metro area. Contracts were drying up faster than Joan Rivers' vagina in the desert, and jobs were being cut at a dizzying pace. Ok, maybe that wasn't nice to say about Joan, but she's not known for being nice to anyone, is she? And besides: they have medication for that now I'm told. Ok, moving along… So, when the last bastion of workforce in the DC area was staring into the abyss, they were calmly told to consider jumping onto the impending state IT contract, or close their eyes and jump, hoping for the best. Again, those that had the skills and experience to market themselves were off to greener pastures. The rest were left to consider relocation or sucking on the end of a double-barrel vacation.
The vortex this spun created a combination of the left-behind and the left-behind. Those motivated by fear with those motivated by fear. You get the picture. What sort of "quality" meal might anyone with even an eighth of a functional brain expect to see from such ingredients? Well, you get this.
To be fair, it's incorrect, inaccurate and illogical to extend the blame of this on other parts of either of these institutions. The storm is relatively focused and distinct. It resides in Richmond. Unfortunately, the ship captains have not yet realized the detrimental impacts this boondoggle has had on their respective marketing efforts. Their credibility is being picked apart by their competitors, the media, and to some extent the public. For example, even today (January 2, 1011) the Virginia Dept of Motor Vehicles (DMV) web site is out of commission, as it has been for quite some time. The reduction in DMV brick-and-mortar locations was pushed by the demand for cost reductions and increased leverage of online services. Now that these online services are offline, and there are fewer physical locations across the state, the net result is an ugly day at work for many DMV workers.
So, I ask that - whether you are yourself a financial MBA/CPA golfer suit wearing person, or if you know one, that you print out several copies of this article, roll them up into a tight bundled tube, encase it with several turns of duct tape, grip it tightly and beat the living shit out of anyone who says the word "outsource" in a positive tone. Be sure to follow that up with "and a Happy New Year to you!"