Friday, December 31, 2010

Happy New Year!

Dissection

2008 was a rough year for many.  For me it began as the WORST year since losing both of my parents (one in 1987, the other ten years later).  It gradually turned around, but recovering from the layoff that year continues to this day.  2009 was at least more stable than 2008 was.  2010 showed marginal improvements for the most part, and improving towards the end.  Of course, I'm merging a lot of aspects into a single "rating" which is a bit skewed.  I think most of us can evaluate a given year on many levels and from many angles.  Work, home, hobbies, financial, health, friendships, mechanical/electrical repairs, and good old-fashioned luck.

Looking Ahead

I don't look ahead anymore.  Some say that's pessimistic.  I say it's optimistic.  The less I try to pin on speculation, the better my chances are of avoiding emotional failures.  Sure, I plan ahead, but I'm not going to say things like "2011 is going to be a GREAT year!" (like Tony the Tiger might scream out).  The honest thing to say would be "I'm going to do my best in 2011, on everything I do".  Football teams don't pin their prospects on scoring a touchdown on every single play.  Boxers don't expect a knock-out on the first punch.  Soccer players don't expect to kick a goal on every single kick.  They work on increments.  Climbing the rungs of a ladder.  And so will I.

The thing that bothers me every time a year winds up is hearing all the resolutions and promises, etc.  As if it means anything that you waited until one time of the year to embark on improving your life is not disingenuous.  Please.  If something matters that much, you'd have already made the promise to do it, and you would have already started work on it.  This is why I don't do New Year's resolutions.  Ever.  Every day is a chance to consider what we need to do, and do it. 

But as always, I will have to wait out the first two weeks of January before I can get back into walking and jogging, because I have to wait for the crowds of resolutioners to thin out from giving up (They always do.  Even my kids notice this every year: "Remember how crowded the park trail was right after New Year? Look at how empty it is now!")

As for projects: I have one more book coming.  It's long overdue and I'm trying to make sure I go over it repeatedly to avoid mistakes or forgetting to include something.  After that is done, I'm not sure what my next project will be.  I'd like to keep writing, but I'm not sure what to write about next.  But aside from writing, I have work and family to keep me busy enough.  I'm just waiting for Spring.  I hate cold weather.

In the meantime, I hope that 2011 is good for you, your families and your friends.  Let's all try to tone down the political rhetoric and put people above politics. I always thought that was why we exist in the first place.

Thursday, December 30, 2010

Alias Schm-alias

An old colleague and friend of mine "Dave" (not me, I swear) e-mailed me with some interesting info that he thought might be worth sharing.  This is regarding the command alias data file used by AutoCAD 2010 and AutoCAD Mechanical 2010.  More importantly: the DIFFERENCES between them.

AutoCAD 2010 apparently uses a file named "alias.pgc", stored in the folder path %ProgramFiles%\AutoCAD 2010\Express.

AutoCAD Mechanical 2010 uses a file named "alias.pgp", stored in the folder path %ProgramFiles%\Autodesk\ACADM 2010\acadm.

But that's not all!

In his environment at work, "users" do not have Administrator rights.  EVER*.  It's prohibited by policy (as it damn well should be everywhere on the planet Earth).  Users therefore cannot edit their own command aliases while the files reside in those locations.

*SIDE NOTE: If you can't make your Windows client environment work without granting users Administrator rights you have NO idea what you are doing.  There are no exceptions.  Violators will be waterboarded, beaten, tasered in the groin and trampled with ice climbing boots.  Any questions?  Good.  I didn't think so.  Now… back to the story…

So, normally Dave does what most experienced packagers/administrators do: run a CACLS process on the file or folder to make it behave normally for a "user" login.  The problem is that AutoCAD Mechanical 2010 wants to create a temporary lock file, while the alias.pgp file is being modified.  This is only a small challenge since CACLS works fine on files AND folders. 

However, it presents a dilemna wherein opening the permissions to the entire folder defeats the intentions of having user security levels in the first place.  This, by proxy, violates Microsoft Windows XP Compatability tenants.  I presume such practice on Windows 7 would violate those as well.  But I'm not an attorney.  I just make fun of them when they're not around.

So, now he's faced with two CACLS processing chores:

CACLS "%programfiles%\AutoCAD 2010\Express\alias.pgc" /e /c /g users:c

CACLS "%programfiles%\Autodesk\ACADM 2010\acadm" /e /c /g users:c

Aside from the path names, can you see the difference?  One ends with a file name, the other does not.  That means the second statement applies to the entire folder and all of the files within it.  Wag of the finger!

Here's a Software Development 101 tip:  If you are developing software to install on Windows clients, and you're not making it with something clever like Microsoft ClickOnce, App-V, ThinApp, XenApp, or whatever, make sure that anything a "user" can modify will allow a "user" to modify it. 

While some vendors make no distinction between "user" and "administrator" (aka "admin"), the rest of the brain-enabled world does.  I'm not picking on Autodesk, they get enough picking on. They're actually one of the better vendors out there.  There are many who, shall I say, write crap code, and leave us IT pukes to deal with shoe-horning it into real-world environments.

Wednesday, December 29, 2010

Another Book

You may have noticed that I've been a bit quiet lately.  Maybe not.  In any case, I've been working on another book.  It may be my last for a while, unless something unexpected comes up.  Stay tuned for an announcement after the New Year.

Friday, December 24, 2010

Top 10 Blog Readings of 2010 and What's Ahead

Taking a que from Ed Bott's recent blog post, I decided to analyize my Google Analytics to see what the top-ten most read blog articles were for 2010.  My blog has picked up in 2010 for sure.  I abandoned it twice before, due to falling readership and lack of time to spend on it.  I still don't have much time, but with the traffic increases this year, I have tried my best to keep it going and keep it interesting.  I hope it is interesting for you.

And now I will open the envelope…

  1. Windows 7, MSG.EXE and Group Policy Preferences
  2. Packaging DWG TrueView 2011
  3. Windows 7 GPEDIT Changes *
  4. Don't Forget to Mop Up *
  5. Packaging & Deployment Autodesk 2011 Products with System Center Configuration Manager 2007
  6. Enabling Windows 7 Remote Management via Group Policy *
  7. Using PowerShell with an MS-Access Database
  8. What does the AutoCAD "PURGE" Command Do?
  9. Packaging DirectX 9.0c as an MSI
  10. Uninstalling AutoCAD LT 2011 with SCCM 2007 **
  11. (Honorable Mention) Deploy Autodesk Design Review 2011 with SCCM 2007
  12. (Honorable Mention) Scripting with Glue and Tape *

* Article was actually posted in 2009 but ranked in the top-10 most-read for 2010

** Autodesk posted a script to perform the same action but with more meticulous attention to detail, so I have to recommend readers to use that instead of what was posted on article marked

What's Ahead

I finished up two e-books and set them out on the waters of Amazon just in the past month.  So far they've done pretty well.  Now I have to figure out what to do next.  I'm sure I will publish updated editions to both of them sometime in 2011, but I'd also like to produce something new.  I'm open for suggestions on either of these endeavors (so drop me a line at ds0934 at gmail dot com)

I know I recently posted a list of current projects, but I left a few out:

  • Working with managing MED-V clients with SCCM and Scripting
  • Aggregating information from SCCM, SQL and Active Directory for a web application
  • Spinning up on Sharepoint Foundation 2010 and Search Server Express for a client project
  • Testing a Google Chrome Notebook
  • Reading a crap-load of books on my Kindle (I love that little gadget!)
  • Trying not to ignore my wife, kids and dog (I try)
  • Improving my diet and getting back to exercising (walking, bike riding, etc.)
  • House and car repairs (plenty of that waiting for me already)
  • Doing a better job at everything I do (continuous improvement)
  • Helping others wherever I can

For now, I'm going to take a few days off to spend with my family.  So I'd like to say to you…

Merry Christmas!  Happy Holidays!

Best wishes to you, your families and loved ones!

 

Thursday, December 23, 2010

A Little Subjective Objectivity

Don't talk to me about how much you despise technology while you read this on the web

Don't talk to me about the evils of modern medicine until you've survived Cancer

Don't talk to me about saving the planet until you find something better than toilet paper

Don't talk to me about faith while you look both ways before crossing a busy street

Don't talk to me about war until you've shot someone dead in battle

Don't talk to me about pain and challenge until you've given birth

Don't talk to me about to me about your views unless you're willing to listen to mine

Don't talk to me about tomorrow without being prepared to talk about yesterday and today

Don't talk to me with a mouth full of food, please.

Virtualization Tips

USB External Drives

If you bought yourself a nifty USB external hard drive to hold your VM files, you may find it sometimes acts a little sluggish, even occasionally crashing the VM host app (VMware, Virtual Box, whatever).  One thing you might want to try is setting the performance mode of the USB device.  To do this on Windows 7, right-click on the drive assignment in Windows Explorer, and select 'Properties".  Then click the Hardware tab, and select the specific device in the disk drives list.  Then click the "Properties" button at the bottom.  Then click the "Change Settings" button, select the "Policies" tab and set the Removal policy to "Better performance" instead of "Quick removal"

Active Directory Synchronization

If your VM guests are joined to an AD domain and you find that the guests drop off the domain every few weeks, it's most likely due to the computer account password synchronization getting wacked.  This can happen if the machines are powered off longer than the default resync cycle period, or if you reset (roll-back) to a snapshot from prior to the last resync.  You can modify this as follows:

HKLM\System\CurrentControlSet\Services\Netlogon\Parameters\DisablePasswordChange

Change this from 0 to 1.

If you are working with snapshots, you may need to implement this on each snapshot up to the parent state.

Merry Christmas!

Wednesday, December 22, 2010

The Book has a Web Site!

I finally got around to setting up a web site dedicated to the AutoCAD Network Administrator's Bible e-book.  The new site is at the following URL…

https://sites.google.com/site/acadnab

I Have a Favor to Ask

If you were one of the generous people to have purchased one of my books on Amazon, please submit a rating feedback?  I would appreciate your honest opinion.  I don't just crank stuff out for the heck of it. I put a lot of time into each one, and I want them to be useful and helpful to others.  If I can improve anything - I need to hear from you.  This will also help others decide whether to spend their hard-earned money on them.  Thank you!  And have a Merry Christmas!

Tuesday, December 21, 2010

Projects

Latest Iteniary keeping me busy by day, and up all night.  As usual.

  • ASP-based web app.  Intranet Portal aspect.  Tying together SQL data linked from SCCM, with Active Directory, to produce specialized reports and annotation
  • An intranet portal migration from ASP to Sharepoint Foundation 2010
  • A Resume Database to mass import Word crap (and I mean "crap") referred to as "resumes" into a searchable heap.  Looking over the (de-)evolution of professional resumes over the previous twenty years I can see why we offshore jobs.
  • Scratching my head about what to write about next.
  • Scratching my nuts (I'm a guy.  What did you expect?). And by the way, statistically speaking: I get as many good ideas from scratching my nuts as I do from scratching my head.  There's a correlation there somewhere.  I'm still searching for it.
  • I'll think of more later

Monday, December 20, 2010

Another Packaging Tip for AutoCAD 2011

This was posted on the Autodesk DWG TrueView discussion forum by user GTVic on 12/20/2010 in response to an ever-growing thread on doing silent installs of DWG TrueView (and spilling over into AutoCAD 2011 it seems):

I have my AutoCAD 2011 scripted deployment working. Here are the changes I made:

 

First, you have to use the "-for-GPO.msi" file with the deployment MST file. I ignored GPO.mst because it was in a different folder and had an old date and only set one property ADSK_SETUP_EXE=1.

 

With the GPO MSI you will properly install the english version 0409 instead of 0000 and then the subscription and service packs will be able to detect that AutoCAD is installed.

 

For the language pack you need to include a property INSTALLDIR=C:\Program Files\Autodesk\AutoCAD 2011\. I also added ADMIN_INSTALL=YES but I don't think that is needed.

 

The Civil Object Enabler requires the same INSTALLDIR property.

 

If you want AutoCAD to be able to update the Hardware Graphics Card database xml file for a user without admin rights you have to make the following folder writeable: C:\ProgramData\AutodeskRendering\PTXML.

Letters to Santa

Santa would shoot me dead if he was packin', but for now, until he gets a gun permit, allow me to reprint a letter from Dave A., who recently purchased one of my books…

Awesome book Dave. I did notice a few small things.  In the flexlm section you didn't actually mention the standard flexlm environment variable. LM_LICENSE_FILE.
Also you said you have to have elevated privs to set the variables, but if you were to set them as a user in the HKCU or by right clicking on the my computer and going to properties, advanced properties, environment variables, user variables and set the variable there, it will then be usable by the current user.  So no admin rights needed only need to know the port@host info.
You should add the Sysinternals website specifically http://technet.microsoft.com/en-us/sysinternals .  I cant believe how many people do not know about these tools.
Does the kindle not like apostrophes? all i get are []
I am going to recommend that this be a regular read for the group.
Whats the next book Dave?
First off: THANK YOU!  I appreciate anyone buying one of my books, I really do.  And I want to respond to every single person who emails, tweets or yells at me (even in traffic, but that's a different story entirely)…
  1. That is indeed a great point regarding the use of a USER variable to set the LM_LICENSE_FILE.  It is also a good point about the port prefix, which I did mention in the AutoCAD Network Administrator's Bible (ANAB), but I didn't mention it in this book.
  2. Sysinternals is such a fantastic resource for anyone even touches a computer that I often forget to take a moment to describe it.  Again however, I mentioned this in the ANAB book.  I should have tossed in more examples.
  3. The [] stuff is due to Microsoft Word having a tough time cranking out clean HTML code that ports into PRC/MOBI e-book format properly.  I've since created a Word template to do future editing with.  That should take care of crazy indentation, paragraph alignments, bullets, numbering, quotes, dashes, and other weirdness.
  4. Thanks for recommending it to others.  God bless you!  My kids may yet own shoes.
  5. Next book is up in the air.  I'm not sure what to do actually.  There are several directions I might take, which may all fail or not, who knows.  I will post more when I nail something down (hopefully without my thumb caught underneath)

Chinese Fortune Cookie Time

"If you automate a broken process, you end up with an automated broken process."

Licensing

This is without a doubt the ugliest, scarriest, murkiest, confusingest, and most exasperatingest aspect to anything even remotely related to technology.  Ok, some of those words I made up.  But why is this such a major freak-out?  I think it's because…

  • It almost always involves lots of fine print
  • It almost always involves terse language and ambiguity
  • It involves lawyers

There are so many angles to "licensing" that I could write a book (relax, I'm not actually going to write a book on this. I'd probably get sued for upsetting someone in a suit somewhere.  Pardon the pun).  What are these mystical aspects?  Most licensing becomes relevant to the following aspects of technology products and services…

  • Buying, leasing or using it
  • Maintaining it
  • Controlling where it can be used
  • Controlling who can use it
  • Controlling how you can use it
  • Controlling what you can say about it (borders on NDA sometimes)

There are warnings, dislaimers, EULAs, conditions, clauses, terms, exclusions, indemnifications and so on.  But just within the razor-thin slice of the "controlling" usage aspect, there's a lot of sub-specialization:

  • Standalone
  • Network
  • Bundled
  • Concurrent
  • Enterprise
  • Per-machine
  • Per-user
  • Per-server
  • Per-network
  • Per-connection
  • Per-processor
  • Per-disk
  • Per-language
  • Hardware lock or Software lock
  • Trusted versus Enforced

At this point, every single FOSS/Open-Source nutball is pissing his/her pants laughing and rolling around on the floor.  Their dog or cat is standing by in total confusion watching this embarrassing act.  But Mr. Buzzkill has to remind Mr. Bong-drinker that most of the world operates on commercial/retail products and technologies, not open source.  Sure.  Open Source is a big player, but it's almost always, on average, mixed with proprietary environments.  And you can't mention "proprietary" without mentioning "licensing" as well.  That's a requirement actually, somewhere in paragraph 34, line 17, section B, sub-section iii in the EULA.

So, everytime I get pulled into a discussion or meeting about building a new application to house and manage software licensing information, I get the same feeling as when I get my student loan payment reminders.  I put my face into both hands, moan and groan and say things like "why me?!!"  Anyhow, enough of that.  The point is that it never works for me.  I end up doing it anyway.  And in every situation (so far anyway) it ends up working out.  Not perfect.  But well enough to make the involved parties happy.  I just wish someone could standardize this mess.  Good luck with that.  Asking lawyers to standardize across competing product offerings is one thing, but asking them modify licensing is like, well, … you might as well pull out some electric hedge trimmers, turn them on, and then ask the lawyeres if you can play with their nutsacks for a little while.  Yeah, they freak out about that much.

Saturday, December 18, 2010

Chromium Domium Hum Dum Sher-onium

So, I applied to participate in the Google Chrome Notebook test program.  Anyone who knows me knows I've spent YEARS in beta programs for various companies.  It started with (no defunct) Allaire and their little products called Cold Fusion and Homesite.  You might remember them?  Maybe not.  I was working quite a bit with CF using Homesite, and THANK GOD I did.  Not because CFML was an amazing language or anything, but rather, because Homesite FORCED you to build your web content in HTML code.  That's right, you had to build your stupid HTML table structures the HARD way. Stone tablets, hammers and chisels were the advanced tools of the day.  And it taught me HTML (and later CSS, XHTML) in a way that folks who ride around on Dreamweaver training wheels can barely grasp.

If I had a dollar for every Dreamweaver "developer" I've sat next to who absolutely freaked the fuck out over clicking the code-view option, I'd be rich.  "What the **** is that?!?" is their usual reaction.  Then you'd hear me respond something like "these, right... here (pointing at screen with greasy chicken wing finger goo).. are called 'tags'" and they respond with "ooooohh!  I've heard of those!" (giggling like a 10 year old girl at a Justin Bieber concert).

My love affair with beta testing continued on with Microsoft, Google, Adobe (for a very short period), WinZip (yes, they too had a beta program), Autodesk, Amazon and a few others.  I won't go into my quasi-subjectively objective views on the evolution and current state of "beta" trials, because I've already blogged about it (search the "beta" tag for more links).  Some ask "what the **** do you find interesting about doing that?" and usually with a look like I just told them I was eating a live cat with a fork and a baseball bat.  I always answer: "because I get to see what's coming around the bend.  And isn't that what humans really want: to see into the future?" The downside of course is the NDA part, but that adds the sexy mysticism and secrecy to the mix.  It takes geekism and turns it into Illuminati nerdism.  So, as you might expect, I can't say a lot about current testing, even some past testing (yes, some NDA's bind you to STFU even when the trials are done, years ago).

I've only had this notebook for a few hours.  I'm already forming some opinions (likes/dislikes) but I need more time with it before I can formalize an opinion of it.  I will say this, based on 3 hours of use:  If it was sold for $100-$200 it would be the most ass-kicking, boot-to-the-face coolness in years.  Not because it's amazingly advanced.  It's really not.  It would be because the utility for the cost (ratio) would be absolutely perfect.  The nirvana of putting connectivity into the hands of a larger (and less fortunate) base of users.

Friday, December 17, 2010

Book: The Packagers Pocket Reference

The book is now available for purchase on Amazon for $2.99.  That's right $2.99.  You can't even buy a Starbucks "tall" latte for that much.  Buy it now for Amazon Kindle and Kindle Reader apps!

ppr_cover

Here's an added offer: If you buy it, and spot something glaringly wrong or missing or incomplete, and let me know, I will add your name to the Acknowledgements list.  But that's not all.  If your feedback is relevant and results in updating the book, I will send you the revised follow-up edition for free.

Thursday, December 16, 2010

Systems Management Interfaces

I'm sure I'm missing a bunch of other items, but this is a rough start anyway.  I was thinking of what "things" a system admin deals with most often, as it pertains to local vs remote management of each item.  The two that bother me most are Power Plans and Scheduled Tasks.  I sure hope Microsoft decides to clean those up within WMI.  On an even more grandiose delusion I have: I'd love to see them standardize their command syntax and syntactical structures.  Just compare the SC, SCHTASKS and POWERCFG commands (use /? for each).  Holy crap!   And the first person who chimes with "PowerShell is the standard command structure…": Wrong!  It's a bandaid on an amputated leg.  You don't add tools to fix a problem.  You replace them.  It's called efficiency.  I'm cranky tonight.  Going for a walk in the icy slush, which makes me even crankier because cold weather SUCKS!

  COMMAND REMOTE IMPORT EXPORT WMI (root/) WMIC
Scheduled Tasks SCHTASKS YES YES YES ? JOB
Services SC YES NO NO CIMV2, Win32_Service SERVICE
Registry REG YES YES YES DEFAULT, StdRegProv REGISTRY
Event Logs WEVTUTIL YES YES YES CIMV2, Win32_NTLogEvent NTEVENT
Power Plans POWERCFG NO YES YES CIMV2\Power -
Computer Serial Number - - - - CIMV2, Win32_SystemEnclosure SYSTEMENCLOSURE
Drive Mappings NET USE NO NO NO CIMV2, Win32_LogicalDisk NETUSE
Shared Folders NET SHARE YES NO NO CIMV2, Win32_Share SHARE

A Personal CAD Chronology

I was chatting with someone a short time ago about my recollection and involvement (or evolvement?) of Computer-Aided Design (CAD) and how it paralleled with the U.S. Navy shipbuilding design industry.

WARNING:  This is long-winded.  I'm stuck in the house with slush and ice outside and everyone else is sick or sleeping.  I'm bored.  I ramble.  I'm leaving out some trivial parts.  Strap in.  Let's go…

Post WWI, Archangel, U.S.S.R.
"Drafting Room, Archangel." no date.

Military Images: Box 30, Folder 3, #112-7
3.5x5 BW Print

1984 - I was hired at Gibbs & Cox as a Junior Drafter.  Trained from scratch.  Bowl of mush molded into a semi-functioning brain by a group of professionals with bad hair cuts and a missing fashion sense.  Nice people nonetheless, and I learned a great deal from them.

Everything was done by hand, using mechanical pencils with E0 or E1 plastic lead on frosted Mylar film.  Occasionally we would have to work on Sepia prints, which sucked holy crapcakes, especially if you came into work with a hangover (hey, I was young then) and reaching for the coffee cup, you accidentally knocked over the opened bottle of "Eradicator Fluid".  Guess what that stuff does to Sepia?  I would letter hundreds of lines of text every day, and became intimately close to my drafting tools:

  • Triangles (30/60 and 45/90)
  • Letter guides (at first these were printed sheets of paper slid under the translucent Mylar)
  • Letter slots (plastic slots to constrain lettering height, and make them uglier)
  • T-square on modified household door slabs (high dollar shit there)
  • Drafting machine with NASA-approved cabling system and tilt board
  • French Curves
  • Shape templates
  • Standard and Metric 3-sided scales
  • Ships Curves and "Duck" weights
  • Coffee cup
  • Playboy pinup calendar (these were later confiscated)
  • Cassette Tape Sony Walkman with latest rock songs
  • Visine (weekend recovery tools)

1985 - I was hired at CDI Marine Company as a Senior Drafter.  It only took a year to hone my hand drafting Kung Fu skills to get from "Junior" to "Senior".  My pay went up a bit as well.  Still doing the Mylar and plastic lead drafting.  This involved "front sheets" with tabular material lists, general notes, references, title block, the usual.  All of it done by hand, even the lines in the BOM table, as well as all of the lettering.  I was pretty good at it and was blessed as the go-to idiot for the tougher jobs or those that were facing crunch-time delivery.

In 1986, we were introduced to the cutting edge mainframe CAD system called AutoTrol.  It was like ENIAC Junior (you can Google that reference).  Cutting edge meant it could do lines, arcs, circles and polygons.  A hotfix to the system added colors for the "layers" (or "levels" I can't remember now).  Another hotfix added associative dimensions.  The Navy played with it, then stopped the car and pushed it out over a mountain pass, letting it fall to its death.

1987 - I was hired at M. Rosenblatt & Son.  We had several CAD systems in use by this time.  All were mandated by various U.S. Navy or commercial (Chevron) contract vehicles.  These included Intergraph EMS/VDS and PDU/PDM, Computervision CADDS 4X (aka "CV4X"), Personal Designer PD-something.

At first, the Navy forbid the use of CAD on anything "design" related, allowing it only for use on front sheets.  They were not yet convinced it met their stringent accuracy and precision requirements.  That last sentence should make you laugh if you know anything about Navy design standards in the 1980s.

  • Still had cassette tape Sony Walkman
  • Playboy Lingerie calendar (a new one)
  • Our own coffee mess next to the "CAD Station" (four machines in close proximity)

1990s - Over the following years, we added Microstation, and AutoCAD R10 to the mix.  I was relegated to CV4X and Intergraph because our bald-headed asswipe department manager didn't like me and refused to let me train on AutoCAD.  Probably something to do with me calling him a bald-headed bastard while talking to a co-worker at the urinals, without realizing bald-headed bastard was in the bald-headed bastard toilet stall behind us.  Oh, did I mention he was bald?  and a bastard?  Never mind.

We modeled 3D setups for various naval ship "spaces" to design retrofit changes.  Things like clearing an engine room or machinery space to install newer equipment and re-route piping, ductwork, structure and all the stupid insignificant wiring bullshit (that's a cheap jab at my electrical design buddies - ha ha).  All of this, at the time, was done in wireframe.  There were no decent flat, Phong or Gouraud shading systems at the time.  These were mostly $30,000 to $50,000 workstation UNIX-based monstrosities.  They took forEVER to boot up and load a part or model for working.  Here's a sample of a typical workday:

  • 6:30 AM - arrive, turn on office lights, take off coat, apply Visine drops, rub eyes
  • 6:35 AM - initiate UNIX login, crack knuckles, stare into empty coffee cup and try to identify what the dried up substance at the bottom is composed of.
  • 6:55 AM - login completed.  Initiate FILE / OPEN / OPEN PART <select part file>
  • 7:00 AM - system indicates part is loading "regeneration in progress…"
  • 7:01 AM - go scrub coffee cup, fill with mud (coffee), stir crap in (sugar, creamer powder substance) and watch to see if metal spoon disintegrates in the liquid immersion
  • 7:05 to 9:00 - shoot crap with co-workers, most of which are also waiting for their parts to load so they can get to work
  • 9:15 AM - part regeneration is complete and is now ready to be worked on
  • 9:18 AM - Kevin walks up, and reaches across my pen tablet and clicks "DEL ALL" and laughs.  These shitty systems had NO UNDO feature in those days.  So such incidents (or accidents) required EXIT PART NO FILE (no save) and start over.
  • 11:20 AM - part back up and ready to work

What's interesting is that this was a model of a single auxiliary machinery space.  Complete with structure (all forms thereof, including chocks and doublers, hatches, ladders, etc.), piping, valves, flanges, collars, couplings, sleeves, unions, elbows, laterals, tees, and simplex or duplex strainers as well.  Then there were the HVAC system items: ductwork, transitions, turns, vaned turns, collars and coamings, in-line heaters and cooling coils, fan coil units, the usual.  Then came the big equipment: pumps, strainers, compressors, diverters, scuppers, chiller plants, and separators.  Finally, we had the electrical systems, junction boxes, panels, wireway racks, coamings, switches and all that, and let's not forget the furniture and incidental crap.

All of this in wireframe.  No solids or surfaces at all.  No constraints or associative dimensions.  This took TWO HOURS to load.  That's right: TWO. FRIGGIN. HOURS. TO. LOAD.

SIDE NOTE: This same set of data, modeled as actual solids and surfaces, with associative dimensions and constraints, can be loaded on a $2000 x86 PC with AutoCAD in less than a minute (on the slowest day I can imagine)  - that is progress.

It was during this time that Bald-headed Bastard gave me no other option to teach myself AutoCAD R11/R12 using a few books and staying after hours and coming in on weekends.

We eventually moved everything to AutoCAD, per guidance of the U.S. Navy.  We hired an MIT graduate to program some kick-ass LISP apps to automate the design process.  Mr. MIT wore sandals and shorts in the Winter.  Mr. MIT was a dopehead.  Brilliant at coding, but many of his apps suffered bugs.  Mr. MIT soon became Mr. Unemployed.  His apps became Mr. Unsupported soon after.

I taught myself AutoLISP using Gene Straka's amazing book "AutoLISP Programming by Example" (now out of print).  This is (or was) the best programming book ever written, for any language, for any time, for all of the Universe to infinity.  You can quote me on that.  I wrote our own HVAC and piping systems design apps for AutoCAD R12.  I continued on this path for years to follow.

1996 - I was hired at Tenneco / Newport News Shipbuilding to "head up" the installation and management of their first-ever "AutoCAD Network".  Prior to this, they were a Netware shop for WFWG users doing clerical stuff and engineering calculations.  The CAD work had been done for decades with CADAM and a few other UNIX-based CAD systems.  Rice bowls and Fiefdoms aplenty.  This was a big fishbowl with a political machinery like the inside of a complicated wristwatch.  The tools to be put into motion…

  • Windows NT 3.51
  • AutoCAD R13

This was my first cross-training into LAN administration, printer and plotter management, as well as continuing on with AutoCAD management and customization.  The other systems remained in operation, as well as newer players like IDEAS, Pro/Engineer, MicroCadam and Helix, Unigraphics, and a few others from places I can't pronounce.  They spent millions of dollars.  We spent a few thousand.  They had to send employees to get trained for thousands of dollars.  We hired high schoolers, pre-trained on AutoCAD.  Any sane MBA would stop right here and make the obvious decision to cut losses.  Nope.

2000 - I was hired at SAIC-AMSEC to manage their AutoCAD systems.  I continued on with my Windows administration gyration consternation prognostications.  I got a certification.

I'm too tired to continue on with this, but now we have AutoCAD 2011 on Windows 7 and things are good.  I wish the prices were more reasonable, but it is what it is (don't you hate that overused phrase?).

Wednesday, December 15, 2010

Book: The Packager's Pocket Reference

ppr_coverI just submitted this to Amazon for publishing.  Same Kindle format, but this time the price is (are you sitting down?…) $2.99   I will post more information as soon as it is available for purchase.

I've included the table of contents below to help explain what is included.  Heck, for $2.99 it's not bad.

 

 

 

 

 

 

Contents

Overview and Introduction 5

Registry - Uninstall Keys6

32-bit Windows Apps: 6

64-bit Windows Apps: 6

32-bit Apps on 64-bit Windows: 6

Command Line Tools 7

Windows Services 7

Stopping a Service: 7

Deleting a Service: 7

List all Services on Remote Computer: 7

List Details on Specific Service on Remote Computer: 7

Processes 7

List Running Process: 7

List all Instances of Fubar.exe Processes: 7

Kill a Process by Process ID Number: 7

Kill a Process by Name: 7

Kill a Remote Process by Name: 7

Registry Data 8

Query a (local) Registry Key and Sub-Keys: 8

Query a (local) Registry Key and all Values below it: 8

Query a (remote) Registry Key and Sub-Keys 8

Create or Replace a Registry Key: 8

Create or Replace a Registry Key [default] Value: 8

Query AutoCAD 2011 Profiles: 8

Extract a Profile to a .REG file 8

MSIEXEC 8

Installation and Uninstall Parameters 8

MSIEXEC errors 9

Setup.exe Techniques 9

Record a Setup Log File 9

Silent Install Using a Setup Log File 9

Silent Uninstall Using a Setup Log File 9

Folder Permissions 9

Registry Permissions 10

REGINI.exe 10

Wise Package Scripting 10

Adjusting Folder Permissions During Install: 10

Delete Left Folders and Files During Uninstall: 10

Delete Registry Keys During Uninstall: 10

AutoCAD® Customization 11

Enforced Custom Profile 11

Create a User Profile and Desktop Shortcut 11

Preparation Steps: 11

CMD Script: 11

Common Silent Installations 12

Common Silent Uninstalls 12

Detection Methods 14

File/Folder-Based 14

Registry-Based 14

System Center Configuration Manager 2007 17

WQL search expressions 17

AutoCAD 2011 17

Tip: Maintenance Windows 17

Tip: DirectX Deployments 17

FlexLM© Client Settings 17

Server Names Environment Variable 17

Server Request TimeOut Adjustment: 17

Recipes 18

Detect a Folder 18

Detect a Registry Key 19

Delete a Folder Tree 19

Add or Change a Registry Key 20

Add or Change a Registry Value 20

Delete a Registry Key 21

Get File Version Information 21

CMD Script Path Expansion Variables 22

Change FlexLM© License Server List on Multiple Remote Computers 22

Solution 1: Use REG.exe and a script 24

Solution 2: Use PsExec.exe in a script with a script 24

Make and Run a REGINI Operation from VBScript 25

Registry Key Detection: 32-bit vs 64-bit 25

Robocopy Backups and Mirroring 26

Backup only newer files with Robocopy 26

Maintain Synchronization Between Two Folders: 26

Appendix A - API References 27

Appendix B - Useful Web Sites 28

Acknowledgements 28

AutoCAD WQL Time

WQL stuff to help make Query-Based SCCM collections or to guide you whilst developing Web Reports.  You can substitute the appropriate version R numbering for other releases (e.g. R16.1 for AutoCAD 2005, and so on).  Substitute the ProductName value with others to weed out Civil 3D, Map 3D, Mechanical, and so on, and so on, and so on, and … ok, I'll stop.

AutoCAD 2011

Select Distinct SYS.Netbios_Name0, SYS.User_Name0, SP.ProductName,
SP.ProductVersion
FROM v_GS_SoftwareProduct SP
JOIN v_R_System SYS on SP.ResourceID = SYS.ResourceID
WHERE SP.ProductName = "AutoCAD" and
SP.ProductVersion like "R18.1.%"
Order by SYS.Netbios_Name0, SP.ProductName

Feedback Time

For anyone who bought my most recent book ("The AutoCAD Network Administrator's Bible, 2011 Edition") I want to first say: THANK YOU!  And then ask a question of you:

What do you feel was left out of the book that you'd like to see covered more thoroughly?  Either in a future book or on this blog?  Feel free to post comments or e-mail me at ds0934atGmailDotCom.

Tuesday, December 14, 2010

Thoughts on Denver, the VA, and Mass Deployments

I kind of chuckled right after I typed the title line above.  I still have a middle school brain most of the time, so I'll leave it to you to figure out what alternate meaning that could have.

I've been fighting a Cold after I worked myself down on lack of sleep trying to get the book published.  I never learn.

Denver and the VA

I recently finished up a conference call with the Department of Veteran's Affairs.  They kindly asked if I would mind joining the call to answer a few questions about deploying Autodesk products with System Center Configuration Manager.  The call was fairly quiet, with many pauses waiting for the next person to chime in.  There wasn't a hard-written agenda of any kind, just a general topic, so we just went with the flow.

Now, this is the part where some of you might be thinking: "oh, here he goes bragging about his book and saving the world".  But in all honesty, I have no such delusions.  I was pleasantly surprised by the e-mail invite.  I have deployed to 5,000 computers in a single site, and 2,600 computers in 22 geographically dispersed sites, but these guys are well beyond that.  Yes, I was humbled.  I probably would have declined had it not been for the following key aspects:

  • It was the VA
  • The invite came from the Denver office
  • I was home with a Cold, sleeping all day, and awoke only minutes before the call started

Those of you that know me pretty well, also know that my father was a VA physician for 30+ years.  He retired from active duty in the Navy to work for the VA in 1957.  He passed away just a few months before retirement, after happily devoting his life to caring for veterans.  They were his extended family.  I cannot describe it with any other words. When my parents separated, I was in first grade, and he managed to secure living quarters on the Hampton, VA grounds while working as the Domiciliary Chief, and later as Chief of Staff.  I would spend weekends with him there and met many of his patients, other doctors and staff members.  In addition, my mother and father were from Denver, and there is a whole other, albeit distant and detached, branch of our family out in Colorado and parts of the southwest.  I simply couldn't decline this offer.

They have a fairly familiar environment and scenario: multiple, independent regional IT operations, each trying to race to find the cure for what ails their IT woes.  When one group breaks ground on something, they share with the others.  At least, that's what I could gather from our short conversation.  Each one supports a large number of customers and computers.

Unsung Heroes

Since I've been working for a municipal government IT operation, I can now see things from a different perspective.  One that few outside of this "world" can accept as even a remote possibility. That is, that there is a HUGE emphasis placed on efficiency and squeezing every drop from an ever-shrinking budget.  Most of the public at large is firmly convinced that government operations are drinking the finest champagne and eating caviar for lunch every day.  Au contraire!  Not only do most government IT operations have to "get by" with meager resources, they are constantly being forced to cut, cut, cut and cut again.  If you don't work in that environment, you cannot imaging the pressures it brings to bear on people struggling to meet regulatory demands, customer needs and just trying to keep all the gears meshed and moving properly.

I used to get upset when I overhear people make proclamations about how wasteful government operations are.  I'm sure there are some, but I can attest from personal experience that government IT endeavors are last in line for preferential treatment and funding.  They often get no credit for making things work (and they make things work very well), while getting the first fingers pointed at them when something fails.  A laptop left in the open by a government worker? IT gets blamed.  Someone opens an email virus and files get filched?  IT gets blamed.  Workers get caught surfing porn sites?  IT gets blamed.   Software gets packaged, staged and deployed to a million computers around the country? (crickets chirping…)

Now I just sigh and say "fuck it".  It's not worth trying to fight that battle.  You might as well charge into a redneck bar on a Saturday night and tell them "Ford sucks! Toyota rules!".  Their minds are made up and closed.  Don't bother.

Call of Duty

Anyhow, what are the challenges most LARGE SCALE software deployments face?

  • Packaging & Testing
  • Deployment Staging
  • Deployment Execution

I'll leave out the ancillary stuff like license servers, licensing, and custom add-ons for now.  These three bullets are enough already. Right?  I mean, I know quite a few people who immediately think about drinking as soon as you mention the word "deployment".  Or as one colleague likes to say: "gentlemen: it's time to pucker your sphincters and get to work!"

Packaging & Testing

As it pertains to building deployments, packaging (or re-packaging) and testing them: it varies widely from one product to the next.  There simply is very little consistency in some respects.  I have to commend Autodesk for putting a lot of effort and emphasis on achieving consistency and simplicity across their products as it pertains to building deployments.

Testing

My testing, actually, the testing procedure we use at work (I didn't invent this by any means), is as follows:

  1. Manual install from the source share to a test client (VM)
  2. SCCM deployment to a test client (VM)
  3. SCCM deployment to a physical client = UAT phase

After UAT (user acceptance testing, aka "customer acceptance") is completed, then we go to the next phase.

Deployment Staging

This is where you decide how and where (and when) you will get the package setup to make it ready to do the actual deployments (deployment execution).  For SCCM environments, this usually involves Distribution Points or Distribution Shares, as well as deciding (ahead of time) how you will tackle slow links, Branch DPs and Branch Caching (Windows 7 clients) and how the SCCM client will interact (download and run, or run from DP, fall-back on download/cache for slow links, etc.).

Advanced shops put a lot of work into automation of the staging process all by itself.  This may include clearing client caches or adjusting cache settings, pre-configuring branch cache options, BITS adjustments, adjusting maintenance windows (with respect to expected execution time of the package), phased scheduling and so on.  I'm not saying "un-advanced" shops don't do this.  I'm saying "advanced" shops put more dedicated time into these aspects independent of the staging and execution phases.

Disclaimer: I'm NOT an expert on SCCM concepts.  I have deployed SCCM sites.  I use SCCM daily at work.  But for a holistic view of SCCM concepts I would strongly recommend MyItforum.com or Microsoft TechNet, etc.

Deployment Execution

Deploying 50 targeted installs at once is usually not a big deal, unless your network is struggling already.  Even then, you can usually pull the trigger after hours or on a weekend, so as to avoid hurting anyone's feelings.  Going beyond a (relatively) small number of targets in a single "push", and you will want to plan for phasing the deployments.  Each environment has their own unique challenges and constraints, so there's no general guideline here.  Do whatever works for you and doesn't break things or create more work (unless you work on NMCI, in which case creating more work is part of the plan - just kidding).

Don't forget to include your FlexLM licensing environment when adding installations or moving them around.

Monday, December 13, 2010

Daily Quote

Driving with my 11-year old son today, taking him to his weekly guitar lesson.  We got to talking about our family cat.

Son: "I think I know why the cat doesn't really like me that much"

Me: "Oh yeah? Why is that?"

Son: "Well, when I was younger, I always thought it's tail was what you were supposed to pick them up by."

[long pause]

Son: "I finally figured out I was wrong."

[short pause]

Me and Son: (hysterical laughter)

Sunday, December 12, 2010

Logic Comparisons

Let me try to break this down.  As of today, this is how the "popular ethical view" shakes out…

Issue Current Status
Cigarettes Acceptable
Marijuana Unacceptable
   
Liquor, Wine, Beer Legal. No signature required
Advil Cold & Sinus Legal. Must show ID and sign consent form
   
Lottery Tickets Acceptable
Online Poker Illegal
   
Gays on TV Great Ratings
Gays in Military A tough sell
   
Government involved in Religious Endeavors Unacceptable
Religion involved in Government Endeavors Acceptable
   
Oil Imports from Canada* Acceptable
Oil Imports from OPEC Unfavorable
   
Tossing Paper Plates in Trash instead of Recycle Bin Unacceptable
Using Toilet Paper Acceptable
   
Social Networks Tracking our Location Unacceptable
Volunteering our Location to the Public at Large Acceptable
   
Saying "FUCK" in a public school classroom Unacceptable
Saying "FUCK" on a bumper sticker Protected by First Amendment
   
Putting your Dying Dog/Cat/Horse to "sleep" Acceptable
Putting your Dying relative to "sleep" Unacceptable
   
Video Cameras in stores, buses, parking lots, intersections Acceptable
Video Cameras in aircraft flight deck Unacceptable
   
Prime-time TV showing graphic violence Acceptable
Prime-time TV showing graphic nudity Unacceptable
* The US imports more oil from Canada than any other nation

Friday, December 10, 2010

Amazon vs Barnes & Noble

No, I'm not talking about two 800 lb guys in a ring with broken noses and mouth guards in, getting psyched up to beat the crap out of each other. I'm just comparing their respective self-publishing services and the results I'm seeing as an author of a very narrow niche subject-matter book.

Application Maturity

I expected Amazon's DTP web application to be the bomb-diggity.  I mean, after all, they have the reputation for being technologically adept with things like S3, ECC, and their various API's.  But I have to score this round in favor of Barnes & Noble's Pubit! web site.  It's just way better in terms of UI/UX design, navigation, layout, and the process of uploading and publishing a new e-book.  However, the Pubit! login system is lame.  Amazon's is also handicapped by being buried in their site.  Once you find either one of these, you really have to bookmark them or you'll suffer a million clicks trying to find your way back in from their home pages.

Revenue Model

I score this round for both of them as being equal.  They both offer about the same terms of royalties, fees, and sales management.  Although, I haven't sold a single copy of my book on BN yet, so I can't really compare the sales reports, which brings me to the next round.

Sales Results / Effectiveness

I published my e-book first on Amazon and sold two copies the first day.  I've now sold just about a dozen copies in less than a week of being published.  I published on Barnes & Noble only a few days after I posted it on Amazon, and I've yet to see a single sale rung up there.  If this continues to be the pattern, I will only publish on Amazon.  Time will tell.

Thursday, December 9, 2010

Old Topic / New Thoughts: Special User Accounts

You have scheduled tasks and services running around like 3-legged blind cats with collars made of catnip.  They've been drinking Red Bull all day also.  Not good.  Now one of the suits walks in with a folded up magazine about "Cutting Edge IT" he lifted from the seat pocket on his red-eye flight from Vegas.  He says: "You boyz, listen up! I read that you best be a-changin them there passwords on them there service accounts.  Y'all hear?!"  And after a short pause with no sound, you all start back to work as if he never entered the room.

Ok, I needed a mental break.  On to something more serious:

You changed a password and now shit is breaking.  Or even more tedious is that the account keeps getting locked because something out there in the depths of space is still trying to use it and getting the gas-face from AD.  You could start the manhunt for where the problems are coming from.  You can query AD for which DC handled the offending request that locked the account.  You can query all computers in the Forest or Domain for scheduled tasks, services, DSNs, auto-runs, and so on.  Fear not there are three easy "options" to mitigate this crap:

1. Create a new account.  Disable the old account

2. Restrict the account to only specific computers

3. Use machine accounts (aka "SYSTEM")

I prefer option 3 for everything.  Like killing ants with a Gatling-style howitzer.  But that's just me.  As for option 1, it'll leave a mess behind, that's for sure.  But the problem will eventually be solved.  However, it will only work its way out if you combine it with option 2.

Option 2 is really what you should have been doing all along.  A funny little trick we used to do waaaay back to **** with co-workers was to get on our computers in the morning, and enter the user ID for the co-worker and fat-finger the password (intentionally) enough times to lock the account.  Then chuckle, sip some coffee and log in normally and wait for the yelling from across the room.  Good times. 

Funny: maybe (to me it was), but this is actually a serious problem.  A very serious problem. It means with a casual query of AD (very simple for any user to do) I can guess some of the critical account names and intentially lock them and disrupt business processes.  This is kind of like that guy in the new All State commercials with the band-aid on his face going around causing problems like Mr. Murphy himself.  Option 2 above helps mitigate this vulnerability from being exploited and hitting your sensitive operations accounts.

Option 3 not only mitigates a sneaky prank attack like that described above, but it also removes the need to monkey with stupid passwords.  I mean - seriously - this is 2010 and we're STILL having to stop everything to change passwords - modify scheduled jobs - edit config files and DSN's - fix Dr. Asswipe's PHd hard-coded stupid-ass application (the guy in accounting who insists on writing his own apps and smokes a pipe, you know the guy), and STILL get any work done?  Seriously?!  We've gone NOWHERE.  Our forefathers would be crying in their colonial beer mugs.

Book Updates: Kindle AND Nook!

Sorry to beat this to death, but I'm still kind of excited about this.  I now have the e-book available on Amazon and Barnes & Noble.  The BN edition is EPUB, so it will work on the Sony Reader as well.  Just click the version you're interested in below to see more information.  I'm working on another book as a reference for AutoCAD/IT deployment nerds.  Sort of a "pocket reference" format.  It will be much cheaper so it should be easy to obtain.  Stay tuned (and THANK YOU! to everyone who purchased a book already!)

anab_cover_kindleanab_cover_nook

Daily Irritation #23

This is a guy thing as far as I know.  But picture this, and I'm sure many guys out there have experienced this one:

You're wearing office attire: pressed khaki's, button up shirt, tucked in and neat, some sort of brown-ish loafer or hush-puppy style shoes, and possibly matching dark socks of some kind.  You've been running from meeting to meeting and drinking tea or water or coffee (or all three) and now you get your first break and head directly to the nearest restroom.  You lock-in on the target and race to the closest available urinal and unzip your fly.  Then you do that stupid clumsy move with the thumb where you try to slide your shirt tail up so you can get hold of the elastic waistband of your underwear to pull downward to let Mr. Happy out - so you can play super-soaker or Tom Clancy (on those imaginary terrorists hiding in the back of the porcelain fortress).

But the problem is your thumb can't seem to get the shirt out of the way and you can't get to the elastic waistband fast enough.  The bomb is ticking.  The music is getting louder.  Sweat beads are forming on your forehead.  It's like deciding whether to cut the red wire or the blue one.  Think fast!  Pressure is on!  The Bladder Monster is pounding at the door like a DEA squad on a Bronx crackhouse.  Suddenly you scream out loud: "get the **** out of my **** **** way!!!", and you cut the red wire and all is good.  Now you can relax as your eyes water up from the sensation of letting go.

Shirt tails and elastic wastbands are the work of the devil.

The AutoCAD Network Administrator's Bible, 2011 Edition - Nook Edition

The book is now available on Barnes & Noble for Nook and Sony Reader (EPUB edition) for $9.99


Get it here: http://search.barnesandnoble.com/books/product.aspx?ean=2940011904677

My Favorite Scripting/Programming Languages

Just random blabbering stuff.  These are ranked in order of "most fun" to "least fun" to work with (entirely subjective of course)…

  1. KiXtart 4.6x
  2. PHP 5.x
  3. VBScript / ASP
  4. SQL / T-SQL
  5. Wise Script 8
  6. Javascript
  7. Visual LISP / AutoLISP
  8. BAT / CMD
  9. PowerShell v2
  10. VB.NET

Ordered by what I work with most often:

  1. BAT / CMD
  2. VBScript / ASP
  3. Wise Script 8
  4. SQL / T-SQL
  5. Javascript
  6. PHP 5.x (sad, very sad for me)
  7. PowerShell v2 (this might change soon)
  8. KiXtart 4.6x (oh, the agony!)
  9. Visual LISP / AutoLISP (almost never)
  10. VB.NET (almost never)

Wednesday, December 8, 2010

Useful CMD/BAT Path Expansion Variables

Save the following code into a .CMD or .BAT file and run it in a CMD shell console.  For some more see http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/percent.mspx?mfr=true  The lines in red are only applicable to 64-bit Windows installations.

@echo off
echo displaying various path alias values...
echo %~nx0
echo %comspec%
echo %~d0
echo %~dp0
echo %~dps0
echo %~dpp0
echo %~f0
echo --------------------------------
echo %systemdrive%
echo %systemroot%
echo %windir%
echo %programdata%
echo %programfiles%
echo %programfiles(x86)%
echo %userprofile%
echo %allusersprofile%
echo %temp%
echo %commonprogramfiles%
echo %commonprogramfiles(x86)%
echo %appdata%
echo %localappdata%
echo %public%

E-book Publishing

I'm nowhere near ready to call myself an expert on this subject, nor all the tools and services involved.  The first blog I ran across that shines a lot of light on both the craft and the technology is Self-Publishing Adventure (author is "Sarah").  I highly recommend her blog to anyone thinking about getting into this as a hobby or as a serious investment of time and love.

As for tools: I've played with a few, and found some that I like and some I do not.  On the "do not" side is Adobe InDesign.  It's probably a very capable product, but I have two problems with it:

1. It's overkill for writing basic e-book content

2. It's very expensive

It does purport to convert (export) content to EPUB format however.  As for those I like (so far): Calibre, and MobiPocket Creator.  Calibre is capable of converting to multiple formats, especially EPUB (Nook, Sony Reader, Google Books), while MobiPocket Creator is aimed at PRC/MOBI formats (Amazon Kindle and a few others).  Also, the web site http://www.2epub.com has a pretty interesting and fairly decent online conversion service.  If your source content is very clean and ship-shape, it can convert it very well.  Mine is not.   Then again, I'm using Microsoft Word, which seems to be hated by book publishing professionals.

Book Follow-Ups

As I expected, no sooner would I get this published than I would get some corrections and reviews coming in.  This is good!  Tom Stoeckel and Dan Scales whipped out a rather interesting script to "Uninstall AutoCAD 2011" (which goes much farther into detail than my own).  Although, I may post something soon akin to this (by the way: *never* hard-code local paths or C:\ in scripts).  Anyhow, this is all good and it means progress is being made and good things are being shared.  End result:  YOU win.  This is the best outcome, right?  I think so.

One correction that came in from review is in regards to the statement on pages 23-24 in the book, about Autodesk's official stance on virtualization.  I stated, as they have published regarding 2010 products, that virtualization environments for their products (with the exception of two named situations) are prohibited by the EULA terms.  I am now told, by a credible source, that this has been relaxed for 2011 products.

What didn't make it in the book:

Some things I just didn't get done in time or flat-out overlooked, until after it was published.  These items will be posted on this blog in the coming weeks.  Some have to do with FlexLM® and FlexNet® topics.  Some have to do with System Center Configuration Manager 2007 topics.  Some have to do with mass deployments.  I think, however, that I got the bulk of what I wanted to say published.  The rest is basically embellishment or extension from that.  Anyhow, I am glad people are reading it and giving me feedback.  I really appreciate that!

Tuesday, December 7, 2010

The Book is Alive!

anab_cover2The book is now available on Amazon.com for Kindle devices and Kindle Reader apps and for today and tomorrow it's only $5.99, then it goes up to $9.99.  You can even request a free sample from the Amazon store, sent directly to your reader, so you can look at the table of contents and get an idea of the topics I cover.  In summary:

  • Building AutoCAD 2011 network deployments, configuring folder and share permissions, customizing deployments, packaging tips, scripting tips, FlexLM and FlexNet Manager issues, including Single, Redundant, and Distributed server models, deployment using Microsoft System Center Configuration Manager 2007 R2, utilities for diagnostics and deployment management, troubleshooting tips and more!

The AutoCAD Network Administrator's Bible, 2011 Edition

The book is alive! Today and maybe tomorrow for $5.99. Then $9.99

http://www.amazon.com/AutoCAD-Network-Administrators-Bible-ebook/dp/B004FEFAKM/ref=sr_1_5?ie=UTF8&qid=1291754682&sr=8-5

Sunday, December 5, 2010

Another Milestone Reached

It just feels right.  I just finished watching the 60-Minutes segment on Facebook and Mark Zuckerberg.  My dog came in and sat beside me (I usually have to call her over).  I got the review draft back and merged everything together.  The book has been submitted to Amazon.  I'm hoping to post a link by Tuesday at the latest.  Now, it's time to catch up on a lot of lost sleep.

Book Update: Getting Close

The book is progressing very quickly towards publishing now.  It's 2:00 AM and I've been working on it for hours.  Actually, every night for the past week I've been putting in some insane hours.  My brain is starting to fizzle out.  But I have something to show for it, and I hope you like it….

Book Sample: The AutoCAD Network Administrator's Bible, 2011 Edition

It's the first 7 pages from the book in PDF format.  I would appreciate any feedback on the list of topics I'm covering.  And by the way, the purchase price is probably going to be $5.99 (USD).  I hope that's a decent price considering the scope of content, and the time I'm putting into it.

I haven't written a book in seven years.  So this is looking like it will be a litmus test for me.  If this goes well, I will do more. If it doesn't, well, at least I have my day job.  I'm really not sure if I'm cut out for writing.  I will let the sales results decide for me.

Saturday, December 4, 2010

Deploy Registry Updates to Multiple Computers

Challenge:

You need to modify a specific registry key or value on 50, 500 or 5,000 computers on your network.  You need to get it done in the next 15 minutes.  Your boss is standing over you with a can of pepper spray and a taser.  The HR manager has a pink slip ready, the name is not yet filled out.  They are tapping their fingers and breathing heavily.  The pressure is on. …


Solution 1: Use REG.exe and a script

Solution 1 - Steps:

  1. Create a list (text file) containing the names of computers (ex. "computers.txt")
  2. Create a script to read the text file list, and run REG ADD <params> on each computer
  3. Open CMD and run the script

Example Script for Solution 1:

@echo off
FOR /F "tokens=1 delims=," %%G IN (computers.txt) DO (
    @echo %%G
    reg add \\%%G\HKLM\Software\Test /v Vname /d 123 /t REG_SZ /f
)


Solution 2: Use PsExec.exe in a script with a script

Solution 2 - Steps:

  1. Create a list (text file) containing the names of computers (ex. "computers.txt")
  2. Export the registry data from a reference computer (ex. "regdata.reg")
  3. Open CMD and run the following (example code only):

    psexec @computers.txt reg import \\server\share\regdata.reg

Greetings

Friday, December 3, 2010

Book Updates

anab_coverMy next book in the works is tentatively titled "The AutoCAD Network Administrator's Bible, 2011 Edition", and will include detailed discussion regarding planning, design and implementation of AutoCAD 2011 network deployments, licensing and license servers, installation customization, and using Microsoft System Center Configuration Manager® 2007 R2 for software deployments.

This book will also cover some common troubleshooting aspects that arise in network environments and strategies for dealing with them.  The draft is about 80 percent filled out and in review by a close friend.  Once I receive the results of that review I will press onward and will aim to have this available before the coming Christmas holiday.  The price is not yet confirmed, but will be published as soon as I know for sure.

Like the previous book, this book will only be available in Amazon Kindle® Reader format, however you don't need to own a Kindle device in order to purchase or read it.  The free Kindle Reader app is available for a wide variety of devices and platforms.  And one of the best features of Kindle e-books is that Amazon tracks your ownership.  So even if you lose your Kindle device or suffer a hard drive crash, you can still download the book again later without having to buy it again!

The Visual LISP Developer's Bible 2003 Edition is now available in Kindle E-Reader format for $4.99

Books I've Read Recently and Highly Recommend:

You can find all of these at Amazon.com in both physical "real" book form, and Kindle e-book formats.  Enjoy!

REG.exe vs REG.exe

I don't know this never hit me before today, but REG.exe got a shot of steroids after Windows XP.  The changes are awesome and I have become so comfortable with how it behaves on Windows 7 that I forgot that /F wasn't available on XP.  Damn if that isn't a powerful little feature.

WINDOWS XP

C:\>reg query /?
 
Console Registry Tool for Windows - version 3.0
Copyright (C) Microsoft Corp. 1981-2001.  All rights reserved
 
 
REG QUERY KeyName [/v ValueName | /ve] [/s]
 
  KeyName    [\Machine\]FullKey
    Machine - Name of remote machine,  omitting defaults to the current machine Only HKLM and HKU are available on remote machines
    FullKey  - in the form of ROOTKEY\SubKey name ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey  - The full name of a registry key under the selected ROOTKEY
  /v  query for a specific registry key ValueName  - The name, under the selected Key, to query if omitted, all values under the Key are queried
  /ve query for the default value or empty value name <no name>
  /s  queries all subkeys and values
 
Examples:
 
  REG QUERY HKLM\Software\Microsoft\ResKit /v Version
    Displays the value of the registry value Version
 
  REG QUERY HKLM\Software\Microsoft\ResKit\Nt\Setup /s
    Displays all subkeys and values under the registry key Setup
 
 
WINDOWS 7
 
C:\ >reg query /?
 
REG QUERY KeyName [/v [ValueName] | /ve] [/s] [/f Data [/k] [/d] [/c] [/e]] [/t Type] [/z] [/se Separator]
 
  KeyName  [\\Machine\]FullKey
           Machine - Name of remote machine, omitting defaults to the current machine. Only HKLM and HKU are available on remote machines
           FullKey - in the form of ROOTKEY\SubKey name
                ROOTKEY - [ HKLM | HKCU | HKCR | HKU | HKCC ]
                SubKey  - The full name of a registry key under the selected ROOTKEY
 
  /v       Queries for a specific registry key values.  If omitted, all values for the key are queried.
 
           Argument to this switch can be optional only when specified along with /f switch. This specifies to search in value names only.
 
  /ve      Queries for the default value or empty value name (Default).
 
  /s       Queries all subkeys and values recursively (like dir /s).
 
  /se      Specifies the separator (length of 1 character only) in data string for REG_MULTI_SZ. Defaults to "\0" as the separator.
 
  /f       Specifies the data or pattern to search for.  Use double quotes if a string contains spaces. Default is "*".
 
  /k       Specifies to search in key names only.
 
  /d       Specifies the search in data only.
 
  /c       Specifies that the search is case sensitive.  The default search is case insensitive.
 
  /e       Specifies to return only exact matches.  By default all the matches are returned.
 
  /t       Specifies registry value data type.
           Valid types are:   REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ, REG_DWORD, REG_QWORD, REG_BINARY, REG_NONE
           Defaults to all types.
 
  /z       Verbose: Shows the numeric equivalent for the type of the value name.
 
Examples:
 
  REG QUERY HKLM\Software\Microsoft\ResKit /v Version
    Displays the value of the registry value Version
 
  REG QUERY \\ABC\HKLM\Software\Microsoft\ResKit\Nt\Setup /s
    Displays all subkeys and values under the registry key Setup  on remote machine ABC
 
  REG QUERY HKLM\Software\Microsoft\ResKit\Nt\Setup /se #
    Displays all the subkeys and values with "#" as the seperator  for all value names whose type is REG_MULTI_SZ.
 
  REG QUERY HKLM /f SYSTEM /t REG_SZ /c /e
    Displays Key, Value and Data with case sensitive and exact occurrences of "SYSTEM" under HKLM root for the data type REG_SZ
 
  REG QUERY HKCU /f 0F /d /t REG_BINARY
    Displays Key, Value and Data for the occurrences of "0F" in data  under HKCU root for the data type REG_BINARY
 
  REG QUERY HKLM\SOFTWARE /ve
    Displays Value and Data for the empty value (Default)  under HKLM\SOFTWARE