Archive for April, 2009
Conficker Eye Chart to tell if you are infected by the Conficker worm.
Apr 8th
Yes this is another post on the Conficker worm. Just because it’s payload hasn’t been felt it doesn’t mean that the worm isn’t lurking around people’s computers. The Conficker worm disables access to a bunch of sites that would enable you to download security updates or patches. We linked to the Conficker Microsoft patches last week. But if you didn’t grab the updates or at least verify that you have them – this post is for you…
Can you see all six icons below?
If you can see all six icons chances are you are not infected.
But that is still no reason not to run the Conficker scanner on your machine. eEye is providing a free scanner to look for venerable, patched or infected machines. Grab it here:
So are you protected or not? Let’s hear the results in the comments.
HTML Etiquette Standards – Top 6 ways to create self-documenting code
Apr 7th
Good Morning Kiddies!
Good old Commodore64 here back to give you a new lease on your HTML pages and code.
This article is not supposed to guide you on how to make pretty, appealing web pages. However it serves to guide you to create code that will be readable by other developers and understandable enough to facilitate easy modification and tracing of structure.
In particularly long HTML documents, where the page structure is defined by enclosing DIVs or SPANs, it is often hard to trace the structure of the page using the code alone. Knowing where to nest a new element or removing an extraneous one could prove difficult. It is for this reason some rules of etiquette need to be set forth.
Tabbing – Tabbing is the most elemental way of keeping code readable and offers a simple way to outline the page’s structure. Using this method, the initial container, usually “MainContainer” or “MainContent” would start at the origin, or far most left on the page. Each subsequent, nested container would be tabbed at least 3 spaces in to clearly show containment within the div that is closer to the left origin of the page. No more than 4 spaces should be used for tabbing, as it will eventually use up all the horizontal real estate on the page and force the reader to have to scroll left and right. In some editors this can also lead to illogical line breaks caused by the relative width of the reader’s screen.
Naming – Proper and consistent naming can make each element in your page collectively serve as a roadmap to the structure of the page as well as describing the individual element’s function in it’s context. HTML elements offer 2 ways of naming that can be consistently and unobtrusively used to specify it’s properties as an element, relative to the page. These 2 properties are compatible with all DOMs as well as CSS. These are : ID and Class. Used together, these 2 props can give the reader a good idea of the general function of the element. For example:
content
When naming elements try to use a mixed-case naming syntax to facilitate easier skimming. For example frmLogin or txtPassword are descriptive enough. All properties should be named to be descriptive of its place in the structure of the page as well as its functionality.
Limiting Line Length
Often when programmers edit code, they have to deal with certain lines of code (usually important ones) that run way off to the right of the screen, prompting the reader to need to scroll left and right. Reading, understanding and editing this type of code requires more cognitive effort since the beginning and end of the line are not both simultaneously visible. When lines run too long, break them up manually. This provides 2 benefits:
- Limiting line length so that the reader can cognitively understand the whole line of code, making any task much easier.
- Taking control of the line breaks in the code ensures that many “word-wrap” enabled code editors don’t take control themselves. When programmatic line breaks are done, they are often not too logical as to where they actually break the line. Limiting line length manually prevents code editors from wrapping lines at places that are neither cognitive nor logical.
Standardized Character Case
The human brain has a natural method of filtering text when skimming. Using a standard method of capitalizing certain parts of names, a programmer can take advantage of this universal cognitive ability by using a consistent form of naming conventions for names, ids, and other variables. One popular form of standardized casing is Hungarian Notation. Introduced by a Microsoft Chief Architect in the early 1980′s, this form of standardized code guidelines has long since been an internal Microsoft convention and has been used outside of the M$ realm as well.
For example sUserId and gsUserName can easily infer the difference between a string and a global string variable. In HTML this can look like frmAddress which is easily distinguishable as a form which collects a user’s address.
Standardizing your casing can also be very helpful when using CSS or XML. These are case sensitive coding standards that simply do not see an object if it is cased differently.
Commenting Judiciously
Most of the time, code editors are faced with code that doesn’t have enough comments to really guide anyone through the code structure. However, perhaps just as cumbersome; code that has too many comments can be close to impossible to read. This only attests to the fact that too many comments, and too few comments are not conducive to easy editing and debugging. The logical conclusion is that comments need to infer facts about the code structure that aren’t apparent. Any person that knows HTML will know what a table looks like. But in the case of many nested tables it would be helpful to see
<!- -Begin Main Structure Table – -> whereas <!- -Begin Table – -> is pretty much useless.
Use well formed HTML
- Closing Tags – All tags should have a corresponding closing tag. In the case of empty elements, the backslash / acts as an inline closing tag. In non-empty elements, a corresponding closing tag should be used such as </table>. HTML can be very forgiving, but this can cause issues with css structures as the css portion of the compiler is already incorrectly reading the structure of your HTML. Therefore, the CSS will inevitably fail as more styles are stacked onto a page which is, quite possibly, incorrectly rendered
- Properly Nesting Elements – These, too can cause improper rendering by the CSS compiler and cause unexpected results, espesically when making full use of the cascading nature of CSS.
Properly Quoted Attribute Values – All attribute values should be quoted, even numeric ones. This practice can aid in making the HTML easier to read as well as preventing problems with the Javascript compiler.
That’s all kiddies! Hope this helps you make some sense out of some of the new code you might be faced with writing. In conjunction, all these techniques will make your life easier and make your pages compile better.
Happy marker-upping!
Commodore64 (The one you used to play Bruce Lee on) ,8,1
Can I migrate printers from one machine to another easily?
Apr 7th
I had the pleasure of attempting to migrate a print server this weekend. I mean I had to figure out a quick and efficient way to install the 70 some odd printers on a new server. I was not going to be doing this manually that was for shit sure! I had some junior admins standing by -

I quickly found out that Microsoft provide a tool to back up and restore your printers. Score!
It said it will back up all your printers, settings, and drivers into a .cab archive, and then it allows you to restore the cab file on a different machine.
This small app grabbed ALL my printers including the local ones, copied all their drivers and crap to a single cab file. I was able to run the PrintMig on the new server and import the printers.
In 15 minutes or so all my printers were installed and working properly except one USB guy that needed to have its port switched. All in all it went very well. And I discovered another thing while testing:
So you can copy printers from one machine to another, create cab files for different off domain laptop configurations. Or this is great if you don’t do the Active Directory thing and want to semi-automate printer installation.
The latest version of Printmig is 3.1 and is available for downaload here.

more details available from:
http://www.microsoft.com/printserver
A special thanks goes out to the internet on this one. Thanks for always being there for me man!
Windows Quick Tip: Set up keyboard shortcuts for your most used icons.
Apr 5th
It’s very annoying and counter productive for your hands to leave the keyboard as you use your mouse to click, click, clickity click click away at something.
Join the ranks of power users to add keyboard shortcuts for every computer task you do. Yup Any Task!
Are you feeling that productivity boost?
Conficker has not struck yet. Are you protected?
Apr 3rd
I wrote about the Conficker worm that is wiggling around the interwebs on April 1st. Either it was an unsuccessful deployment of the worm or it is waiting. Maybe Conficker is out partying.
![]()
Have you updated your machine so that you are protected? Check out this Microsoft Security Bulletin here.
Scroll down and you will see links for each operating system and service pack revision. Simply click on the hyperlink for your OS and download the <1mb patch. This will plug up the hole that Conficker is going to try and use.
These are the links for the update:
- Microsoft Windows 2000 Service Pack 4
- Windows XP Service Pack 2
- Windows XP Service Pack 3
- Windows XP Professional x64 Edition
- Windows XP Professional x64 Edition Service Pack 2
- Windows Server 2003 Service Pack 1
- Windows Server 2003 Service Pack 2
- Windows Server 2003 x64 Edition
- Windows Server 2003 x64 Edition Service Pack 2
- Windows Server 2003 with SP1 for Itanium-based Systems
- Windows Server 2003 with SP2 for Itanium-based Systems
- Windows Vista and Windows Vista Service Pack 1
- Windows Vista x64 Edition and Windows Vista x64 Edition Service Pack 1
- Windows Server 2008 for 32-bit Systems*
- Windows Server 2008 for x64-based Systems*
- Windows Server 2008 for Itanium-based Systems
So do yourself and everyone else on your network a favor and get your machines updated! If you are not using WSUS for your network you might want to re-think that! We did a WSUS article a while back and you can find it here.
Slipstreaming A Service Pack
Apr 3rd
Have you ever needed a specific version of an OS for an install?
You need a Windows 2003 Server Service Pack 2 CD and you only have SP1?
Have you ever wanted to upgrade your original Windows XP CD to SP3?
That is where slipstreaming comes into play. Slipstreaming a service pack saves time, disk space and makes future installs easier.
When you slipstream a service pack into an OS the finished install already has the service pack included so you don’t need to install it as a separate step.
All you need to do is install the 87 #%^@* updates and patches Microsoft has released since the service pack. :)

You will need a few things to create a slipstreamed OS disc:
1 – The original bootable OS CD.
2 – The full version of the service pack you want to slipstream. Microsoft refers to this as the “network install” version. It is used by admins to install the service pack on multiple machines. It is much larger than the other SP versions you might come across and cannot be obtained from Windows Update. You can find the network install version of Windows XP SP2 here. Windows 2003 Server SP2 is available here.
3 – A copy of nLite.
4 – Software to burn the slipstreamed ISO image to disc (like Roxio).
I won’t go into all the step-by-step details here because there is already a great set of instructions on the MSFN site.
When you are done, you will have an OS installation disc that functions exactly like your original OS disc, but contains all the updates included in the service pack.
You can also use nLite to add additional patches and updates as well as additional drivers. There is a guide on the nLite site that goes into more detail about how to do this.

Slipstreaming a Windows service pack works the same way for both server and desktop operating systems.
That is, until Vista…
Yes, that is right. Among the many other changes Vista brings, you cannot slipstream SP1 into your original Vista RTM DVD.
Microsoft’s official stance is that you should install Vista, install SP1 either through Windows Update or a network install and then use the WAIK to capture the image that includes SP1. This is presumably going to be the same for Server 2008 since it has the same code base as Vista.
The same group that created the nLite tool has created vLite which will allow for slipstreaming Vista SP1, but it is still in beta and has some caveats. There are some other tools out there to create Vista SP1 slipstream discs, but my guess (and this is purely my opinion) is that Microsoft will not support any installation that is created this way. If you run into problems with a slipstreamed Vista install, I expect they will say reinstall from RTM media, apply the SP from Windows Update and if you’re still having the problem then we’ll talk.




