Windows Tech Support

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

Wednesday, 17 October 2012

When is "Better" Really "Better"?

Posted on 16:52 by Unknown
Years ago, like, way back in 2003, there was a thing that large software vendors used to do called an "open Beta" program.  This was when the vendor would invite large numbers of current and potential customers to kick the tires on forthcoming new products, or new versions of existing products.  Phew! That was a long-winded sentence, wasn't it?

Nearly every vendor, small to large, supported this approach to vetting their ideas for marketability.  Some still exist.  Some are long gone.  Microsoft.  IBM.  Novell (who?).  Allaire, later eaten by Macromedia, later to be gobbled up by Adobe.  Autodesk. Sun Microsystems (now Oracle).  Even WinZip had a "beta program" you could sign up for.  The process was simple: You enrolled, downloaded the binaries, installed them and agreed to submit bug reports and feature requests.  In the end, when the program concluded, you (most-often) received a complimentary license for the final product result.  Many participants earned licenses for Windows, Office, AutoCAD, WinZip, ColdFusion, Dreamweaver, and many other products.

The best part of this whole era was the blurred distinction between the textbook definitions of "Alpha" and "Beta" as they pertain to software development.

You see, in the early days, when guys wore white button-down shirts with pocket protectors, and taped up glasses with slicked-over hair (yes, think IBM in the 1970's), the term "Alpha" meant that features were still in a state of flux, while "Beta" meant features were locked-down, but functionality and reliability needed to be tested.  That's a big difference.  Luckily for us (consumers/geeks), most of these vendors had spent so much time on the bong wagon that they forgot about such distinctions.  It was fairly common to engage an engineer in a forum, or by e-mail, even by phone, to brainstorm about a new feature or idea. You could expect frequent build updates to reveal new features and options, even new UI changes, along the way.

Those days are gone.  They have since been replaced with "Community Preview" and "Pre-Release" programs.  These are died-in-the-wool "Beta" programs, where the ear for new ideas is Deaf, and all the vendor wants from you is a thumbs-up.  If you have a thumbs-down, well, you're obviously not in their target demographic.  When you encounter something you don't care for, you find yourself at a loss for avenues to submit your counter-suggestions back to the vendor.  They really don't want to hear about it now.  It's too late in the process.  The bean-counters have put a stake in the ground for target release dates, and communicated it to their "platinum" partners and shareholders.  To make drastic changes at that stage might risk their credibility with people who have NO idea what the "soft" in "software" really means.  But they have the money and that's all that counts.

Take for example this situation:

You release an early "preview" version of the next version of your flagship product to the masses.  The media outlets are given an even earlier "preview" so they can start the hype machine in full motion, thereby drumming up increased desire in the geek minds.  The hype machine vortex is at stage two now.  Stage one is when you start blabbering to the press about new features before letting anyone actually see them.

Within the first week, the Internet is a-buzz with some particular aspect of your new feature-set that users really don't care for.  How bad do they not care for it?  So bad that they start building add-on software to disable or modify that feature.

If that doesn't speak directly into the eyeballs and brains of those driving the machine (in this case: YOU), then you are already losing the battle.

Any half-decent first-year marketing student would say that if your customers are consistently and overwhelmingly changing your product in a very specific and consistent manner, then it's time you modify your product so they don't have to.  It's called "customer satisfaction".

Ok.  I've danced around this as thinly as I can without saying the obvious, so I'm just going to say the obvious:

Windows 8 "metro" tile interface might be nice for a touch-screen medium, but a mouse and keyboard (you know, the kind that almost ALL of Microsoft's customers still use) it sucks.  That's not just my opinion, you can search Google or Bing or whatever you prefer and find plenty of gripes about the new interface on a traditional platform.  And if anyone thinks the new UI is enough force du jour to entice even half of their install base to dump their desktops and buy Surface products to replace them, well, you need to put down the Kool Aid.  But Microsoft says the new UI is "better".  "Better" by who's rationale?  Theirs?  Obviously it's not the rationale of the thousands, maybe millions of users that have installed add-ons like ClassicShell or Start8, which suppress the tile interface and "restore" a Windows 7 style Start Menu.

I guess we're supposed to stop deciding for ourselves and accept what we're told?  My ancestors would roll over in their graves at the thought of that.

(image copyright: Lifehacker.com)
Don't get me wrong, there's a lot to like about Windows 8.  But just like Microsoft did with Windows 7, they missed the marketing train.  Microsoft seems to insist on aiming their hype cannon at the general consumer, when their bread-and-butter base is really in enterprise environments and large organizations.  Enterprises are more interested in things like automation, manageability, customization, configuration management, update management, security, reliability... and things that boil down to LOWER COST and INCREASED OUTPUT from their operations.  But they hardly spewed a word about those things when promoting Windows 7, except within small circles (TechNet, MSDN, etc.).

I lost count of IT professionals who struggled to build their own business cases to convince their management to consider upgrading from XP to 7, when Vista left them totally cold.  They shouldn't have had to do their own legwork.  Microsoft should have sold it for them, but their big-dollar bullhorn was blasting out how "cool" it was/is, and the music and games, and trying to be cool and trendy with ads that mimic their contemporaries.  I see the same thing happening with Windows 8, unfortunately.

My prediction is that an "option" will emerge to switch between them, at least on traditional platforms (desktops and laptops).  Time will tell if Tiles are better than Start Menus and Desktops.
Read More
Posted in business, marketing, predictions, software development, windows8 | No comments

Sunday, 14 October 2012

Config Manager Queries: CPU Types

Posted on 19:54 by Unknown
I probably should revive my old ScriptZilla blog for stuff like this, but the heck with it.  I'm just posting all this here from now on.  After all: It is the brain-skattering blogness that I'm kicking around, if that even makes any sense.

This is a simple SQL query to fetch all the unique CPU manufacturers and names within your inventoried ball of confusion...

SELECT DISTINCT Manufacturer, Name, COUNT(Name) AS QTY
FROM dbo.v_LU_CPU
GROUP BY Manufacturer, Name
ORDER BY Manufacturer, Name

Here's an example using VBScript (example is using a DSN-less connection with an explicit SQL user account and password. You can obviously run this under SSPI or "trusted" context, or using a stored DSN)

dsn = "DRIVER=SQL Server;SERVER=DBServer1;database=SMS_ABC;UID=username;PWD=password;"
Set conn = CreateObject("ADODB.Connection")
Set cmd = CreateObject("ADODB.Command")
Set rs = CreateObject("ADODB.Recordset")

conn.Open dsn

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
Do Until rs.EOF
For i = 0 to rs.Fields.Count -1
wscript.Echo rs.Fields(i).Name & vbTab & rs.Fields(i).Value
Next
rs.MoveNext
Loop
Else
wscript.echo "no records found, bummer."
End If

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

I was going to post a PowerShell example, but going from v2 to v3 I'm finding all sorts of confusing recommendations about the "best way" to invoke a simple T-SQL "SELECT" query against a remote SQL Server that my head is already spinning. Even some that just recommend installing custom cmdlet extensions, and whatnot. If anyone wants to point me to a nice, simple, concise, example (i.e. equal or fewer lines of code than the VBScript example above) please post a reply. Gracias!
Read More
Posted in config manager, data mining, databases, reporting, sccm, sql server, system center, t-sql | No comments

Wednesday, 10 October 2012

Blog Changes - Pardon the Frustration

Posted on 18:49 by Unknown
I've found the "dynamic" templates on Blogger to be less than ideal, so I'm trying on different template themes and options to see what works best for various browsers, connection speeds and mobile devices.  Please pardon the interruption and frustration as I figure this out?  Thank you!
Read More
Posted in blogs | No comments

Software Feature Entropy Cycles - Part 2, Example

Posted on 18:12 by Unknown
I figured I might need to provide some concrete elaboration on my previous post about "Software Feature Entropy Cycles", so here goes.

Back in the late 1980's, while working for a "Naval Architecture and Engineering Firm", I began my career as a programmer.  According to my IRS tax return, my job was "Senior Engineer Technician", which was basically a glorified drafter, who also does some calculations.  My real job was writing tons and tons of LISP code for AutoCAD R10 and R11, and eventually R12 and onward, to automate design processes for piping and HVAC systems on U.S. Navy warships.

One of the interesting aspects about the world of CAD is that every niche industry has evolved its own unique "standards" of design and drafting.  From sheet borders, to dimensions and callouts, to tables and lists, to fonts and font sizes, to colors and layers.  You name it, I've seen every bizarre permutation of "standards" you can imagine. Metric vs. Standard. All Modelspace vs. Modelspace/Paperspace vs. all Paperspace.  Microscale and Macroscale.  Orthographic and Isometric and Oblique and Perspective, and whatever.

Some of the "standards" required for U.S. Naval design drawings were "NEVER CROSS CALLOUT LEADERS" and "NEVER CROSS A DIMENSION FEATURE WITH A CALLOUT LEADER".  Of course, in reality that wasn't always possible.  Some drawings contains such complicated spewage of goo (technical term for tons and tons of shit, making the end result difficult to read and make sense of), so breaking those "rules" was not only hard to avoid, it was downright required.

So, myself and another (much better) programmer, named Brad, went to work making some LISP routines to automatically detect when a Leader crossed another Leader or Dimension and automatically broke out a "gap" at the intersection.  Later versions of AutoCAD actually supported "real" LEADER entities, and also added the GROUP entity, so we updated our code to break the leader, remove the arrow head from the label leg, and applied both parts into a single GROUP entity to retain some behavioral integrity.  It worked pretty well actually.

Then Autodesk released "Bonus Tools", later renamed as "Express Tools", which included a leader gap feature that worked as well as ours, maybe better.  So we deprecated our code and moved on.  This is a fairly typical iterative process for most developers:  As the base product/technology/platform gains new features which previously required custom extensions, those custom extensions become unnecessary and deprecated.  Remaining feature "gaps" continue to be filled by custom extensions (aka program code), and newly-identified gaps are addressed with new extensions, and the cycle continues.

That's a pretty simple, yet concise example of a Software Feature Entropy Cycle.
Read More
Posted in applications, autocad, autolisp, automation, programming, software development | No comments

Tuesday, 9 October 2012

The New Book is Out!

Posted on 19:38 by Unknown
For whatever reason, I realized just now that I forgot to post on my blog that my new book is out and available on Amazon.  It just skipped my mind with all the other things going on.


The new book is "The AutoCAD Network Administrator's Bible, 2013 Edition".  It's available now for $9.99 (USD) on Amazon Kindle, Kindle Fire and Kindle Reader apps (including the web or "cloud" reader).  If you are an Amazon Prime member, you can lend and borrow this book, like all of my books, saving you a bit of money in the process and sharing it with your friends and colleagues.

So, what's New?

This edition forced me to revisit both sides of AutoCAD network deployments: The building of the deployment image itself, and changes to the distribution processes incurred from new products and new technologies.  Among these:

  • Changes to the AutoCAD 2013 Deployment Tools
  • Microsoft System Center Configuration Manager 2012
  • Microsoft Deployment Toolkit (MDT) 2012 Update 1
  • Active Directory Group Policy Deployments
  • Script Deployments:
    • VBScript
    • PowerShell
    • BAT/CMD
  • Planning and Deploying FlexLM servers
  • Managing FlexLM licenses and options
  • Deploying DWG TrueView 2013
  • Deploying Design Review 2013
  • Troubleshooting Tips
It took me several months to get this one done, but hopefully it was worth it - and I really hope you find it to be helpful and useful as well.  As always, please... PLEASE... post your reviews on Amazon so I, and other readers, can benefit?  Thank you!

Special Thanks:

While I thanked a lot of people within the book, there are some I need to thank again for helping me get it out and available:
  • Johan Arwidmark - for generously taking time to review the book and provide corrections, and very helpful comments!  By the way, if you're one of few geeks who aren't aware of Johan, hit Google or Bing, and learn!  If you have any interest in MDT, ConfigMgr, automating software and operating system deployments, and learning about it in a way that's interesting and entertaining, you can't go wrong here.  If you are going to attend Microsoft TechEd, you don't want to miss one of his sessions either.
  • Rod Trent - for being supportive and helpful whenever I've bugged him for help.  If you're not aware of MyITForum, go check it out - it's a must-have resource for this kind of work. Trust me!
  • Ralph Grabowski - tireless advocate for all-things CAD/CAM and reporting on the state of the industry like nobody else. If you are interested in what's going on in the world of engineering and design automation software technology, check out UpfrontEzine!
  • Everyone who follows my boring blabber on this blog, on Google+, Facebook, Twitter, and LinkedIn.  Seriously: Thank you! I don't know why you do, but I appreciate it.
  • Last but not least: My amazing wife, Kathy, and my four incredible kids: Rachel, Sarah, Gabrielle and Zachary!
  • I'm sure I forgot someone, but don't be upset.
Read More
Posted in active directory, amazon, autocad, book, books, deployment, flexnet, kindle, network administration, software deployment | No comments

Configuration Manager: Database Exploration, Part 2 - Notes

Posted on 18:47 by Unknown
Before I continue on with this is "theme" that I've started, there are some very important issues I need to discuss.  Rather than boring you with a long introduction, I will just dive in and hit each one as I go.  I'll warn you that this is article is taking a sharp turn into a dark tunnel of seriousness.  No joking around here.  Very unlike my usual goofy stuff, but it's important to cover this before I continue on.

SMS Provider vs. SQL Server

From a "purely technical" aspect, you can interact with, and manage, a Configuration Manager site data store through the SMS Provider interface, or through SQL Server (ADO or ADO.NET, etc.), however, you absolutely NEED to be careful to avoid some easy mistakes.  This is all within the context of building custom applications which interface with your Configuration Manager infrastructure.  This is also regardless of whether you are working with Configuration Manager 2007 or 2012.
  • While you can query (retrieve) information from either interface, the SQL interface is usually much faster to execute. I'm obviously talking about using the ADO or ADO.NET pipeline.  However...
  • NEVER attempt to update anything directly through the SQL Server interface! All operations that involve modifying site resources, collections, or settings (and so on), should be performed through the SMS Provider only.  Some examples include adding a Package to a Distribution Point, or adding a Resource to a direct-membership Collection.  Going around the SMS Provider can cause serious problems for your Configuration Manager site.  I'll spare you the lengthy explanation of how the inboxes and outboxes are spooled and de-spooled in the background, and how it all weaves in and out of the database 
  • Executing intensive queries (or updates, for that matter) against the SMS Provider interface can impact Configuration Manager processing, especially if performed at peak processing times (discovery cycles, software deployments, etc.).  The net result may cause a backlog in data processing and show up in your component status logs as well.  Try to limit such activity to off-peak times or days to avoid impacting Configuration Manager itself.
  • Executing intensive queries directly against the site SQL Server database may also impact performance, and should be carefully monitored by using SQL profiling and performance logs to determine the level and duration of such impact.
  • Use the most efficient tool to handle a specific task:  If you are post-processing query results and spending a lot of code cycles calculating date differences, cost values, or mapping integers to string values - do that instead within the query!!!  SQL is so much faster and more efficient at many common data manipulation tasks than standard 3GL, 4GL programming languages or scripts.
  • Minimize Connections!  If you have code firing off multiple queries, be sure to pay close attention to how you open and close your data connections.  If you can use one connection for all of your queries, do it.  It will save time and reduce the overhead impact on the data store host itself. This is true for using SQL Server or the SMS Provider.

Database Separation and Isolation

Most any DBA with a fair amount of experience will advise you to avoid direct interaction with "mission critical" data stores if you can instead use a replica.  It really boils down to how time-sensitive the information is that you rely upon to accomplish the required task.  If you need to generate inventory reports, and your inventory is only updated every day or week, you probably could do just fine by pointing your queries at a replica database and avoid adding more overhead on your production database.  It's just one more thing to consider if you are worried about performance impact.

The Right Tools

If you haven't used SQL Server Management Studio, or haven't used it much, give it a try.  In fact, if you're testing your queries through your code debugger, STOP.  That's a bad habit and can yield some very skewed results.  As the old saying goes: "Just because you CAN, doesn't mean you SHOULD".  I can't count the number of times I've asked a programmer to minimize their code debugger and run the same queries in the SSMS console, and seen their reaction to how different the performance can be.  It can really highlight where program code is slowing down a conversion or calculation step that could be more efficiently executed within the SQL statement.  

It's not really about SSMS.  Any tool that lets you model and execute T-SQL statements directly against the data store will work fine.  It's when you run the SQL expressions from within the program code that things can get twisted.  Eliminating secondary and tertiary processing layers ensures you get an accurate, honest and clear picture of what's going on.

Safety

Living on the edge is cool, if you get paid to do commercials for Red Bull.  For the rest of us, it helps if we take certain precautions to avoid letting simple mistakes explode into disastrous calamities.  If you have the option of a test environment, use it.  If not, employ test-environment methods to mitigate unintentional impact on production systems.  It's really that simple.
Read More
Posted in config manager, databases, hyper-v, process automation, programming, sccm, software development, sql server, system center, systems architecture | No comments

Configuration Manager: Exploring the Database Goodies, Part 1

Posted on 17:02 by Unknown
I spend a lot of time crawling around in the tables and views of Configuration Manager site databases.  There are enough tables and views to spend a lifetime analyzing and discussing them.  There are quite a few that are very useful for custom reports, extensible applications development and good ole fashioned data mining.  Some of these are:
  • v_R_SYSTEM
  • v_GS_COMPUTER_SYSTEM
  • v_GS_SYSTEM_ENCLOSURE
  • v_GS_INSTALLED_SOFTWARE_CATEGORIZED (phew!  Long name!)
  • v_GS_OPERATING_SYSTEM
  • v_GS_X86_PC_MEMORY
...and dozens more.  The real power in these comes from judicious use of SQL "JOIN" operations, whereby you merge pertinent and relevant data from two or more tables or views (or tables and views) to get an aggregate result.


For example, the following query pulls all Laptop systems that have less than 2,048 MB of memory (2 GB's), but it does a little more.  You may notice another database schema being referenced (ABC_SCCM).  This is a separate database I created on the same SQL Server instance, where I have created a TABLE named ADUsers.  This is where a daily process queries the Active Directory environment, truncates and re-populates the table to keep it up to date with user accounts in the organization.  (Note, there are other ways to accomplish this, but this is just one way)...

SELECT dbo.v_GS_COMPUTER_SYSTEM.Name0 AS ComputerName, 
dbo.v_GS_COMPUTER_SYSTEM.Model0 AS Model,
dbo.v_R_System.User_Name0 AS UserID,
ABC_SCCM.dbo.ADUsers.Fname+' '+ABC_SCCM.dbo.ADUsers.Lname AS FullName,
ABC_SCCM.dbo.ADUsers.Dept AS Department,
dbo.v_R_System.AD_Site_Name0 AS SiteName,
dbo.v_GS_X86_PC_MEMORY.TotalPhysicalMemory0 AS Memory
FROM dbo.v_GS_COMPUTER_SYSTEM INNER JOIN
dbo.v_R_System ON dbo.v_GS_COMPUTER_SYSTEM.ResourceID =
dbo.v_R_System.ResourceID
INNER JOIN
dbo.v_GS_SYSTEM_ENCLOSURE ON dbo.v_R_System.ResourceID =
dbo.v_GS_SYSTEM_ENCLOSURE.ResourceID 
LEFT OUTER JOIN
dbo.v_GS_X86_PC_MEMORY ON dbo.v_R_System.ResourceID =
dbo.v_GS_X86_PC_MEMORY.ResourceID 
LEFT OUTER JOIN
ABC_SCCM.dbo.ADUsers ON dbo.v_R_System.User_Name0 =
ABC_SCCM.dbo.ADUsers.Userid 
WHERE (dbo.v_GS_SYSTEM_ENCLOSURE.ChassisTypes0 IN
(8, 9, 10, 11, 12, 14, 18, 21)) 
AND (dbo.v_GS_X86_PC_MEMORY.TotalPhysicalMemory0 < 2097152)
ORDER BY dbo.v_GS_COMPUTER_SYSTEM.Name0

Now I can view the following attributes for each row in the results:


  • ComputerName (NetBIOS name)
  • Model Name
  • UserID (sAMAccountName from AD account)
  • User Full Name (concatenated from First and Last Name values)
  • User Department
  • AD Site Name
  • Computer Memory (in Kilobytes)


I've been asked quite a few times what the difference between two of these nested VIEW objects: v_GS_COMPUTER_SYSTEM, and v_R_SYSTEM (or v_R_SYSTEM_VALID).

Basically, v_R_SYSTEM is populated by site discovery data, and v_GS_COMPUTER_SYSTEM is populated by client hardware inventory data.  So, from a sequential  or chronological aspect, v_R_SYSTEM is normally populated first, because client systems are typically discovered before they are installed and inventoried.  The net result is that during that gap in events, the resource (computer object within Configuration Manager) is available for management from a Collection perspective.  In other words, you can add the resource to a Collection before it's been inventoried, even before it's had a ConfigMgr client installed.

You obviously don't need to join VIEWs or TABLEs to get useful results. For example, you can find out the counts of computers by each manufacturer in your environment...

SELECT DISTINCT Manufacturer0 AS Manufacturer, 
COUNT(*) AS QTY
FROM dbo.v_GS_COMPUTER_SYSTEM
GROUP BY Manufacturer0
ORDER BY Manufacturer0

This report only uses v_GS_COMPUTER_SYSTEM, but the limitation is that it can only report from computers which have submitted hardware inventory data. That's always a bad thing, nor is it always a real limitation. It depends on what your needs are, and what your environment is like.

But when you need to pull more information, it often falls in separate VIEWs or TABLEs, such as finding all of the computers for a given user account.  In other words, find all the computers where a specific user account is shown as the "Primary User".  You can get that from one VIEW (v_R_SYSTEM) but if you also want to see the Model of those computers, you will need to get that from another VIEW (v_GS_COMPUTER_SYSTEM), for example...

SELECT DISTINCT dbo.v_R_System_Valid.ResourceID, 
dbo.v_R_System_Valid.Netbios_Name0 AS ComputerName,
dbo.v_R_System_Valid.User_Name0 AS UserName,
dbo.v_R_System_Valid.User_Domain0 AS Domain,
dbo.v_GS_COMPUTER_SYSTEM.Manufacturer0 AS Manufacturer,
dbo.v_GS_COMPUTER_SYSTEM.Model0 AS Model
FROM dbo.v_R_System_Valid LEFT OUTER JOIN
dbo.v_GS_COMPUTER_SYSTEM ON dbo.v_R_System_Valid.ResourceID =
dbo.v_GS_COMPUTER_SYSTEM.ResourceID
WHERE (dbo.v_R_System_Valid.User_Name0 LIKE '%johndoe%')
ORDER BY ComputerName

You may be wondering what the difference is between v_R_SYSTEM and v_R_SYSTEM_VALID. Ok, besides the "VALID" part, the difference is really based on the IsObsolete and IsDecommissioned fields. If these two fields are not "True", then the resource is included in v_R_SYSTEM_VALID, making it a logical subset of what v_R_SYSTEM contains. For more information, check out this TechNet article.  This may seem trivial, but the more you work with these views, and the more you rely upon them, the more this small distinction will matter.

Conclusion

I will hopefully be posting more on this subject.  I have been so busy with my head shoved up the SQL ass of Configuration Manager for so long that I really just didn't think about sharing my experiences with it all until now.  I will try to balance the posts between "raw" T-SQL and query aspects, as well as the more discreet implications of using it within scripts and web applications.  In the meantime, post a reply/comment if you have any questions or suggestions for future posts?  Thank you!
Read More
Posted in config manager, data mining, databases, reporting, sccm, software development, sql server, system center | No comments
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

Popular Posts

  • Voting Time: Help Me Out?
    I need to get a better view of how I should manage this blog if I'm going to keep at it. I'd like to know how you typically discover...
  • A World Without Competition
    Try to imagine what things would be like today had there not been fierce competition in certain key parts of our world.  I’ll give you some ...
  • Book Update
    I posted some gibberish a few weeks ago about another book project.  Well, I'm getting close to wrapping it up, so I thought I'd go ...
  • Cost
    Software technology, like any technology, provides a means to solving problems.  Some big. Some small.  Some that help.  Some that hurt.  An...
  • Windows 7: Default User vs All Users
    A lot of confusion seems to occur with understanding the difference between the "Default User" profile, and the "All Users...
  • Time to Give Props
    With the ever-expanding volume and breadth of information on the Internet today, it's easy to focus on my own thoughts, experiences, ide...
  • Table of Contents (Preliminary)
    Here's the preliminary Table of Contents for my new book "The AutoCAD Network Administrator's Bible - 2013 Edition".  I...
  • The Nicest IT and IT Vendor Folks I Know
    I've ranted many times before how it's unfair to "hate" an entire company, without providing a rationale for it based on s...
  • Windows 8
    Two small, yet irritating things, that I hope Windows 8 addresses with respect to Windows 7: Being able to put the Recycle Bin in the S...
  • Stupid Assumptions
    After years of watching sci-fi TV shows, movies, etc. it's finally come to a point where even the so-called brightest of our authors and...

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)
      • 10 Questions: With Ralph Grabowski
    • ►  September (5)
    • ►  August (8)
    • ►  July (2)
    • ►  June (4)
    • ►  May (4)
    • ►  April (2)
    • ►  March (2)
    • ►  February (8)
    • ►  January (1)
  • ►  2012 (120)
    • ►  December (14)
    • ►  November (12)
    • ►  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