Windows Tech Support

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Monday, 31 December 2012

Half-Assed Review: Dollar Shave vs. Gillette Disposables

Posted on 21:00 by Unknown
Happy New Year!  I figured I would start off 2013 with something a little different, and I thought it would be interesting to make my first post at the the zero hour of 2013.  And besides, I needed a distraction from writing a bunch of techno-babble articles, and watching the same tired ball drop again on TV, so here goes...

Battle of the Blades

I recently signed up for the $1.00/month, base level "Humble Twin" membership plan with DollarShaveClub.com (hereinafter abbreviated as "DSC").  After the first month I think I have enough shave-time to do a comparison review.  I'll break it down into a few basic categories, and digress into my usual nauseating spewage of quasi-rationale.  Let's cut to it, shall we?  Har Har... :)

I've been a faithful customer of the Gillette Custom Plus disposable razor brand for years.  I've also used many others, from Schick and Wilkinson to generic crap, as well as electric razors from Braun, Norelco and Remington, among others.  I have a face that needs a daily shave, even if I find the routine boring and (mentally) irritating.

Disclaimer

I have not been compensated, endorsed, coerced, threatened, or influenced in any way whatsoever by any manufacturer, vendor, re-seller, or anyone besides myself as it pertains to anything contained in this article.  I have not contacted any other parties in regards to this article or any product mentioned herein.  I am not a professional product tester, although I have been known to pretend to play one on my imaginary TV show.


For clarity: The images shown herein show the Gillette Custom Plus with the green handle, and the Dollar Shave Club product with the silver and black handle.


The Mechanical Aspects

The first thing you'll notice is that the Gillette product is essentially a "uni-form" assembly, with no (easily) removable parts, whereas the DSC "humble twin" product is a little bulkier, heftier, and heavier, with permanent handle, using interchangeable blades.  Basically, the "humble twin" is very similar in design to more expensive hand-held razors, such as Gillette Mach 3 or the Schick Quattro Pro.  Aside from that, the geometry, and size, of these two products are noticeably different.

Shaving Head Angle

The DSC form has a more shallow deflection angle with respect to the "normal" shaving surface and the portion of the handle to which it is directly attached.  Put another way: The angle between the main handle grip and the segment that attaches to the blade assembly is more acute with the DSC model, and more shallow with the Gillette model.  The DSC has a sharper bend.

Shaving Head Design

The shaving head itself of the DSC model, is smaller in surface area, with a different proportional aspect ratio (side-to-side is wider but the front-to-back width is narrower).  The outer edges are not as smooth and actually protrude above the shaving surface more than the head on the Gillette product.  The pivot range is also roughly 20-25 degrees "back" from that of the Gillette product, which affects the angle required to hold the handle for a comfortable shave.
Figure 1 - Pseudo-scientific diagrammatic mumbo-jumbo stuff


Handle Design

The handle of the DSC is about 5% larger and 10% heavier than the Gillette model, due to having more metal content in the handle and a bulkier shaving head attachment mechanism.  The weight balance is also much more towards the shaving head.

The Shaving Experience

Admittedly, this is a subjective comparison in most respects, but I will try to highlight the more objective, measurable differences.  The smaller shaving head, and relatively sharper edges, of the DSC product make for a much less comfortable shave due to the outer edges focusing pressure against the skin in more narrow points of contact.  Also, because of the edges protruding more in front of the blade surface plane, the shave is not as close to the skin.  This results in having to take many more passes over the same area to get as close of a shave as the Gillette.  The net effect is a bit more skin irritation when achieving a comparable result with the Gillette product.

Figure 2 - Relative shaving head sizes and angles

Figure 3 - Relative head designs
The Cost

The DSC base level "Humble Twin" plan is advertised at $1.00 per month.  However with shipping it comes to $3.00 per month, or $36.00 annually, which includes 5 blades per week, or roughly 260 blades per year.  The Gillette Custom Plus sells in a package of 52 at Sam's Club, for $23.88*. If the Gillette blades each last a full week, that equates to a monthly cost of $1.99.

From my personal use, I would say that both products last about a full week per blade-set each.  If that's fairly accurate, then the cost comparison leans in favor of the Gillette Custom Plus by a savings of $1.01 per month, or $12.12 annually.  Yes, I know that's a freaky number (12/12), but I'm not that superstitious, I just act that way.

Figure 4 - comparison of size and bulkiness
Final Thoughts

I know this is subjective and based mostly on anecdotal mumbo-jumbo, but I have to pick the Gillette Custom Plus.  I really hoped the Dollar Shave Club razor would win, because they're the David against the Goliath of the shaving industry that includes Gillette, Schick, Bic, and upstart ShaveMate.  At least that's if I am to believe the touching cards they ship with each pack of blades.  I also am a sucker for clever, funny commercials, especially when they star the company founder front and center.

But it's really all about saving money without sacrificing comfort and quality.  And as cheesy and overused as that phrase already is, it's not only true, but applicable here as well.  For all the talk we Americans give about "buying American", when it comes to stocking up on our kids' school supplies, I'll take the 3-ring binder sold at Walmart for $2.99 over the 3-ring binder at Joe's Home-made School Supplies for $4.99, even though Joe makes his in the shed out behind his house and Walmart ships theirs in from China.  The main reason is that I'm not buying just one of them, but three or four, per child, and I have 4 children to equip (or at least I did, until the older two graduated and started into college).

And besides, that binder shipped from China fed a lot of Americans along the way.  From the docks where it was offloaded, to the trucks that transported it around, and the forklift drivers and loaders at the warehouses that stored it, to the store clerks to un-pack it and arranged it on the shelves, to the clerks that rang me up at the front.  And don't forget that Joe can go to work for Walmart if he wants to.  I'm guessing that with the chump change they spend on the 11-year old Chinese factory worker who assembled it, that the majority of that $2.99 went to everyone in between, including Walmart, where it helped plump the wallets of a few golfers in the boardroom as well.  3-ring binders or disposable razors, same difference.

What was it Gordon Gecko said?

Conclusion

Am I sentencing Dollar Shave Club to an eternity of dishonor?  No way.  I will keep an eye on their terms of service and product line and make my decision when it looks like they have something to change my mind again.  I'm not one to commit a business to the electric chair unless they've done me wrong, and Dollar Shave Club has not done me wrong as far as I know.  I'm just not overwhelmed by their product "right now", but who's to say what they will do in the future?

Holy crap!  I sure digressed on this one, didn't I?  Sometimes I amaze even my simple self.
Read More
Posted in marketing, products, reviews | No comments

Skatterbrainz Top Blog Posts of 2012

Posted on 20:30 by Unknown
I'm taking a tip from the awesome Mr. Jeffery Hicks, (okay, "taking a tip" is code for "i'm being a copycat") and decided to pull a report of the Top 10 posts on my blog site (for January 2012 to December 2012), in order of most-visited to least-visited.  Call it vanity.  Call it shameless self-indulgence.  Call being a typical American.  Just don't call me Shirley.

Interesting side note: Google rolled their Analytics engine into Blogger a while back, which was a nice improvement.  Except that they dropped a few features during the "upgrade", such as the ability to drag a custom date window on the timeline to filter report results, and the preset option for "Past Year".  I've submitted feedback to ask if they might restore those features.  I'll keep you posted.  And now, on to the show...


Top Ten (10) Most-Visited Posts of 2012:

[1] Windows 8: Scoring My Predictable Predictions:
http://skatterbrainz.blogspot.com/2012/12/windows-8-scoring-my-predictable.html

[2] Windows 8: What I Think About It:
http://skatterbrainz.blogspot.com/2012/03/windows-8-what-i-think-about-it.html

[3] Windows 8 on TechNet Not So Great for TechEd Folks:
http://skatterbrainz.blogspot.com/2012/08/windows-8-on-technet-not-so-great-for.html

[4] Blog News and Updates:
http://skatterbrainz.blogspot.com/2012/11/blog-news-and-updates.html

[5] Deploy Windows 8 Start Tiles Using Group Policy Preferences:
http://skatterbrainz.blogspot.com/2012/11/deploy-windows-8-start-tiles-using.html

[6] Books and More Books and More...
http://skatterbrainz.blogspot.com/2012/12/books-and-more-books-and-more.html

[7] Merry Christmas! A Few Holiday Thoughts to Share:
http://skatterbrainz.blogspot.com/2012/12/merry-christmas-few-holiday-thoughts-to.html

[8] Another Book Announcement
http://skatterbrainz.blogspot.com/2012/12/another-book-announcement.html

[9] Dear CEO's: Be Careful with that Cloud PR Stuff
http://skatterbrainz.blogspot.com/2012/12/dear-ceos-be-careful-with-that-cloud-pr.html

[10] I Feel That a Feel-Good Feeling Feels Pretty Good
http://skatterbrainz.blogspot.com/2012/12/i-feel-that-feel-good-feeling-feels.html

Top Five (5) Visited Posts Since 2008 (aka "All Time"):

[1] Enabling Windows 7 Remote Management via Group Policy (2009)
http://skatterbrainz.blogspot.com/2009/08/enabling-windows-7-remote-management.html

[2] Windows 7, MSG.EXE and Group Policy Preferences (2010)
http://skatterbrainz.blogspot.com/2010/04/windows-7-msgexe-and-group-policy.html

[3] What Does the AutoCAD "PURGE" Command Do? (2010)
http://skatterbrainz.blogspot.com/2010/07/what-does-autocad-command-do.html

[4] Packaging and Deploying Autodesk 2011 Products with Configuration Manager 2007 (2010)
http://skatterbrainz.blogspot.com/2010/08/packaging-deployment-autodesk-2011.html

[5] Using PowerShell with Microsoft Access Databases (2009)
http://skatterbrainz.blogspot.com/2009/05/using-powershell-with-ms-access.html


Read More
Posted in articles, blogs, bongloads, cranium drainium, reviews, stupidity, thoughts, writing | No comments

Saturday, 29 December 2012

Top 20 Commands Every Windows 7/8 Server 2008 / 2012 Administrator Should Know

Posted on 10:40 by Unknown
TechRepublic posted a list of "10 Windows 7 Commands Every Administrator Should Know", which is very good, and it includes the following:
  1. sfc
  2. sigverif
  3. driverquery
  4. nslookup
  5. ping
  6. pathping
  7. ipconfig
  8. repair-bde
  9. tasklist
  10. taskkill
I would have combined 9 and 10 with a "/" delimiter and added (at least) "reg.exe".  I mean, most administrators use it much more frequently, and with more urgency, than pathping or repair-bde.  Not to discount the value of those two, but there are others that really should be included. I guess I would have probably named that list "10 Windows 7 Commands That Would Be Helpful for Administrators To Know".  A little longer obviously, so how about "10 neat-o Windows Commands"?

In any case, I know this doesn't fit the "top 10" format, but maybe a "top 20" would be more suitable?  I could've just said to open a CMD console and type "HELP" and press Enter.  That will display a summary of CLI commands which are all extremely useful in particular situations.  But that would be un-administratively lazy of me, so I picked out ten of them to use for my add-on list.  For each command, just enter it with a trailing "/?" or "/help" or "-help" or "-?" (Microsoft is so standardized on the dash-or-slash thing).
  1. reg
    • For adding, editing, deleting, importing, exporting, loading and unloading items in the Registry
  2. cacls / icacls
    • For viewing and modifying ACL's (security descriptors / permissions settings) on Files and Folders.
  3. regini
    • For managing ACL's on Registry keys
  4. set
    • For viewing environment variable assignments, as well as assigning new variable/values
  5. shutdown
    • For initiating a shutdown, restart or logoff on a local, or remote, computer
  6. netsh
    • For viewing and managing network adapter and firewall configuration settings
  7. msg
    • For sending CLI alerts to other users or computers over the network (replaces the older "net send")
  8. schtasks
    • For viewing and managing (create, modify, enable/disable, delete) Scheduled Tasks
  9. diskpart
    • For viewing and managing logical disk partitions
  10. systeminfo
    • For displaying computer properties and configuration settings
Regardless, both lists are worth tucking away in your brain if you "manage" Windows clients and/or servers for a living.  Even if you do it as a hobby it's not going to hurt.  The list could easily go on and on.  I didn't include WMIC or PowerShell, which some would argue are equally, or more, important than these legacy CLI tools.
Read More
Posted in command, microsoft, network administration, windows 7 | No comments

Thursday, 27 December 2012

Prediction Confliction

Posted on 18:55 by Unknown
It's been a long time since I tried on my alliteration duds, and these two words seemed to fit just about right. So anyhow, as we approach the end of another calendar year (on the Judeo-Christian calendar) I felt it was time to say some stupid things again. Although, this time I'm wrapping it in a blanket of smoked bacon and quasi-intellect to give it that home-cooked goodness.

My Predictions

1. The Anonymous (aka "Wild West Show") Internet will be Dead

What: Eventually, but not that far off, no one will be able to be truly anonymous or impossible to locate when they use the Internet.

When: On or before 2024

Why: The strongest proponents for this are governments and corporations. The only opponents are individuals. Guess who has more money, power, influence and the ability to basically "make it happen"? Lao Tsu (or Sun Tsu?) would've called this an "unstoppable force", but the only potential "immovable objects" are a bunch of people on their couches with a remote control in their hands. I know you're going to say "but, but, people will rise up and ...", and I'll finish that sentence with "...succumb to the boiling frog syndrome". It won't happen abruptly, but gradually over time.  The way all diabolical plans work best.

2. American Domestic Violence will Rise

What: Incidents of Americans attacking other Americans based on religious, ethnic, economic, political and racial differences will rise in frequency.

When: From now through ...?

Why: it was obvious from the most recent election that the public is growing more polarized. It is also apparent that the major press outlets feel they gain from helping to foment this growing divide, possibly from the increased "news" content that is created from the results. Creating news is more appealing than having to wait for it.  I'm not even referencing the recent spate of shootings (Newtown,CT, or the fire-fighters, or the cops in Kansas or Washington State), just general public angst and polarization will be enough to drive this evil crap higher.  Add to that the rising popularity of energy drinks, violence on TV and movies, and you have a little gasoline for the fire.  Enjoy!

3. Electric Vehicles will Finally Take Hold

What: once the right market forces get fully behind it, pure-electric vehicles will become commonplace alongside existing combustion engine and hybrid vehicles. And not just four-wheeled products.

When: On or before 2024

Why: Once the corporate players figure out a good profit angle it will be a no-brainer for shareholders.

4. TV "Reality" Shows will Gain Equal Status with Movies

What:  Award shows will emerge that are devoted entirely to the so-called "reality" shows on cable and satellite TV (okay, they're on the major networks also).  But, more importantly, the public will view them as being of equal "quality" and "value" as cinematic movies and premium cable movies as well.  They will hand out awards that will be of equal status with the Oscar, the Emmy, and the Grammy.

When: Within five (5) years, probably sooner.

Why:  We are becoming dumber by the minute.

We will have to check back in this posting in 10 years to see if I was right. The low-risk aspect of this is I'm guessing nobody will remember this in 2024, an I could be dead and gone anyway.

What do you think?  Am I completely off my rocker?  Post your thoughts in the Comment box below...
Read More
Posted in entertainment, internet, people, predictions, society, technology, transportation | No comments

I Feel That a Feel-Good Feeling Feels Pretty Good

Posted on 03:00 by Unknown
Does anyone else remember the feeling in the air after 9/11?  I'm talking about the public social mood in America (it might have been felt elsewhere, but I don't know, since I don't travel outside the US).  People seemed to be genuinely more polite and courteous to others everywhere I went, for about two weeks.  Then it dried up and we went back to being our normal crusty selves. At least it's little head pops up during Christmas, even if only for a few days.  It would be nice to see it stick around longer.  I apologize if that comes across as a bit preachy.  I'm as crusty and annoying as any American can be, so I know it has to start with me, myself and I.  I'm going to try.
Read More
Posted in american, cranium drainium, people, social stuff, society, thoughts | No comments

Tuesday, 25 December 2012

Survey Time: Choose Your Next Book Topic

Posted on 12:58 by Unknown
Looking over the sales figures for the books I have posted on Amazon, it's difficult to determine what I should focus on going forward.  The best-selling book, by far, is The Visual LISP Developer's Bible, 2011 Edition.  The problem with this however, is that I haven't had the opportunity to work with Visual LISP since 2011.  My career path has taken me away from that type of work (AutoCAD customization), so I don't feel that I can do it justice anymore.  And besides, as I've said (or hinted at) many times before: Autodesk doesn't seem to demonstrate a strong desire to promote that language over the likes of ObjectARX and .NET.  I could be wrong.  I have been wrong before (I think).

So, I need a little help from you, if I may ask?  I'd like to know what you think I should focus on for my next, and future books.  Or let me know if I should find another hobby.

The power is in your hands.  Use it wisely...

Take the Survey here:

http://www.surveymonkey.com/s/SZLCWXY 
Read More
Posted in authors, books, projects, writing | No comments

Merry Christmas! A Few Holiday Thoughts to Share...

Posted on 06:57 by Unknown
Today is Christmas Day, and I just want to share a few thoughts with you...

Whatever your faith. Whatever your personal beliefs.  I want to take a moment to THANK YOU, for taking the time to read this.  THANK YOU for visiting my blog.  Whether it's your first visit or you happen to be a regular visitor:  THANK YOU!

It may sound cheesy, maybe a bit insincere, but in all honesty, I appreciate each and every visit to my blog.  Maybe it's vanity.  Maybe it's just knowing someone cares what I think (although I still scratch my head about that).  Maybe it's a tiny little bit of thinking I've helped someone, somewhere, either learn something new, or just helped them to smile for a moment.

I will be the first to admit that I can run rampant with a one-sided discussion to the point of driving it head-first into a mountainside.  My blog is a mess, strewn with the debris of crashed thoughts and the rising smoke of imploded ideas. (hold a second.... that was pretty damn good, I'm writing it down for future use...)

Every now and then I think I can crank out something that works okay, however.  Just once in a while.  But that's okay.  I don't get paid for this in cash.  My reward is maintaining a tolerable level of insanity.  With the ever-increasing tide of information and pervasive noise in our world today, it's amazing that any one person or group can get any meaningful segment of the population to hear what they're saying.

Conversely, it's amazing that people have time to read one more blog, especially from a relative "nobody" like myself.  I really appreciate it.  I know I've called it quits at least two times in the past, but I think I'm going to stick with it until my time is used up on this planet.  Again: THANK YOU!
Read More
Posted in bongloads, cranium drainium, holidays, people, society, thoughts | No comments

Sunday, 23 December 2012

Windows 8 - Scoring my Predictable Predictions

Posted on 18:37 by Unknown
Some of you, okay, two of you, might remember that I posted a semi-quasi-kinda-sorta-prediction about Windows 8, back in March of 2012 (it's almost 2013, so I didn't want to say "of this year" as it might confuse even myself).  (see "Windows 8 - What I Think About It").  I ended the post by promising to follow-up when Windows 8 was "closer to final release".

Well, I'm following up on it now:
  1. I still stand behind what I posted.  That sounds bold, but it's really an easy thing to say, since I'm really standing (ok, sitting) "behind" miles of Internet circuitry, bazillions of electrons, a bunch of ISP connections, wireless signals, a million smartphones and mobile devices, and a glass of milk with some half-eaten cookies.  At least my trusty, and sleeping Beagle will protect me.
  2. Today's news has been reporting that holiday sales of Windows 8 have been "disappointing".
  3. Enterprise customers are still Microsoft's bread-and-butter
  4. Even with some signs of hope, the Consumer market continues elude Microsoft (as compared with Google's Android eco-system, and Apple's iOS juggernaut)
  5. The volume of high-profile Windows 8 migration projects appears to be non-existent.  Compared with Windows 7 (remember the impressive list of big customers announcing early adoption?  Yeah.  Not quite there with Windows 8)
  6. Lastly, my statement about the "marketing stupidity" is still as valid.  The ads are still aimed at consumers, not the enterprise.  Until they can coerce the market forces to be aligned otherwise, ignoring the enterprise customer base is shooting themselves in the foot.
I'm not Mini-Microsoft, and I don't have any "inside" knowledge of what goes on out in Redmond like some other folks do.  But as an IT consultant, I see a decent cross-section of municipal, education, and business environments, at least for the scale of our local region (the largest city by population in Virginia).  And what I see doesn't look promising for Windows 8.  As bleak as that may sound, I haven't heard a peep about Office 2013, which is even bleaker.  Customers just aren't asking about it.  When Windows 7 was rolling out, all I heard was one of three things:

[A] "I like it a lot more than Windows XP!"
[B] "I've heard Windows 7 is better than Windows XP.  Should I/we upgrade?"
[C] "I/we didn't like Windows Vista, is Windows 7 really worth skipping Vista for?"

I've heard none of these comments about Windows 8 from any of my customers, and from my discussions with other local consultants and IT workers, they're not hearing it either.  It's a shame too, in some respects.  The parallels/similarities between Windows 8 and Windows Vista are almost uncanny:
  • Most of the UX changes feel unnecessary from a functional aspect.  Some aspects are nice, like the "metro" theme motif itself, but the tiled UI on a desktop or laptop is just not happening for most users.  Even if you happen to disagree with that, it's hard to argue that there shouldn't be at least the option to continue using the traditional Start Menu design.  The astounding number of downloads of third-party add-ons to do just that should be enough to warrant a second consideration.
  • Some features seem more difficult to access (shutdown, restart, Windows Update, etc.) as compared to the previous version.  With Vista it was that whole Network Neighborhood shuffle.
  • The "classic" UI fallback is either crippled or non-existent, opening the door for third-party solutions (Stardock, ClassicShell, etc.) which is a concern for managing a taller "stack" for enterprise deployments.  Many (actually most) enterprise environments I've seen skipped Vista entirely, instead focusing on migrating from XP to Windows 7.  That incurred hardware upgrades, and at least some targeted education of their users, officially (intranet how-to's, e-mails, etc.), or otherwise (ad hoc, over-the-shoulder training).
The solutions to these challenges are already posted to death across the Internet, so I 'm not about to regurgitate yet another spin on all that.  Just read Paul Thurrott's thoughts on it, he's pretty much spot on (I recommend reading the other related "Fixing Windows 8" posts on his site as well).

So, getting more to the point: How would I score my hit-list of predicted fixes for Windows 8?  Let me enumerate thy ways:


  1. A "Windows 7 Classic" theme, that looks EXACTLY like Windows 7.  For businesses to roll-out onto their already shell-chocked XP-to-7 users.  Then we can shift to Metro later when the Xanax runs out.  
    Score: A+ / Start8 by Stardock, ClassicShell, and other add-ons appear to be flying off the virtual shelves as users look for ways to restore their Start Menu comfort zone.
  2. A native App-V client included in the base product.  App-V is cool, but I'm really sick of how hamstrung it is within MDOP and EA/SELECT and it's really holding back a lot of potential.  Sick isn't the word.  Disgusted is more like it.  Score: C- / The XAML (Metro/Tile) application model is a half-way solution to the portability aspect of App-Virtualization models. Nothing has really opened up as far as the App-V/MDOP licensing constraints are concerned, but XAML shows promise for future cross-(Microsoft-based)-platform development.
  3. A native MED-V feature as an option.  My feeling is the same as described for App-V.  
    Score: B / While Embedded XP has kind of been forgotten, at least Microsoft took the rather bold move to offer Hyper-V 3.0 for client devices.  It still lags behind VMware for desktop 
    Virtualization in some respects, but it's still a good move.  Competition is good for the customer (hence VMware Workstation 9's somewhat hurried release).
  4. A better approach to COM activation than DCOMconfig.  
    Score: F / No change.
  5. A better solution to keep the Registry clean.
    Score: F / No (significant) change.

Personally, I feel Microsoft has an easy "out" right now.  They can accept credit for what customers end up favoring, while assigning blame on Stephen Sinofsky for whatever they dislike.  Either way, it's what a Politician would call a "win-win" situation.  Maybe they can repeat the lesson's learned from Windows Vista when pushing ahead with Windows 7:  Mop up the challenges in Windows 9.  Maybe.  There is no crystal ball, so no one really knows.

If Microsoft had a crystal ball, they would name it "Microsoft System Center Crystal Spheroidal Prediction Device 2012 Ultimate Enterprise Edition".  Geez.  I crack myself up. How pathetic.

And there you have it: Another dose of my completely useless, mind-numbing stupidity, shrink-wrapped and stamped with a scratch-n-sniff label that says "Check this out!".

Merry Christmas!
Read More
Posted in bongloads, business, marketing, microsoft, office, technology, thoughts, windows 7, windows8 | No comments

Another Book Announcement!

Posted on 04:54 by Unknown
My new book is on the conveyor belt inside the Amazon factory, heading for a Kindle store near you. In fact, I was notified just this morning that it's available right now!  Yeee-Haaa!  Just in time for Christmas or Kwanzaa!  A bit late for Hanukkah though, oye.

Why Your Next IT Project Will Fail
(and what you can do to avoid it)



So, what's in this bundle of joy?  Here's the book description that I typed up while on Cold medicine, you'll have to excuse the typo's (if any)...
Why do Projects fail? More specifically: Why do IT Projects fail?  Is there a common thread or pattern that exists among failed IT Projects? Is it predominantly a failure of technology; of people; or a failure of both?  Are there warning signs that make it easy to spot the causes before they become problems, with sufficient time to correct them? Are there steps that can be taken to correct the problem once it's begun?  Are there strategies that can help prevent these potential issues from occurring again?
These are some of the questions I address, one by one.  For each potential cause, I offer a list of warning signs, corrective actions, and some straightforward suggestions for preventing them from arising in the future.  The goal of this is to help you keep your IT projects on track, keep your project team focused, and develop the strategies for making future projects more likely to succeed.
If you're still awake (hello?), you may be thinking, "Holy crap! This could lead to the cure for Cancer, or world hunger! How much will this miraculous piece of literature cost me?".  Maybe you blurted it out loud and scared your dog or cat out of the room.

$4.99 USD is the selling price (the price is automatically converted for other countries by Amazon, not by me).  Billy Mays would be flipping out right now.  A possible cure for world hunger for only $4.99?!  No way!  Way!

Merry Christmas! and Happy Holidays! - to you, your family and friends!
Read More
Posted in amazon, books, kindle, management, people, projects, technology, writing | No comments

Tuesday, 18 December 2012

Books and More Books, and More

Posted on 04:07 by Unknown
First things first: to everyone who has purchased one of my books: THANK YOU!

I mean that sincerely. This month I received the largest payment yet, and it actually made it possible for me to fill my gas tank and buy a few Christmas gifts for our kids. I won't say how much, but it's in the low three digits.

The amount isn't really important. What is important, and what really surprised me are the facts that (A) people actually wanted to buy something I wrote, and (B) I haven't received any death threats yet. So, once again: Thank You!

And now for another announcement: I have another book on the way. It's related to computer technology, but also a little business stuff tossed in. Before you start choking on your lunch, I assure you I know very little about computers, and almost nothing at all about business, so you can relax. The working title should give it away, so I won't explain it any further at this point...

"Why Your Next IT Project Will Fail (and what you can do to avoid it)"

I'm hoping to publish it before the holidays, but its getting really close. I will keep you posted.

Read More
Posted in Books writing kindle amazon technology business projects | No comments

Sunday, 16 December 2012

Who is Ralph Grabowski? And Why CAD Pro's Should Read His Stuff

Posted on 10:27 by Unknown
Ralph Grabowski has been writing about the world of engineering-related and design-related software for quite a long time.  And that world has continued to grow and evolve without slowing down.

When I started working in the "design" field, it was 1984.  The predominant technology of the time was a wooden board covered with a plastic-film graph paper, a cable-mounted "drafting machine", and a stack of stencils and templates.  The medium was one of the following:  Tracing paper, Sepia, or Mylar.  The instrumentation was usually a mechanical pencil with either an H-series graphite lead, or (more often) plastic "lead" of either E0, or E1 grade.

In 1985 that relatively arcane world started to fade away at a steady pace, and a new breed of computers and software began taking its place.  First were the mainframe systems, like Autotrol and CADAM.  Then came a few more, like Computervision, UniGraphics, Pro/Engineer, and Intergraph.  Then wallets started to evaporate.  The cost for mainframe, and later the more compact "workstation" packages, was astronomical. As in: you'd need an observatory telescope to see the end of the price tag.  It was scary.

Renegade companies, with dreams of producing cheaper alternatives on the newer (and more affordable) MS-DOS PC-platform, started springing up, with names like GenericCAD, DesignCAD, Autodesk, FastCAD, Drafix, This-CAD and That-CAD, and too many others to recall now.  Some survived for a while, some died out, and a few remained and exist to this day.  And through a big portion of this timeline, most of it actually, there have been a few journalists who've tried to get a handle on just what this "CAD/CAM" and "CAD/CAM/CAE" stuff was all about, and more importantly: Where it was all going.

One of them has been, and still is, Ralph Grabowski.  His newsletter, upFront.eZine, has been cranking out in-depth reviews, interviews, news, and events for as long as I can remember.  A mix of web-content and e-mailed content, it is an enormously valuable resource for engineers, designers, managers, software developers, start-up visionaries, and anyone just plain curious about this unique segment of the technology world.

Although my personal and professional involvement with the design world somewhat ended a few years back, I'm still tied to parts of it by way of my role as an IT consultant.  I still package and deploy CAD products for various environments, and I still get called in to consult and work with FlexLM and FlexNet implementations.  For that reason alone, I still read the upFront.eZine newsletter to stay current with what's going on.

For continuing to push forward and keep us all clued-in:  Thank you Ralph!


Read More
Posted in blogs, business, cad, engineering, events, marketing, news, reporting, technology, upfront ezine | No comments

Sunday, 2 December 2012

Big Announcement: Book Promotion Event

Posted on 15:35 by Unknown
To honor this past week's Autodesk University 2012, I am making my e-book "The AutoCAD Network Administrator's Bible, 2013 Edition" available for FREE for ONE DAY ONLY!

That's right. You heard (or read) correctly.  On Monday, December 3, 2012 only, you can download the e-book for free and read it on your Kindle, Kindle Fire, Kindle Reader App (on iPhone, Android, Blackberry or whatever) or read it online using the Kindle Cloud Reader.  Choices, people. You have choices.  It's mind-bottling.  So, as the Marines would say: "Get Some!".... Enjoy!



UPDATE: I received some clarification from Amazon regarding the time "window" for this promotion. According to Amazon, it should begin at "approximately" 12:00 am Pacific Standard Time, and should end at approximately 11:59 pm Pacific Standard Time.
Read More
Posted in amazon, book, books, kindle | No comments

Saturday, 1 December 2012

Dear CEO's: Be Careful with that Cloud PR Stuff

Posted on 07:50 by Unknown
Jimmy Bergmark posted an interesting item on Google Plus about some quotes from Autodesk CEO Carl Bass regarding the future of Cloud services.  The quotes were posted on Ralph Grabowski's World CAD Access web site...
"There are a lot of applications that will [still] be done on the desktop. Whether Autodesk does it or not, I can't think of a single function that won't necessarily be done in the cloud." - Carl Bass, CEO of Autodesk
As Jimmy commented...

Asked whether there was some resistance by Autodesk users to make the move as fast as the company is making the switch he said that people are already living in the cloud with their personal applications and that there are somewhat different issues for them.
"Foremost in people's mind is security, privacy, reliability, confidential information. Some of those concerns will fall by the wayside."
Here's the rub I have with folks like Carl (not with Jimmy, he's a genius):  When it comes to Public Relations (aka "PR") these guys are making a HUUUUUUUUUUGE mistake and it is already having a detrimental impact on their business.  Let me itemize, if I may...

  1. Understand the difference between a PUBLIC Cloud and a PRIVATE Cloud!

    I'm not going to spoon-feed you here.  That's what Google and Bing are for.  But, when the CEO doesn't understand how f***ing important this distinction really is, how can anyone beneath them fully grasp the importance of it as well?
  2. Be prepared to explain that difference to your customers

    Every single time a CEO/CIO/CTO/CxO opens their mouth and says with a smile "We're going to the cloud!  Come along with us!" it scares the living shit out of their customers.  Why?  Because they translate that directly into the following:

    A. The products are moving into a Public Cloud platform
    B. Customer data is going to move into someone else's sandbox
    C. Customers will lose at some control (possibly even intellectual property rights) over their content
    D. More points of failure will be inserted between the Cloud point and the customer point
    E. The more points inserted in the middle, the more likely potentially interrupting business operations

    Rather than saying "Cloud", make damned sure you elaborate on what your vision and execution plans are for both Cloud types.  Reassure your skiddish customers that they will have an option to retain all the control over their operations and content that they currently have, while having the additional (potential) benefit of leveraging the Public Cloud for (possible) cost savings.
  3. Make SURE your products are fully-aligned with both Cloud platforms

    A lot of products are being shoe-horned and relabeled to become "Cloud" products/services.  IT administrators and power users can smell that a mile away.  Don't assume your customers are idiots, that's a dangerous place to go.  This is especially true for larger customers (enterprise-level corporate shops, the kind that tend to buy subscription pricing contracts to leverage volume discounts).

    If you (Mr./Ms. CEO) are sincere about pursuing Cloud services, on both Public and Private environments, break out your cattle prod and put the fear of God into your chain of command to insure they design, and execute, a strategy that natively works in a real Cloud environment on both environments (public and private).

    If you really don't intend to support Private clouds, don't fake it.  But also be prepared for a tougher hill to climb when it comes to winning over big-shop customers.
I'm sure all the CEO's of the world read my blog and will take this to heart.  So by the time you've read this, all will be corrected and working fine.

P.S.  Follow Jimmy Bergmark at JTB World.  Follow Ralph Grabowski at UpFront eZine, and World CAD Access

Read More
Posted in autodesk, blogs, business, cloud services, jtbworld, management, marketing, technology, upfront ezine | No comments

Writing for 4Sysops.com

Posted on 03:00 by Unknown
I may have mentioned it before, but I've accepted an offer to write articles for 4Sysops.com.  So far, I've submitted two multi-part articles:

  • SCCM Right-Click Tools - Part 1
  • SCCM Right-Click Tools - Part 2
  • SCCM Right-Click Tools - Part 3
  • Configuration Manager - The Evolution of Security - Part 1 (coming soon)
  • Configuration Manager - The Evolution of Security - Part 2 (coming soon)
You may be wondering (all three of you who read my blog) what impact this may have on this blog.  Or maybe that question never crossed your mind.  That's ok, I'll pretend you were wondering about this and I will pretend to address your pretend concerns.  Mmmkay? :)

First, I will continue to post things here on this blog.  Things I find interesting and, hopefully, you find interesting as well.  I will at least shoot for "peculiar" if I can't attain "interesting", but either way, I will do my best to entertain whilst shoveling loads of techno-babble into your eyeballs.

Second, 4Sysops.com will get first dibs on upcoming topics.  That way I don't create any conflicts with our agreement.  Contracts matter, after all.  Most of what I submit to 4Sysops.com will be purely technical in nature.  Most of what I post here will be a mix of technical and philosophy, with a pinch of stale humor thrown in.

Third, I really don't have a third.  But I will try to avoid confusing readers and do my best to cross-reference things so it doesn't become a chore to access content on either site.  I hope this works for everyone.  After all, trying to please everyone always works well.

Read More
Posted in articles, blogs, humor, psychology, technology, writing | No comments

Friday, 30 November 2012

Pre-Announcement of a Pre-Announcements

Posted on 15:46 by Unknown
This is just a placeholder for an announcement coming this Sunday.  It will involve a "book promotion" for one of my AutoCAD-related books.
Read More
Posted in blogs, books, stupidity | No comments

Thursday, 29 November 2012

Wrapping Infrastructure with Duct Tape, Glue and Software

Posted on 18:10 by Unknown
I had 15 minutes to kill and PowerPoint 2013 staring me in the face, so...  I got to thinking how "managing" an IT environment ends up being a slice-n-dice approach involving a multitude of products. Some of which don't talk to each other very well, others requiring a combination of multiple products in order to achieve greater capability.  And then there's the "in-between", which is where the infrastructure developers of the world live.  They are the glue that binds this tenuous web of licensing horrors and data silos.

This is where my brain lives 99.99% of the time.

The coolest part of this?  When opened in PowerPoint, when I drag a selection window over the large circled objects, and then drag them side to side, the connecting lines move with them in real time.  It's kind of nerdy, but fun.
My Home-made Legend:
  • AD = Active Directory
  • HRIS = Human Resources Information System.  A generic term for any system for entering, tracking and managing employees or organizational members.
  • SCCM = System Center Configuration Manager.
  • SCOM = System Center Operations Manager (with/without Orchestrator).
  • NMS = Network Monitoring/Management System.  A generic term for any system for monitoring the network environment and sending alerts when problems occur, as well as (optionally) providing a means for remote management of network equipment.
  • Licensing = A hodge-podge of spreadsheets, Word documents, Access and other databases, piles of paper, folders, sticky notes, all collectively used for tracking what was purchased, who purchased it, when, for how many users, expiration dates, contract numbers, points of contact, vendor information, yada yada yada
  • Lifecycle Tracking = Another hodge-podge of spreadsheets, Word documents, Access and other databases, piles of paper, folders, sticky notes, all collectively used for tracking purchase and warranty information for hardware such as computers, printers, routers, hubs and switches, telephony, copiers, blah blah blah.
Read More
Posted in active directory, automation, business, config manager, network administration, system center | No comments

Monday, 26 November 2012

Deploy Windows 8 Start Tiles Using Group Policy Preferences

Posted on 21:33 by Unknown
I've already written about creating custom shortcuts to do things like "Shutdown" and "Restart" on the Desktop and Start screen for Windows 8 and Windows Server 2012 systems.  But I'm a HEE-YOOOOOOOOOOOGE (aka:  really big) fan of Group Policy and Group Policy Preferences in particular. And since I like to leverage things Microsoft provides for free, this is a win-win.

How to Do It...


  1. Create a new Group Policy Object (GPO)
    1. I named it "Desktop Shortcuts"
  2. Edit the Computer Preferences to add the shortcuts to the "All Users Start Menu"
    1. Expand Computer Configuration / Preferences / Windows Settings
      1. Click on Shortcuts
      2. Right-click Shortcuts, and select New / Shortcut
      3. For this example, I entered the "shutdown.exe" command with the arguments "-r -f -t 10" to force a Restart after a 10-second delay. (see Figure 1)
      4. (Optional) You could also set the shortcut icon to use the standard red power symbol (see Figure 3).
      5. Close the Group Policy Management Editor
  3. Link the GPO to the Organizational Unit (OU) where the computers reside.
Figure 1 - Group Policy settings
Figure 2 - Start screen result ("Restart 10" tile)
The end result will depend on whether you apply this to Windows 8 / Windows Server 2012 systems ONLY, or include older versions of Windows.  For all Windows Vista, Windows 7 and Windows 8 systems (and corresponding Server versions) it will add a shortcut to the Start Menu.  But on Windows 8 and Windows Server 2012 systems it will also add it as a Tile to the Start screen (aka "Metro" interface).

Figure 3 - Shortcut itself

When It Doesn't Work

If the target item isn't found, Group Policy will abort the shortcut creation and move on to the next setting.  You can verify this by looking in the Windows Event log:
  1. Open Windows Event Viewer
  2. Expand the Application log
  3. Search for event ID 4098 (has a severity Level of "Warning")
  4. The text in the body of the event will describe what failed.  The example below shows I tried to create a shortcut named "Bogus Shortcut" that tries to refer to a "fubar.exe" which wasn't found on the target computer...
Description:
The computer 'Bogus Shortcut' preference item in the 'U - Desktop Shortcuts {E69E2B0E-6026-4FB1-86E0-30B67CC61CE1}' Group Policy Object did not apply because it failed with error code '0x80070002 The system cannot find the file specified.' This error was suppressed.

Summary

This works well as long as the shortcuts refer to things which are part of your standard server environment.  In other words, standard Windows commands or standard add-ons or third-party items, which are present on every system where you intend to apply this approach.  Good luck!  As always:  Test, Test, Test!
Read More
Posted in active directory, group policy, network administration, windows server 2012, windows8 | No comments

It's Scripting Time Again! AD Server Descriptions

Posted on 20:07 by Unknown
This issue has come up a LOT in my career, but I don't know why.  It seems like something that Microsoft should address with some "feature" or utility or something.  What I'm blabbering about is updating the description for each Active Directory server account to match whatever the local computer description is.  The local computer description is what you see (and can update) from the Computer "Properties" form.

Local Computer Description

Active Directory Computer Description

It came up again tonight when a friend (called asking for help.  I happened to have the pieces of code on my server and glued them together in a few minutes (the mess below).  Every time I do something like this, I see horrifically bad coding habits from years past and do my best to clean them up before sharing them.

Is this Earth-shatteringly unique?  No.  Is it the only script of its kind? No.  Can you find alternatives on the web that will do just as well?  Absolutely.  If I get a little spare time, I will try to post this in PowerShell format (unless you want to submit that and I will post it, giving you full credit).

In any case, I hope this helps someone out there.  Read the WARNING and DISCLAIMER at the bottom!

'****************************************************************
' Filename..: server_descriptions.vbs
' Author....: David M. Stein
' Date......: 11/26/2012
' Purpose...: update AD computer descriptions from local descriptions
' Usage.....: cscript server_descriptions.vbs >output.log
' (note: the above redirect to output.log is optional)
'****************************************************************

Set objRootDSE = GetObject("LDAP://rootDSE")
ldapRoot = objRootDSE.Get("defaultNamingContext")

Const ADS_SCOPE_SUBTREE = 2
Const E_ADS_PROPERTY_NOT_FOUND = &h8000500D

' parse out NetBIOS domain name (e.g. "CONTOSO.COM")
nbDomain = Mid(Split(ldapRoot,",")(0),4)

wscript.echo "info: LDAP root is " & ldapRoot
wscript.echo "info: NetBIOS domain is " & nbDomain

serverlist = GetServerList()

For each strServer in Split(serverlist, ",")
wscript.echo "server_name...: " & strServer
strOUpath = ComputerOU(strServer)
localDesc = GetLocalDescription(strServer)
domainDesc = ADComputerDescription(strOUpath)

If localDesc = "" Then
localDesc = "NOT_DEFINED"
End If

wscript.echo "ou_path.......: " & strOUPath
wscript.echo "local_descrip.: " & localDesc
wscript.echo "domain_descrip: " & domainDesc

If localDesc <> "NOT_DEFINED" Then
try = ChangeADDescription(strOUPath, localDesc)
wscript.echo "desc_updated..: " & try

End If

wscript.echo "----------------------------------------"
Next

'----------------------------------------------------------------
' function: get list of servers from domain using OS captions
'----------------------------------------------------------------

Function GetServerList()
Dim conn, cmd, query, retval : retval = ""
Dim rs, strOS, strName, counter : counter = 0

wscript.echo "info: querying server names from active directory..."

Set cmd = CreateObject("ADODB.Command")
Set conn = CreateObject("ADODB.Connection")
conn.Provider = "ADsDSOObject"
conn.Open "Active Directory Provider"
cmd.ActiveConnection = conn
  query = ";(objectCategory=computer);" & _
"name,distinguishedName,operatingSystem;subtree"

cmd.CommandText = query
cmd.Properties("Page Size") = 100
cmd.Properties("Timeout") = 30
cmd.Properties("Cache Results") = False

Set rs = cmd.Execute

Do Until rs.EOF
strOS = rs.Fields("operatingSystem").value
If InStr(UCase(strOS), "SERVER") > 0 Then
strName = rs.Fields("name").value
If retval <> "" Then
If InStr(retval, strName) < 1 Then
retval = retval & "," & strName
counter = counter + 1
End If
Else
retval = strName
counter = counter + 1
End If
End If
rs.MoveNext
Loop

rs.Close
conn.Close
Set rs = Nothing
Set cmd = Nothing
Set conn = Nothing

wscript.echo "info: " & counter & " servers were found"
GetServerList = retval

End Function

'----------------------------------------------------------------
' function: get current computer OU from active directory
'----------------------------------------------------------------

Function ComputerOU(netBiosName)
Dim objConnection, objCommand, objRecordSet, strQuery
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
strQuery = "Select ADsPath From 'LDAP://" & ldapRoot & _
"' WHERE objectCategory='computer'" & _
" AND name='" & netBiosName & "'"

On Error Resume Next
objCommand.CommandText = strQuery
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
strResult = objRecordSet.Fields("ADsPath").Value
objRecordSet.MoveNext
Loop
ComputerOU = strResult
End Function

'----------------------------------------------------------------
' description: get local description from remote computer via WMI
'----------------------------------------------------------------

Function GetLocalDescription(strName)
Dim objWMI, colItems, objItem
  Dim query, retval : retval = ""
  On Error Resume Next
Set objWMIService = GetObject("winmgmts:\\" & strName & "\root\CIMV2") 
  If err.Number = 0 Then
    query = "SELECT * FROM Win32_OperatingSystem"
Set colItems = objWMIService.ExecQuery(query,,48)
For Each objItem in colItems
retval = objItem.Description
Next
If IsNull(retval) or Trim(retval) = "" Then
retval = ""
End If
  Else
    wscript.echo "error: " & strName & " is offline or inaccessible"
  End If
GetLocalDescription = retval
End Function

'----------------------------------------------------------------
' function: get AD computer description
'----------------------------------------------------------------

Function ADComputerDescription(strLDAP)
Dim objComputer, retval, try, ldapstring
ldapstring = strLDAP
On Error Resume Next
Set objComputer = GetObject(ldapstring)
try = objComputer.Get("description")
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
retval = ""
Err.Clear
Else
retval = try
End If
ADComputerDescription = retval
End Function

'----------------------------------------------------------------
' function: set AD computer description (limit 48 chars)
' refer to: http://msdn.microsoft.com/en-us/library/windows/desktop/aa394239(v=vs.85).aspx
'----------------------------------------------------------------

Function ChangeADDescription(strLdapName, strDesc)
Dim objPC, retval
wscript.echo "info: modifying domain description..."
On Error Resume Next
Set objPC = GetObject(strLdapName)
objPC.Description = strDesc
objPC.SetInfo
retval = err.Number
If retval <> 0 Then
retval = retval & " / " & err.Description
Else
retval = "SUCCESS"
End If
Set objPC = Nothing
ChangeADDescription = retval
End Function

Warning

This script example includes MINIMAL error handling.  Always TEST, TEST, TEST, and when you think it works properly, TEST it some more.

Disclaimer

Use this script code AT YOUR OWN RISK.  Always test thoroughly in an isolated "test" or "development" environment to avoid negatively impacting production computers.  The author assumes/accepts NO LIABILITY for any direct or derivative use or consequential damages, however, the author wouldn't mind a little constructive feedback if it helps you in any way.
Read More
Posted in active directory, computers, ldap, network administration, programming, scripting, servers, vbscript, windows server, wmi | No comments

Wednesday, 21 November 2012

Thanksgiving Special: 7 Easy Computer Performance Tips

Posted on 19:56 by Unknown
While you're taking a break from "work" this week/weekend, you might also take a few minutes to give your Windows-based computer(s) some TLC.  The good news is that all of these tips are "FREE", or almost free, and available to you right now.

Geek Warning: This article is intended for the non-professionals out there.  The non-IT folks.  So if you are an uber computer expert this article will likely bore you to tears.

Final note: Rather than following the typical pattern of most common to least common, I'm ordering this by least-often recommended tips to most-often recommended.  Why? Because the sometimes the least-often recommended things are because people forget to recommend them, not because they're least important.  Okay, on with this...

1. Clean Up!

Desktop computers are notorious dust magnets.  The cooling system relies on one or more fans to circulate air through the case, which draws in hair, dust, dirt, and small alien planets.  This coats the mesh screens, cooling fins, and pretty much everything inside your computer, making it run hotter.  As it runs hotter, the fan has to run more often.  The net result is you draw more electrical current, and help make your electric bill higher and you poorer.

What to Do:  Run down to the Best Buy, Target, Walmart, OfficeMax, Office Depot, Lowe's or Home Depot and buy a can or two of compress air.  Power off your computer (don't just pull the plug out!), then unplug everything from the case, and take it outside (don't do this indoors!) and spray every opening with the compressed air to blow out the dust and dirt.  This is the only item on my list that potentially costs money.

2. Fight the Clutter

One more way to keep your computer clean and running cooler is keep away piles of junk from around your computer.  Stacks of paper, books, bags, food containers, cups, crackpipes, and used condoms, can obstruct the cooling efficiency, and may be helping channel additional dust into your computer.

What to Do: Keep your desktop clear!  If you have your computer case on the floor, vacuum the rug or carpet around it, and keep the floor around it clear as well.

3. Clean Out The Garbage

This needs to be done before you do step 4 (below).  As you use your computer, it opens and modifies files, registry settings, and downloads TONS of junk in the background to supposedly "speed up" your computing experience.  The problem is that a lot of that junk never gets cleaned out.  As it builds up, it fills up precious disk space on your hard drive, making the performance slower over time.

What to Do:  Run the Disk Cleanup utility.  Click on the Start button, click All Programs / Accessories / System Tools / Disk Cleanup.  Run it at least once every month, maybe even weekly (if you use your computer every day)

4. Defrag Your Hard Drive

As you use your computer, it opens and closes files, reads and saves settings and all of that requires reading and writing information to the hard drive.  Over time, this information gets scattered around the disk platters inside the hard drive, making the "head" (the little part that does the reading and writing) have to fly all over the place to find all the pieces each time it needs a particular chunk of information.  This scattering is called "fragmentation".  The more fragmented the disk becomes, the more the head has to spaz out flying around to find things, making your computer run slower and slower.

What to Do:  If you have a Windows XP computer, click the Start button, go to All Programs / Accessories / System Tools and click on Disk Defragmenter.  Run the Analyze feature and then run Defrag.  You can schedule it to run automatically, which many computers already have configured.  But if your computer doesn't have it scheduled, it might be a good idea to set it to run at least weekly.

5. Uninstall the Bullshit

Chances are good that you bought your computer from a retailer or from a vendor online.  These sellers often load their own piles of doggy poo on everything they sell.  Chances are also good that you will NEVER use 90 percent of it, ever.  Even worse: Many of their so-called "performance utilities" actually do a poorer job of things than the tools that already come built into Windows 7 (or Windows 8).  Disk and Memory "cleaners", anti-virus and anti-malware products, browser plug-ins, tutorial apps, and so on.  If you received a disk with your computer which contains all that crap, you can always reinstall it later if you need to.

What to Do:  In this case, it really depends on your computer savvy level.  If you feel confident about what you do and don't need, by all means go for it.  Otherwise, enlist the help of the nearest teenage computer nerd or a computer-savvy family relative, and be sure to bribe them lavishly (beer, food, all work well).

6. Backup and Archive

There's a good chance you have a lot of important files stored on your computer.  There's also a good chance you haven't backed them up somewhere recently (or ever).  Ask yourself if your house burned down while you were at work tomorrow, what would you lose on your computer that you could never get back?  It's a very real question to consider.

Even worse: Maybe you backed up your stuff to an external hard drive or a USB thumb drive.  That's good. But where do those items actually sit?  If they're still inside your house, that's not really much of a backup plan.  Have you considered online backups?  There are plenty of options available, both free and paid, which can help you safely backup your files. Most vendors offer a limited amount of storage space for free, and offer paid features as you go up in space requirements.

What to Do:  Check out Mozy, Carbonite, iCloud, Google Drive, Microsoft SkyDrive, and compare their offerings and pricing.  Also, be SURE to read their usage terms so you fully understand what "rights" they have with your files.

7. Enjoy Your Thanksgiving!

Read More
Posted in computers, technical support, windows 7 | No comments

Windows 8 / Server 2012 Shutdown Safety Tip

Posted on 16:33 by Unknown
I really don't want to try to reinvent the many articles out there on how to make your own "Shutdown" and "Logoff" shortcuts on Windows 8 and Windows Server 2012, but I feel I need to add just a little bit more.

In case you aren't aware of what I'm talking about, I will describe it, sans screen captures.  The issue is how the Windows 8 "Metro" UI makes it feel like you have to click-click-click-click-click to the stupid "Charms" bar in order to Shutdown or Restart your computer.  Let's digress...

The Dilemma

Finding the Shutdown and Restart links in Windows 8 (and Windows Server 2012) for the first time can be a little confusing. I say "little", but that's like saying rednecks are a "little" upset that Obama won the election. Basically, you move the mouse cursor (or your finger or other body part, if you have a touch-screen) to the bottom right corner of the screen.  This brings up the transparent sidebar menu which contains five (5) icons, called "Charms".  You can also press WINKEY+C to do the same.

In case you expect this sidebar thing to be called a "Charms Bar", stop right there!  Microsoft has told some people, including Paul Thurrott, that this is not what it's called.  But in let's move on...

Then you click the bottom icon, which looks like a gear.  This is the "Settings" link.  Because we've gotten used to going through "Settings" to do "Shutdown" and "Restart", right?  This makes NO sense to me, nor to most other people I've talked with, but Redmond knows what we want.  So when you open the Settings panel, you click "Power" and then you get options for "Sleep", "Shutdown" and "Restart".  I'm sure this is because three gestures/clicks is faster than two.  Geez, I'm a real smart-ass tonight.

Band-aid Workaround

The easiest workaround to avoid all this crazy finger-straining is to make your own Desktop or Taskbar shortcuts to "shutdown.exe" with various options (for shutting down immediately, doing a restart, etc.):

"shutdown -s -f -t 0" (shutdown immediately)
"shutdown -r -f -t 0" (restart immediately)

Careful!  Let's add a Safety Button

The danger to using the above commands is the "-t 0" part.  Yes, it means "do it now!!!" (say that with your best Arnold Schwarzenegger impression).  I prefer t use "-t 10" (delay ten seconds), for both of those commands.

But Wait! There's More!

(My respects to Billy Mays)  This is especially relevant to Windows Server 2012:  In addition to adding a delay time, you might want to add one more shortcut:

"shutdown.exe -a" and label it "Abort Shutdown!"

If I really need to explain why this could be helpful, well, I'll let you ponder this for a few more minutes. I'm giving you the benefit of the doubt.  Okay, I'll tell you:  It's like cutting the green wire when the bomb is about to detonate in a few seconds.  It's your safety abort switch.  From here you can right-click on these shortcuts and Pin them to Start or the Taskbar, or both.

Read More
Posted in network administration, windows server 2012, windows8 | No comments

Monday, 19 November 2012

Why "Coming Soon" Can Be a Bad Idea

Posted on 16:18 by Unknown
I'm not sure what drives some companies to want to show their hand early, while others play them close to the vest. Especially in the field of computer hardware and software.

I've read dozens of articles comparing the marketing philosophies of companies like Apple, Microsoft, Sony, Nintendo and Samsung. But the one in this list in a unique situation is Microsoft. They earn a major portion of their revenue from enterprise business sales and subscriptions. Enterprise customers, unlike consumers, live on quarterly and annual budget cycles.

When Sony or Nintendo announces a major product is "coming soon" in the consumer market space, it doesn't have the same effect on their market as what happens when Microsoft announces a new version of Windows is coming in six months.  Enterprise customers hear that and do the following:  Hold off on buying and upgrading.  Even if the pricing is tweaked to offer a "free jump" to the new version when buying the current version within X months of the release, that's not the real challenge.  The real challenge is dealing with another round of planning, preparation, testing, and deploying.  Then there's the user learning curve issue and training.  Even when many organizations opt out of training budget, they have to contend with the communications and hand-holding aspects.  Intranet posts, e-mails, meetings, meetings and more meetings.  It all adds up to pain.

Sure, it's not always practical to suddenly announce a major new release of Windows or Office, when enterprise customers, partners, OEMs, and developers need lead-time to get familiar with the new versions.  But there needs to be a better/happier medium than announcing a new release coming "next year".  Practical or not, my gut feeling is somewhere between three (3) and four (4) months is about right.  Thoughts?

Read More
Posted in apple, business, marketing, microsoft, society, sony | No comments

Sunday, 11 November 2012

A Little Humor for Monday morning

Posted on 20:59 by Unknown
I dusted this off from the original I did in 2003.  I updated the logos and added Amazon, but otherwise it's pretty relevant to today I think...

Read More
Posted in advertising, amazon, apple, fun, google, humor, marketing, microsoft, stupidity, ubuntu | No comments

Crude But Effective: Part 2, the Electric Boogaloo

Posted on 10:32 by Unknown
In my previous article I described a system for replicating some of the functionality of the ConfigMgr Right-Click Tools (aka "SCCM Right-Click Tools"), through a web interface (intranet web portal application) using a combination of HTML, ASP, and a database back-end   What I planned to do was provide a little more detail of each of the pieces in follow-on articles.  This way, if you really cared enough, you could build your own setup (and probably do a better job of it than I have).

In this article I'm going to expand on the part of the process which involves the database back-end  and the script that runs on a schedule to query, process and update the database table.

The Database Table

To bring all of the processing into one central "hub", I chose to use a Microsoft SQL Server database, and create a table to capture the incoming requests from the portal.   My database server is named "DB1" and is running on SQL Server 2012, but it doesn't matter what version you use really.  I've tested this setup on 2005, 2008 and 2008 R2 with equal results.  The name of my database is "AMS" (for Asset Management Services), but you can call it whatever you want, just modify the names below to suit your needs.  The table I created is named "ClientToolsLog", but again, that's not required, so you could name it "DogPoo" and it won't matter.

USE [AMS]

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[ClientToolsLog](
[ID] [int] IDENTITY(1,1) NOT NULL,
[ActionName] [varchar](50) NOT NULL,
[Network] [varchar](50) NOT NULL,
[Comment] [varchar](255) NULL,
[AddedBy] [varchar](50) NOT NULL,
[DateAdded] [smalldatetime] NOT NULL,
[DateProcessed] [smalldatetime] NULL,
[ResultData] [varchar] (50) NULL,
)
GO

GRANT SELECT, INSERT, UPDATE, DELETE on ClientToolsLog TO amsManager
GO

GRANT SELECT on ClientToolsLog TO amsReadOnlyUser
GO


The Table Structure

Each of the columns has a purpose, so I'll explain them each below:
  • ID - This is used to identify the specific row in the table.  Because it's an integer value, and auto-incremented by 1, you don't specify a value for this field when inserting a new row. You only need it if you want to query, modify, or delete a specific row.
  • ActionName - (required) This is where the specific action name is entered.  I use my own abbreviated codenames to save on space (this log can easily grow very quickly with multiple users!).  For example, I use "MACHINE_POLICY" to indicate "Machine Policy Retrieval and Evaluation", and "HWINV" to indicate "Hardware Inventory Cycle", and so on. (see image below for the list of default available actions for ConfigMgr 2012 clients)
  • Network - (required) This is for storing the AD domain name or the CM site name, the choice is yours and it really doesn't matter, but I made it mandatory so you can modify "NOT NULL" to "NULL" if you prefer.  It's just there to enable filtering on specific environments when needed.
  • Comment - (optional) This is for entering a comment if desired. I had initially intended this to be a [textarea] field on the web form, but decided to skip it to avoid unnecessary data.
  • AddedBy - (required) This stores the username of the person who submitted the request from the web site form.  For this to work, you MUST enable "Windows Authentication" in IIS for the web site or the virtual folder.  If you leave it on "Anonymous" there won't be any way to track who the user was unless you build in forms-based authentication (yuck!)
  • DateAdded - (required) This stores the date and time when the request was submitted
  • DateProcessed - This is initially NULL until the script comes along and processes the request, at which time it enters the date and time it was completed.
  • ResultData - This is also initially NULL until the script updates the row when the request has been processed.

Security

I chose SQL accounts for this setup, but you could use mixed-mode.  I do a lot of things by force of habit, so SQL accounts are pretty common for my work, so I tend to use mixed-mode setups.  In any case, I have two user accounts for this system:
  • amsManager - This account has rights to SELECT, INSERT, UPDATE and DELETE data and rows in the table.  I use this account from within the web application to insert new records, and it's used in the script (discussed later) to update the rows when requests are processed.
  • amsReadOnlyUser - This account only has SELECT rights, and is used for any applications/scripts/processes where someone needs to be able to consume (read) the data but not have the ability to modify or delete anything.

The Script

Now that the database is created, the table created and the permissions applied to the table, the next step is getting a script to work with it to do the heavy-lifting.  You can do this with almost any language, including PowerShell, VBscript, KiXtart, Perl, Python or whatever.  As long as the language you choose can do the following things it should work fine:
  • Open a database connection to query (read) and update data in the rows.
  • Execute shell operations to call external .exe applications (SendSchedule.exe), as well as invoke COM interfaces such as WMI and SWBEM requests.
Again, out of habit, I chose VBScript.  I was going to do it with PowerShell, but I got lazy.  Here's the code, but I have to mention that one key "action" is left out for now, and that's the "Re-Run Advertisement" option.  The reason is that I'm still working on this part and having some challenges.  When I get it working reliably and consistently I will post an update:

'****************************************************************
' Filename..: ams_client_tools.vbs
' Author....: David M. Stein
' Date......: 11/11/2012
' Purpose...: invoke ConfigMgr Agent "client actions" on remote clients
' using a SQL table and WMI invocation
' SQL.......: DB1\AMS
' Comment...: Beware of line-wrapping!  If I wrap it I used [& _]
'****************************************************************

Dim query, conn, cmd, rs, objShell, scriptPath, recID, objFSO

' controls DebugPrint output
Const verbose = True

' database connection
Const dsn = "DRIVER=SQL Server;SERVER=DB1;database=AMS;UID=amsManager;PWD=P@ssw0rd$123;"

' database table name
Const strTable = "dbo.ClientToolsLog"

'------------------------------------------------------------
scriptPath = Replace(wscript.ScriptFullName, "\" & wscript.ScriptName, "")
'------------------------------------------------------------
' constants used by this script (abridged format)
'------------------------------------------------------------
Const adOpenDynamic = 2 Const adOpenStatic = 3 Const adLockReadOnly = 1 Const adLockPessimistic = 2 Const adLockOptimistic = 3 Const adUseServer = 2 Const adUseClient = 3 Const adCmdText = &H0001 Const adStateClosed = &H00000000 Const adStateOpen = &H00000001 Const ForReading = 1 Const ForWriting = 2 Const ForAppend = 8 Const TristateUseDefault = -2 Const TriStateTrue = -1 Const TriStateFalse = 0 '------------------------------------------------------------ DebugPrint "info: begin processing..." Set objShell = CreateObject("Wscript.Shell") query = "SELECT * FROM " & strTable & _ " WHERE DateProcessed IS NULL ORDER BY ID" Set conn = CreateObject("ADODB.Connection") Set cmd = CreateObject("ADODB.Command") Set rs = CreateObject("ADODB.Recordset") On Error Resume Next conn.ConnectionTimeOut = 5 conn.Open dsn If err.Number <> 0 Then wscript.echo "fail: database connection failed" wscript.quit(err.Number) Else On Error GoTo 0 End If rs.CursorLocation = adUseClient rs.CursorType = adOpenStatic rs.LockType = adLockReadOnly Set cmd.ActiveConnection = conn cmd.CommandType = adCmdText cmd.CommandText = query rs.Open cmd If Not(rs.BOF And rs.EOF) Then xrows = rs.RecordCount counter = 0 Do Until rs.EOF recID = rs.Fields("ID").value compName = rs.Fields("ClientName").value actName = rs.Fields("ActionName").value actCode = ClientActionCode(actName) addBy = rs.Fields("AddedBy").value DebugPrint "record id...... " & rs.Fields("ID").value DebugPrint "client name.... " & compName DebugPrint "action name.... " & actName DebugPrint "action code.... " & actCode DebugPrint "requestor...... " & addBy DebugPrint "request date... " & rs.Fields("DateAdded").value DebugPrint "network........ " & rs.Fields("Network").value If IsOnline(compName) Then retval = ExecAction(compName, actName, actCode, addBy) Else DebugPrint "result......... offline!" retval = 100 End If DebugPrint "result......... " & retval MarkRecord recID, retval DebugPrint "-------------------------------------------" rs.MoveNext Loop DebugPrint "info: " & counter & " processed" Else DebugPrint "info: no records found" End If rs.Close conn.Close Set rs = Nothing Set cmd = Nothing Set conn = Nothing '------------------------------------------------------------ ' function: return datestamp formatted for log file use '------------------------------------------------------------ Function LogTime() LogTime = FormatDateTime(Now, vbShortDate) & " " & _ FormatDateTime(Now, vbLongTime) End Function '------------------------------------------------------------ ' function: return TRUE if computer responds to a PING request
' note: this features can be impacted by firewall settings!
'------------------------------------------------------------

Function IsOnline(strComputer)
Dim objPing, query, objStatus, retval
If strComputer <> "" Then
    query = "SELECT * FROM Win32_PingStatus WHERE Address='" & strComputer & "'" 
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
ExecQuery(query)
For Each objStatus in objPing
If Not(IsNull(objStatus.StatusCode)) And objStatus.StatusCode = 0 Then
IsOnline = True
End If
Next
End If
End Function

'------------------------------------------------------------
' function:
'------------------------------------------------------------

Function ClientActionCode(actionName)
Select Case actionName
Case "MACHINE_POLICY":
' Machine Policy Retrieval and Evaluation Cycle
ClientActionCode = "{00000000-0000-0000-0000-000000000021}"
Case "HWINV":
' Hardware Inventory Cycle
ClientActionCode = "{00000000-0000-0000-0000-000000000001}"
Case "SWINV":
' Software Inventory Cycle
ClientActionCode = "{00000000-0000-0000-0000-000000000002}"
Case "DISCOVERY":
' Discover Data Collection Cycle
ClientActionCode = "{00000000-0000-0000-0000-000000000003}"
Case "RERUN_ADV":
' Re-Run Advertisement
ClientActionCode = "RERUNADV"
Case "INST_SOURCE":
' Windows Installer Source List Update Cycle
ClientActionCode = "{00000000-0000-0000-0000-000000000032}"
Case "UPDATE_SCAN":
' Software Updates Scan Cycle
ClientActionCode = "{00000000-0000-0000-0000-000000000113}"
Case "AMT_PROV":
' AMT Auto Provisioning Policy / Out-of-Band Mgt Scheduled Event
ClientActionCode = "{00000000-0000-0000-0000-000000000120}"
Case "BRANCH_DP":
' Branch Distribution Point Maintenance Task
ClientActionCode = "{00000000-0000-0000-0000-000000000062}"
Case "UPDATE_DEP":
' Software Updates Deployment Evaluation Cycle
ClientActionCode = "{00000000-0000-0000-0000-000000000108}"
Case "SW_METERING":
' Software Metering Usage Report Cycle
ClientActionCode = "{00000000-0000-0000-0000-000000000031}"
Case "USER_POLICY":
ClientActionCode = "{00000000-0000-0000-0000-000000000027}"
Case Else:
ClientActionCode = ""
End Select

' list of codes for future inclusion...
'
'{00000000-0000-0000-0000-000000000010} File Collection
'{00000000-0000-0000-0000-000000000021} Request machine assignments
'{00000000-0000-0000-0000-000000000023} Refresh default MP
'{00000000-0000-0000-0000-000000000024} Refresh location services
'{00000000-0000-0000-0000-000000000025} Request timeout value for tasks
'{00000000-0000-0000-0000-000000000026} Request user assignments
'{00000000-0000-0000-0000-000000000032} Request software update source
'{00000000-0000-0000-0000-000000000061} DP: Peer DP status report
'{00000000-0000-0000-0000-000000000062} DP: Peer DP pending status check
'{00000000-0000-0000-0000-000000000111} Send unset state messages
'{00000000-0000-0000-0000-000000000112} Clean state message cache
'{00000000-0000-0000-0000-000000000114} Refresh update status

End Function

'--------------------------------------------------------
' function:
'--------------------------------------------------------


Function ExecAction(clientName, actionName, actionCode, userID)
Dim strCmd, result

DebugPrint "info: executing action request for " & clientName

If actionCode = "RERUNADV" Then
' result = RerunAdv(compName, advID)
    ' [[ I will cover this in part 4 of this article ]]
    result = 200 ' denotes request was ignored (for now)
Else
strCmd = scriptPath & "\SendSchedule.exe " & actionCode & " " & clientName
wscript.echo "info: command = " & strCmd
result = objShell.Run(strCmd, 1, True)
End If

'--------------------------------------------------------

ExecAction = result

End Function

'------------------------------------------------------------
' function:
'------------------------------------------------------------

Sub MarkRecord(recID, pVal)
Dim query, conn, cmd, rs

wscript.echo "info: marking record completed..."

DebugPrint "info: id = " & recID & " / result = " & pval

query = "SELECT * FROM " & strTable & " WHERE id=" & recID

Set conn = CreateObject("ADODB.Connection")
Set cmd = CreateObject("ADODB.Command")
Set rs = CreateObject("ADODB.Recordset")

On Error Resume Next
conn.ConnectionTimeOut = 5
conn.Open dsn
If err.Number <> 0 Then
wscript.echo "fail: connection failed"
wscript.quit(err.Number)
Else
On Error GoTo 0
End If

rs.CursorLocation = adUseClient
rs.CursorType = adOpenDynamic
rs.LockType = adLockPessimistic

Set cmd.ActiveConnection = conn

cmd.CommandType = adCmdText
cmd.CommandText = query
rs.Open cmd

If Not(rs.BOF And rs.EOF) Then
rs.Fields("DateProcessed").value = Now
rs.Fields("ResultData").value = pVal
rs.Update
Else
DebugPrint "error: no records found"
End If

rs.Close
conn.Close
Set rs = Nothing
Set cmd = Nothing
Set conn = Nothing

End Sub

'------------------------------------------------------------
' function: verbose echo printing
'------------------------------------------------------------


Sub DebugPrint(s)
If verbose = True Then
wscript.echo s
End If
End Sub


What The Script Does

As I mentioned before, each time the Scheduled Task runs, it calls the script.  The script performs the following actions in the order/sequence listed below:
  • Opens a Connection to the database using ADO (COM) with SQL user permissions
  • Submits a Query for all rows where the DateProcessed value is NULL (indicating the request has not been processed yet).  The results are obtained as an ADO RecordSet object.
  • Iterates the RecordSet rows to gets the remote Computer Name, and ActionName field to determine the specific things that need to be done for the requested action (for example: look up the Action Code GUID)
  • Initiates a WMI (Win32_Ping) request to determine if the remote computer is online.
    • If not online, the ResultData column is updated with a value to indicate the client was offline
    • If online, the Action is processed...
  • Executes the requested Action:
    • If a "Client Action" is requested: Open a Shell session using WScript Shell object (COM) and executes the SendSchedule.exe application with the appropriate GUID for the Action and the name of the remote computer.  Gets the result/exit code from the SendSchedule process.
    • If "Re-Run Advertisement" is requested:  (to be continued)
  • Updates the database table row by entering the appropriate result code (ResultData) and the timestamp of the completion (DateProcessed)
  • Exits
Not really complicated actually.  This is a pretty straightforward and common process for interacting with database tables with ADO.  You could separate the requests and the results into two tables if you prefer, but I'm not shooting for 3NF or 4NF here.  I'm too lazy for that much work.

The Scheduled Task

This is where the Security aspect comes into play.  You need to execute the script under a context which has permissions to invoke the Configuration Manager Agent on remote computers over your network from a WMI interface.  I created a special Domain user account for this and added to the local Administrators group on every desktop and laptop computer using Group Policy and Restricted Groups.

Before setting up the Scheduled Task, I highly recommend testing the script directly.  Open a session (interactive login or use RunAs to open a CMD console) under the credentials of the user account you intend to use for the Scheduled Task.  Test the script until you are satisfied it works correctly.

As a force of habit, I use a simple BAT script to wrap my calls to VBScript to I can pipe the output (wscript.echo or DebugPrint results) to a log file if I want.  Or you can do it from within the VBScript code using basic FileSystemObject (FSO) methods if you prefer.  Either way, it can be helpful to generate a log file to diagnose issues where the database is unavailable for some reason when the scheduled task is executed.

The Schedule you choose is entirely arbitrary.  I run mine at ten (10) minute intervals all day, every day.  It also doesn't matter how you choose to create the Scheduled Task.  You can obviously use the GUI, or do it from the command line using SchTasks.exe, or from a script or whatever.

Summary

All of this I've covered here is essentially the "back-end" of the process.  I hope it you find it useful and helpful.  Let me know by posting a comment below?  In the next part of this article I will delve into the web form and the user interaction aspects.
Read More
Posted in applications, automation, config manager, databases, group policy, network administration, process automation, projects, scheduling, scripting, software development, sql server, t-sql, tutorials, vbscript, wmi | No comments
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

Popular Posts

Categories

  • a
  • activation
  • active directory
  • advertising
  • agile
  • agility
  • amazon
  • american
  • apple
  • application virtualization
  • applications
  • art
  • articles
  • asp
  • augi
  • authors
  • autocad
  • AutoCAD Autodesk
  • autodesk
  • autolisp
  • automation
  • automotive
  • backups
  • batch
  • beer
  • beta
  • blackberry
  • blogs
  • bongloads
  • book
  • books
  • Books writing kindle amazon technology business projects
  • browsers
  • business
  • cad
  • career
  • certification
  • chrome
  • city government
  • civilization
  • cloud services
  • cmd
  • cmmi
  • comedy
  • command
  • community
  • computers
  • conferences
  • config manager
  • consultants
  • consulting
  • contracting
  • cranium drainium
  • crapware
  • culture
  • data center
  • data mining
  • databases
  • deployment
  • directx
  • DLL
  • domains
  • dumb
  • earth
  • economy
  • editor
  • education
  • election
  • elections
  • employment
  • engineering
  • entertainment
  • environment
  • error monitoring
  • events
  • exchange
  • facebook
  • family
  • firefox
  • flexnet
  • fud
  • fun
  • funny
  • games
  • gary vaynerchuk
  • gmail
  • google
  • government
  • group policy
  • hampton roads
  • health
  • history
  • holidays
  • home
  • html5
  • humor
  • hyper-v
  • iis
  • industry
  • infrastructure
  • installation
  • installshield
  • internet
  • internet explorer
  • interviews
  • jobs
  • jtbworld
  • kindle
  • kixtart
  • lab setup
  • languages
  • ldap
  • learning
  • legal
  • licensing
  • life
  • lifecycle
  • linux
  • lisp
  • logging
  • management
  • manufacturing
  • marketing
  • markets
  • mdop
  • mdt
  • medical
  • messaging
  • microsoft
  • microsoft access
  • military
  • mountains
  • movies
  • mozilla
  • music
  • nature
  • network administration
  • news
  • nook
  • nothing
  • office
  • open source
  • openoffice
  • opera
  • operating systems
  • oracle
  • osx
  • packaging
  • patches
  • people
  • photos
  • podcasts
  • policy
  • politics
  • powershell
  • predictions
  • process automation
  • products
  • programming
  • projects
  • psychology
  • publishing
  • rail
  • reading
  • registry
  • religion
  • reporting
  • reviews
  • rsat
  • rss
  • safari
  • safety
  • sales
  • satire
  • sccm
  • scheduling
  • science
  • scripting
  • search
  • security
  • servers
  • services
  • sharepoint
  • shopping
  • sms
  • social stuff
  • society
  • softgrid
  • software assurance
  • software deployment
  • software development
  • software packaging
  • sony
  • speaking
  • sports
  • sql express
  • sql server
  • statistics
  • Statistics news marketing
  • steve jobs
  • stories
  • stuff
  • stupidity
  • symantec
  • sysinternals
  • system center
  • systems architecture
  • t-sql
  • taxes
  • technet
  • technical support
  • technology
  • TED
  • ted talks
  • testing
  • textpad
  • thoughts
  • traffic
  • training
  • transportation
  • travel
  • troubleshooting
  • tutorials
  • twitter
  • ubuntu
  • unattend
  • unemployment
  • updates
  • upfront ezine
  • utilities
  • vacation
  • vba
  • vbscript
  • video
  • virginia
  • virginia beach
  • virtualization
  • visual lisp
  • vmware
  • vmware server
  • voting
  • war
  • weather
  • web
  • web browsers
  • web development
  • web sites
  • windows
  • windows 7
  • windows live
  • windows server
  • windows server 2012
  • windows8
  • winpe
  • wise
  • wmi
  • work
  • writing
  • ws08
  • wsus
  • wwa
  • x64
  • xml
  • ze frank

Blog Archive

  • ►  2013 (37)
    • ►  October (1)
    • ►  September (5)
    • ►  August (8)
    • ►  July (2)
    • ►  June (4)
    • ►  May (4)
    • ►  April (2)
    • ►  March (2)
    • ►  February (8)
    • ►  January (1)
  • ▼  2012 (120)
    • ▼  December (14)
      • Half-Assed Review: Dollar Shave vs. Gillette Dispo...
      • Skatterbrainz Top Blog Posts of 2012
      • Top 20 Commands Every Windows 7/8 Server 2008 / 20...
      • Prediction Confliction
      • I Feel That a Feel-Good Feeling Feels Pretty Good
      • Survey Time: Choose Your Next Book Topic
      • Merry Christmas! A Few Holiday Thoughts to Share...
      • Windows 8 - Scoring my Predictable Predictions
      • Another Book Announcement!
      • Books and More Books, and More
      • Who is Ralph Grabowski? And Why CAD Pro's Should R...
      • Big Announcement: Book Promotion Event
      • Dear CEO's: Be Careful with that Cloud PR Stuff
      • Writing for 4Sysops.com
    • ►  November (12)
      • Pre-Announcement of a Pre-Announcements
      • Wrapping Infrastructure with Duct Tape, Glue and S...
      • Deploy Windows 8 Start Tiles Using Group Policy Pr...
      • It's Scripting Time Again! AD Server Descriptions
      • Thanksgiving Special: 7 Easy Computer Performance ...
      • Windows 8 / Server 2012 Shutdown Safety Tip
      • Why "Coming Soon" Can Be a Bad Idea
      • A Little Humor for Monday morning
      • Crude But Effective: Part 2, the Electric Boogaloo
    • ►  October (10)
    • ►  September (7)
    • ►  August (3)
    • ►  July (2)
    • ►  June (6)
    • ►  May (6)
    • ►  April (20)
    • ►  March (16)
    • ►  February (18)
    • ►  January (6)
  • ►  2011 (343)
    • ►  December (15)
    • ►  November (23)
    • ►  October (27)
    • ►  September (35)
    • ►  August (29)
    • ►  July (17)
    • ►  June (23)
    • ►  May (20)
    • ►  April (38)
    • ►  March (61)
    • ►  February (54)
    • ►  January (1)
Powered by Blogger.

About Me

Unknown
View my complete profile