Quote: Close Your Eyes
“You can close your eyes to the things you do not want to see,
but you cannot close your heart to the things you do not want to feel.”
-Unknown Author
Coding Tips from Writing Code that isn’t Needed YouTube Video
The above video,Three Flaws in Software Design – Part 1: Writing Code that isn’t Needed, was a bit long considering the content presented but there were two ideas worth sharing:
- Let the version control system worry about tracking dead code. I’ve worked in plenty of programs with code that I’ve been tempted to bypass because it was suspected dead code. Removing the suspected dead code might not cause the customers testing to fail but customers don’t always test their own requirements properly. Without the old code it becomes difficult to track how the program once functions unless you use a version control system. Whats worse than trying to avoid making dead code? Working around mysterious code from a long departed coder, unsure if it’s still relevant, while trying to make my own logic clear among rotting bits.
- Establish when functions can assume variables are well formatted and note them in the function documentation. It’s so easy to start coding away, checking for possible conditions that might have been checked closer to the user input. It’s painfully agonizing trying to return a high level validation failure from a very low level function.
If the addition videos in the series contain any pearls of wisdom they’ll get posted here.
Dell R610 Memory Configuration Documentation
A situation came up at a client site where a Dell PowerEdge R610 / R710 server was being upgraded to a non-optimal memory configuration. The document Installing and upgrading DDR3 Memory was a short and concise reference for supported configurations.
The following two documents are Dell PowerEdge Technical Guides that also came in handy to when trying to decipher the supported memory configurations.
http://www.dell.com/downloads/global/products/pedge/en/server-poweredge-r610-tech-guidebook.pdf
VirtualBox Error VT-x is not available VERR_VMX_NO_VMX
While setting up a new SuperMicro SuperServer 5018A-FTN4 with an Intel C2758 CPU for a small lab environment an an issue appeared with VirtualBox. It was reporting that the VT-x processor extension wasn’t available when running on Windows Server 2012 R2.
At the time of writing this Google didn’t have any relevant search results for my configuration but I did find an article that suggested disabling the HardwareVirtEx directive in the virtual machines VirtualBox configuration file. This partially worked but was incredibly slow and the VM guest eventually crashed.
According VirtualBox Support Ticket #10694 other programs can also prevent VirtualBox from accessing the VT-x extensions which cause it to report them as not installed.
The solution was to remove the Hyper-V role because it prevented VirtualBox from utilizing the processor’s VT-x extensions even though I didn’t have any active Hyper-V guests running.
Removing an Existing Code Signing Certificate from a EXE
While trying to sign an EXE file with my code signing certificate SignTool kept failing with this error:
SignTool Error: SignedCode::Sign returned error: 0x800700C1
Either the file being signed or one of the DLL specified by /j switch is not a valid Win32 application.
The error was a result of the EXE being already signed.
Someone wrote a tool called delcert.exe which can easily remove existing code signatures. The tool is available for download from the XDA Developers Forum