Showing posts with label Windows. Show all posts
Showing posts with label Windows. Show all posts

Friday, April 18, 2014

Cool Blast from The Past Page of the Day: Revisit the Restarts of the past, experience Windows, Mac, Amiga and more "restarts" live in your browser

404 Tech Support - The Restart Page lets you experience reboots in your browser

The Restart Page allows you to interact with shutdown prompts from different operating systems. You can click on the buttons and watch the page turn off or restart with an accurate depiction. There are different versions of Microsoft Windows, Apple Mac OS, and others with sounds, icons, and progress bars.



Awesome... Relive reboots without rebooting.


Wednesday, April 16, 2014

MonoGame gets its Samples Game On (One sample, nine platforms)

Dark Genesis - A new breed of samples for MonoGame

MonoGame has always been the quality of the samples currently maintained in the various branches of the project.

Being an opensource project this has always been a challenge to manage and maintain, sure there are a lot of samples provided by many hard working developers but they were very sporadic and not always kept up to date (some it was noted, don’t even run any more)

Seeing this, the core MonoGame team set out with a purpose to being a new samples repository for the project. Its goals were simple:

  • The samples had to be of high quality
  • They had to work on ALL platforms not just one
  • Best practice had to be used where possible
  • They had to be testable and re-usable to test the latest builds (builds may not pass if samples tests failed)

It has been an ambitious journey, with a lot of in depth discussions and debates, but now the first of the samples has just been accepted in to the new Samples Repo.


The first sample is just a taste of what is to come and is born of the already tried and tested Platformer 2D sample from the age old XNA library.

The sample itself isn’t too much to should about as it only implements basic rendering, input and audio capabilities. However it is laid out in such a format and is working on ALL supported platforms, including:

  • Android
  • Linux
  • MacOS
  • Ouya
  • PSM
  • Windows Phone
  • Windows 8
  • WindowsGL

The sample serves as a guide for how to build and manage your game project in a fully multi-platform way with all the code in one place and shared across all projects




Now that's cross-platform!

Monday, March 24, 2014

Image Resizer for Windows Explorer (Right-Click... Resize Picture...)

Windows Enterprise Desktop - Image Resizer: Free, Handy Windows Explorer Shell Extension

For those not already familiar with the terminology, the software tool “Image Resizer for Windows” is what’s called an Explorer Shell Extension (aka ShellEx). When you install it on a Windows PC, it adds to Explorer’s capabilities. Thus, if you can puzzle your way into the screen capture to the left (which I resized using the very tool I’m writing about at the moment), you’ll see that an entry in the right-click Explorer menu called “Resize pictures” has been added to call put this utility to work. Selecting that menu entry produces the Image Resizer window that appears beneath the menu snippet, and shows that you can pick any of a number of default resizings (small, medium, large, or mobile). You can also create you own custom resizings as well (as I typically do for my blog posts, which are limited to 500 pixels in width, maximum).

For anybody who must work with images or screen captures on a regular basis, Image Resizer for Windows is a great add-in for their software toolbox. It’s a CodePlex project so it’s Open Source, free, and safe for general and widespread use. There’s even a server version that’s based on ASP.NET available through And for those whose memories go back far enough, yes indeed, this is a faithful replacement for the old Windows XP PowerToy also named Image Resizer. It’s pretty popular, too: according to the CodePlex home page for the tool, it’s been downloaded over 1.4 million times.


Image Resizer for Windows

Image Resizer for Windows is a utility that lets you resize one or more selected image files directly from Windows Explorer by right-clicking. I created it so that modern Windows users could regain the joy they left behind with Microsoft's Image Resizer Powertoy for Windows XP.
Feedback & Support
If you need help installing or using the tool, use the Discussions tab to ask your question.
If you find a bug or think of a feature, use the Issue Tracker tab to submit your request.


While it's been a couple years since this was updated/released, it's still a great tool for anyone doing "stuff" with images/pictures. Best part is the source is available... :)


Related Past Post XRef:
Easy image resizing for the digital camera happy - Image Resizer Powertoy clone for Vista & Windows 7 (32 & 64 bit)
Image Resizer PowerToy for XP and Vista - Easy Resizing of Images, Pictures, Digital Photos, etc via Windows Explorer

Wednesday, March 19, 2014

[Time Sensitive] Automagically locking your PC is just a key fob away with GateKeeper (GK-Chain). Only a few hours left!

KickStarter - GateKeeper

Multipurpose Bluetooth Smart proximity tag - never leave your phone/keys behind, keep track of valuables, or auto lock computer.

Many features, 1 device, and useful to everyone. A versatile Bluetooth 4.0 proximity tracker that performs item loss prevention, item locating, auto locks and unlocks your Mac or PC. Syncs with our Android app for even more functionality (and iOS iPhone if we reach our stretch goal). The GateKeeper (GK-Chain) is just the start of an amazing proximity technology product.



What's the problem?

- "$30 billion worth of phones lost in the U.S. every year"

- "Coffee shops, offices, bars and restaurants top the list as the most common venues to lose your phone in the U.S."

- "...people typically lose up to 9 items per day, which calculates to 198,743 in a lifetime!"

- "...according to Boston Marketing firm, the average American burns 55 minutes a day looking for things they know they own but cannot find. That adds up to a total of almost 14 days a year people spend just trying to find lost things."

Our reply:

  • Never lose or leave your phone, keys, or valuables behind EVER again
  • Save time by automatically locking and/or unlocking your computer
  • Increase security with 2-factor authentication


Application Scenarios:

Track Your Valuables: Purses, pets, luggage, phone - you'll be alerted when you move too far from your GK-Chain.

Parents: Can warn you if your children go out of range.

Teachers: Consistently lock your PC to prevent students from accessing it.

Health Professionals: Unlock computers automatically so that you can attend to patients.

Office: Keep co-workers or visitors from accessing your computer when you're gone.

Dorms: Don't let your friends change your Facebook status again. Ever.

Home: Protect your PC from siblings or children downloading unwanted programs.

Coffee Shop: Outside with your laptop? Ensure your privacy.


Instead of typing in your password every time, the GK-Chain unlocks your computer when you approach, and locks when you leave. Or, if you want additional security, you can set the GK-Chain to actually require the key and the password.

The GK-Chains also serve as Bluetooth 4.0 trackers. Using our free companion app, you can find your GK-Chain with a Bluetooth 4.0 enabled smartphone. This way, you'll have a little more help finding your lost keys, wallet, bag, even your luggage at the airport. The GK-Chain app will alert you when your bag is at hand.


This is something I've wanted for forever. I hate uber tight timeframes to auto lock my PC and I hate it when I forget to lock my PC when I walk away from it (which only happens once a month [my forgetting to lock it ;] I've wanted to use my camera or phone, badge or something to automagically lock and unlock my PC...

So backing this was a no brainer... :)

I hope they make the 40K goal so the WinPhone support achievement is unlocked. lol

(via technabob - GateKeeper Locks Your PC Automatically, Perfect for the Lazy and Security Conscious)

Friday, February 21, 2014

Windows File System and Whitespace characters, do you know the rules?

Support for Whitespace characters in File and Folder names for Windows 8, Windows RT and Windows Server 2012


File and Folder names that begin or end with the ASCII Space (0x20) will be saved without these characters. File and Folder names that end with the ASCII Period (0x2E) character will also be saved without this character. All other trailing or leading whitespace characters are retained.
For example:

  • If a file is saved as ' Foo.txt', where the leading character(s) is an ASCII Space (0x20), it will be saved to the file system as 'Foo.txt'.
  • If a file is saved as 'Foo.txt ', where the trailing character(s) is an ASCII Space (0x20), it will be saved to the file system as 'Foo.txt'.
  • If a file is saved as '.Foo.txt', where the leading character(s) is an ASCII Period (0x2E), it will be saved to the file system as '.Foo.txt'.
  • If a file is saved as 'Foo.txt.', where the trailing character(s) is an ASCII Period (0x2E), it will be saved to the file system as 'Foo.txt'.
  • If a file is saved as ' Foo.txt', where the leading character(s) is an alternate whitespace character, such as the Ideographic Space (0x3000), it will be saved to the file system as ' Foo.txt '. The leading whitespace characters are not removed.
  • If a file is saved as 'Foo.txt ', where the trailing character(s) is an alternate whitespace character, such as the Ideographic Space (0x3000), it will be saved to the file system as 'Foo.txt '. The trailing whitespace characters are not removed.

File and Folder names that begin or end with a whitespace character are enumerated differently by the Win32 and WinRT APIs due to ecosystem requirements.

Whitespace Characters
There are various whitespace characters representing various 'space' widths (glyphs). Only the ASCII Space (0x20) and ASCII Period (0x24) characters are handled specially by the Object Manager. Although the Ideographic Space character (0x3000) is also generated by using the Spacebar (when IME is enabled), it is not handled specially.
  • 0x0020 SPACE
  • 0x2000 EN QUAD
  • 0x2001 EM QUAD
  • 0x2002 EN SPACE
  • 0x2003 EM SPACE
  • 0x2005 FOUR-PER-EM SPACE
  • 0x2006 SIX-PER-EM SPACE
  • 0x2007 FIGURE SPACE
  • 0x2009 THIN SPACE
  • 0x200A HAIR SPACE
Object Manager
ASCII Space (0x20) characters at the beginning or end of a file or folder name are removed by the Object Manager upon creation.
ASCII Period (0x2E) characters at the end of a file or folder name are removed by the Object Manager upon creation.
All other leading or trailing whitespace characters are retained by the Object Manager.
API Enumeration
Win32 API
The Win32 API (CreateFile, FindFirstFil, etc.) uses a direct method to enumerate the files and folders on a local or remote file system. All files and folders are discoverable regardless of the inclusion or location of whitespace characters.
The WinRT API is designed to support multiple data providers (Physical Drives, OneDrive (formerly SkyDrive), Facebook, etc.). To achieve this, WinRT API uses a search engine to enumerate files and folders. Due to the search approach to enumeration, the WinRT API (StorageFile, StorageFolder, etc.) does not handle file and folder names with trailing whitespace characters other than ASCII Space (0x20) and ASCII Period (0x2E) residing on a local or remote file system. It does handle leading non-ASCII whitespace characters.
Observed Behavior
File Explorer and Desktop applications
All files and folders are visible within File Explorer and Desktop applications regardless of inclusion or location of whitespace characters.
Windows Store applications

When using the File Picker, files with a trailing non-ASCII whitespace character do not appear. The contents of sub-folders with a trailing non-ASCII whitespace characters are not displayed in the File Picker. Files or folders containing a leading non-ASCII whitespace character are displayed.


This is something I run into all the time, Windows' automagic handling of beginning/trailing whitespaces, and code that doesn't honor that (cough... like mine sometimes).

What the heck am I talking about?

Imagine you're writing an email export app, and you are using the subject line as the file name, and you're recording that path in a DB somewhere. Sure, you already know to handle special characters, like colons, astricks, etc. But you "know" spaces are okay in a file name, so you don't sweat them. And usually you're right... But you know how many subject lines begin with a space? yeah, enough to screw you up...

If you are taking human created strings and using them as folder or file names, you need to review this KB

Thursday, February 20, 2014

Setting up your Windows VM debugger support, a cheat sheet

Got Kernel? - Cheat Sheet: Break into a Windows machine with a debugger

Short version - there steps:

1.  Enable debugging on the Windows guest machine.

2. Change the VM settings to support debugging via named pipe.

3. Configure your debugger and break in.

Longer Version:


Some nice steps that might not be obvious for those who don't usually setup external debuggers.

Monday, February 17, 2014


The man, the myth, the legend in his own mind... err, I mean... um... time... yeah... Dan Rigby has spun off his daily curated dev news into its own site,

Dan says;

Also, you may have noticed that the Windows App Developer Links posts are not immediately visible. Fear not, for they have finally been given the respect they truly deserve and now have their very own site at!

What this does mean though, is if you are subscribed to my blog feed (and you are subscribed, right?), if you want to continue to receive my (almost) daily Windows App Developer Links, you'll need to subscribe to the new feed.

I also find it kind of funny that his site is running in my neighborhood (so to speak);

This blog (and are now running on a new VPS in Los Angeles. While I love my old host, the performance of running WordPress in a shared hosting environment wasn't great and wasn't getting better over time.

So if you're following him, you'll want to grab the new feed, asap... I'll wait. Done yet? What about now? Oh just go do it...


Wednesday, January 29, 2014

Process Explorer v16.0 is out and now cooking with VirusTotal!

Sysinternals Site Discussion - Updates: Process Explorer v16.0, PsPing v2.01

Process Explorer v16.0: Thanks to collaboration with the team at VirusTotal, this Process Explorer update introduces integration with, an online antivirus analysis service. When enabled, Process Explorer sends the hashes of images and files shown in the process and DLL views to VirusTotal and if they have been previously scanned, reports how many antivirus engines identified them as possibly malicious. Hyperlinked results take you to report pages and you can even submit files for scanning.


Process Explorer v16.0

Ever wondered which program has a particular file or directory open? Now you can find out. Process Explorer shows you information about which handles and DLLs processes have opened or loaded.

The Process Explorer display consists of two sub-windows. The top window always shows a list of the currently active processes, including the names of their owning accounts, whereas the information displayed in the bottom window depends on the mode that Process Explorer is in: if it is in handle mode you'll see the handles that the process selected in the top window has opened; if Process Explorer is in DLL mode you'll see the DLLs and memory-mapped files that the process has loaded. Process Explorer also has a powerful search capability that will quickly show you which processes have particular handles opened or DLLs loaded.

The unique capabilities of Process Explorer make it useful for tracking down DLL-version problems or handle leaks, and provide insight into the way Windows and applications work.


Nice... Of course a good virus will be cloaked via a rootkit, but still, I think this is pretty neat (especially have just finished Mark's Zero Day novel... ;)


Related Past Post XRef:
Disk2vhd turns 2, v2.0 that is, and a few more Sysinternals utility updates
New Sysinternals utility released today, Disk2vhd v1.0 – Yes ...

Mark TechEd's you... See all four of Mark Russinovich's recent TechEd North America sessions
The “Windows Sysinternals Primer: Process Explorer, Process Monitor, and More” from TechEd 2010 North America

"Utilizing SysInternals Tools for Windows Client" - The Seven Part Series..
A "Windows Sysinternals Administrator's Reference" book by Mark Russinovich? You had me a $30 pre-order special price (and Sysinternals... and Mark Russinovich... and... )
Sysinternals 101 – “Notes from the field,” a quick intro to a few Sysinternals utilities (Process Explorer, TCPView, Process Monitor, VMMap)
Hands On Learning How to Use the Sysinternals Process Monitor Utility

A Sweet Summer Sysinternals Suite Refresh
It's a sweet suite! Windows Sysinternals Suite gets a summer refresh [August 3, 2012]...
Sysinternals Suite 2010 Refreshed - All the latest versions, one 12.4MB zip…
Sysinternals Suite Refreshed – All the latest Sysinternals Utilities, one tiny zip (well 10MB zip…)
Sysinternals Suite (8MB of Complete Sysinternals Goodness)

Mesh'ing, using Vista Scheduling and Robocopy|
A handy PowerShell script to keep your Sysinternals Suite up to date
The latest Sysinternals utilities are just a URL away,

Use the Sysinternals Utilities? The EULA bug dialog you? Then try this…

More desktops for Windows 8 with Sysinternals Desktops v2.0
It's a sunny day when we get a new Sysinternals utility...
It’s a new Sysinternals Tool Day! RAMMap v1.0 released

Tuesday, January 14, 2014

What are Perforator and Visual Profiler? Free, that's what... Welcome to the WPF Performance Suite

Visual Studio Magazine - .Net Tips and Tricks - Free Tool: WPF Performance Suite

I like Windows Presentation Foundation (WPF) very much, especially its implementation of the Model-View-Controller (MVC) design pattern. I've also grown to appreciate XAML as a declarative (if quirky) way of building complex user interfaces that integrate with a testable code file. However, every once in a while, I end up with a WPF Window that takes a long time to render, or renders in a bizarre series of jumps. If that's happened to you, it's worthwhile to download Microsoft's WPF Performance Suite.

The suite includes two tools: Perforator and Visual Profiler. Neither will tell you what to do to fix your problem, but both will help you locate the problem.

Perforator concentrates on the low-level routines that render your XAML. The download page for the package includes some useful information ...

While Perforator looks at how WPF is rendering your XAML, Visual Profiler shows how individual ...

WPF Performance Suite

The Windows SDK includes a suite of performance profiling tools for Windows Presentation Foundation (WPF) applications called the WPF Performance Suite. The WPF Performance Suite enables you to analyze the run-time behavior of your WPF applications and determine performance optimizations that you can apply. The WPF Performance Suite includes performance profiling tools called Perforator and Visual Profiler. This topic describes how to install and use the Perforator and Visual Profiler tools in the WPF Performance Suite.

This topic contains the following sections:




Perforator is a performance profiling tool for analyzing the rendering behavior of your WPF application. The Perforator user interface displays a set of graphs that enable you to analyze very specific rendering behavior in parts of your application, such as the dirty rectangle addition rate and the frame rate. WPF uses a rendering technique called dirty rectangle, which means that only the portions of the screen that have changed are rendered on a new rendering pass. In addition, Perforator has several options that you can use to look for specific rendering problems. Perforator also reports the software rendering targets and a slider to control the duration of the graphs. The following illustration shows the Perforator user interface.

Perforator user interface



Visual Profiler

Visual Profiler is a performance profiling tool of WPF services, such as layout, rendering, and animation, for elements in the visual tree. By analyzing the profiling output of this tool, you can determine which visual elements in your application may be causing performance bottlenecks.

Visual Profiler presents performance issues in the context of the basic building blocks that are used to construct visual scenes in your application. These building blocks include high-level objects, such as Button and TextBlock controls, as well as low-level objects, such as Line and Ellipse elements. Instead of describing performance issues in terms of call graphs of functions names, Visual Profiler describes these issues by using the representation of visual objects. This is similar to the way the Windows SDK tool, UI Spy, represents information. For more information, see UISpy.exe (UI Spy).


Some pretty cool utilities that I don't remember seeing before... I'm almost afraid (heck, no almost about it)  to run them on my WPF LOB app's... :/

Run don't walk to this tip on how to add an Install as Admin for MSI's

How-to Geek - How to Force an MSI Package to Install Using Administrator Mode


When you need to install a program as an administrator, you can right-click on the .exe file and select Run as administrator. However, that option isn’t available for MSI packages. We will show you how to add an Install as administrator option for MSI packages.


No need to remember the misexec steps once you apply this reg hack...

Thursday, December 19, 2013

Disk2vhd turns 2, v2.0 that is, and a few more Sysinternals utility updates

Sysinternals Site Discussion - Updates: Coreinfo v3.21, Disk2vhd v2.0, LiveKd v5.31

Coreinfo v3.21: CoreInfo is a command-line tool for reporting processor topology, NUMA performance, and processor features. The v3.21 release adds microcode reporting.

Disk2vhd v2.0: Disk2vhd, a utility for performing physical-to-virtual conversion of Windows systems, adds support for VHDX-formatted VHDs (thanks to Brendan Gruber for contributions), now supports WinRE volumes, can capture removable media, and includes an option to capture live volumes instead of relying on volume shadow copy (VSS).


LiveKd v5.31: LiveKd is a utility for performing live kernel debugging of native systems and virtual machines from the host ...

V2 for Disk2vhd seems weird doesn't it, given how long that utility has been around. In any case, it's great seeing it get some love. I wonder how it will evolve in the new Azure world? Disk2vhd2Azure would be kind of cool... :)


Related Past Post XRef:
New Sysinternals utility released today, Disk2vhd v1.0 – Yes ...

A Sweet Summer Sysinternals Suite Refresh

Monday, December 09, 2013

What a Date (for when a Windows version is no longer supported...)?

Mike's Window - Some dates for your calendar..


Support for Windows 7 RTM without service packs ended on April 9, 2013. Be sure to install Windows 7 Service Pack 1 today to continue to receive support and updates

Windows lifecycle fact sheet

Last updated: October 2013

In this page

Every Windows product has a lifecycle. The lifecycle begins when a product is released and ends when it's no longer supported or sold. Knowing key dates in this lifecycle helps you make informed decisions about when to upgrade or make other changes to your software. Here are the rights and limits of the Windows lifecycle.

End of support

End of support refers to the date when Microsoft no longer provides automatic fixes, updates, or online technical assistance. This is the time to make sure you have the latest available update or service pack installed. Without Microsoft support, you will no longer receive security updates that can help protect your PC from harmful viruses, spyware, and other malicious software that can steal your personal information. For more information go to Microsoft Support Lifecycle.



End of sales refers to the date when a particular version of Windows is no longer shipped to retailers or Original Equipment Manufacturers (OEMs). Examples of OEMS are Dell and Toshiba—PC manufacturers who often preinstall Windows software. When a version of Windows reaches its end of sales date, it's a good time to think about upgrading.

This table gives end of sales dates for specific Windows operating systems.



Service packs and updates


Some important, to IT and like geeks, dates.

Thursday, December 05, 2013

wxHexEditor, your new large, 16EBs (exabytes) large, file editor?

beta news - Open files of any size with wxHexEditor

The PC world has plenty of hex editors; does it really need another? Our first thought was probably not, but that was before we’d spent a little time with the fast, feature-packed and extremely capable wxHexEditor.

Some hex editors have annoying limits on file sizes, for instance. But not this one. WxHexEditor can handle files up to 2^64 in size, that’s 16 billion gigabytes, which will probably be enough for the foreseeable future.


There are plenty of other interesting options hidden away in the menus. We found tools to compare two files and highlight the differences; calculate a host of checksums (MDx, SHAx, RipeMDx, HAVALx, TIGERx and more) for any given view; back up, restore or erase the contents of any device.





WxHexEditor isn't limited to files. Click Devices > Open Disk Device and you can also open one of your drives and browse through its sectors. (Try running the program as an administrator if a particular drive isn't listed.)

Whatever you've opened, wxHexEditor allows you to view its contents. You can search for text or hex values, manually edit bytes or run search and replace operations (files are by default set to Read-Only, reducing the chance of accidental alterations).

And despite its lowly 0.22 version number, wxHexEditor has even more options hidden away in its menus. You can calculate 25+ checksums for any given file, for instance, or compare two files and highlight any differences.


As a beta it needs to be used carefully, but wxHexEditor is already a very powerful tool, fast and packed with essential features.




  • Version 0.22 Beta Released (09/05/2013)
    • Now, supporting many codepages/encodings, including almost all DOS, ECBDIC, Windows CPs.
    • Also supporting multi character codepages like Shift JIS, UTF8/16/32 and others....
    • Added gksu and gksudo support for easy privilage elevations.
    • Added Russian translation, non-complete. (by Nikolai Novikov)
    • Fixed MacOSX binary issues that appears at old version due wx2.9
    • Many bug fixes also some usage changes.
  • Version 0.21 Beta Released (01/01/2013)
    • Device and Partition Backup/Restore and Erase tools.
    • Customizeable hex panel formatting.
    • Customizeable colours!
    • Linux Process Memory Read/Write access.
    • MultiLocale support with Turkish Language
    • Options Panel
    • Fixed Hex control input


  • It uses 64 bit file descriptors (supports files or devices up to 2^64 bytes , means some exabytes but tested only 1 PetaByte file (yet). ).
  • It does NOT copy whole file to your RAM. That make it FAST and can open files (which sizes are Multi Giga < Tera < Peta < Exabytes)
  • You can work with delete/insert bytes to file, more than once, without creating temp file!.
  • Could open your devices on Linux, Windows or MacOSX.
  • Memory Usage : Currently ~25 MegaBytes while opened multiple > ~8GB files.
  • Could operate with file thru XOR encryption.
  • Has multiple views to show multiple files in same time.
  • Has x86 disassembly support (via integrated udis86 library) to hack things little faster.
  • Has colourfull tags to make reverse engineering easier and more fun.
  • You can copy/edit your Disks, HDD Sectors with it.( Usefull for rescue files/partitions by hand. )
  • Sector Indication on Disk devices, also has Go to Sector dialog...
  • Formated CopyAs! It's easy to copy part of a file in HEX format for C/C++ source, ASM source, also supports HTML,phpBB and Wiki page formats with TAGs!!
  • Supports Hex or Text editor alone operation.Also can disable Offset region.
  • Supports customizeable hex panel formatting and colors.
  • Allows Linux Process Memory Editing operations
  • Comparison of binary files, allows merge of near results.
  • Supports ***many*** encodings including almost all DOS/Windows/MacOS CPs and multi-character sets like UTF8/16/32, Shift JIS, GBK, EUC_KR...
  • Decimal, Hexadecimal, Octal and LBA ("Sector+Offset") addressing modes, (switchable one to another by right click of mouse on Offset panel.
  • Save selection as a dump file feature for make life easier.
  • "Find Some Bytes" feature for quickly find next meaningful bytes at file/Disk
  • MD/RIPEMD/SHA/TIGER/HAVAL/CRC/ADLER/GOST/WHRILPOOL/SNEFRU checksum functions (via integrated mhash library.)
  • Import & Export TAGs support from file.
  • Written with C++/wxWidgets GUI libs and can be used with other OSes such as Mac OS, Windows as native application.

Every so often I need to open some pretty big files and always seem to have to search for an app each time. Caching this here so the next time I can give this one a try. Besides being able to open some pretty big files (16 EB... awesome) I dig some of it other features, like the hashing and device access.

On yeah, it's open source too...

Friday, November 15, 2013

New from NirSoft - WhoIsConnected[to my darn network]Sniffer

NirBlog - New utility that lists computers and devices connected to your network

WhoIsConnectedSniffer is a new utility that listens to network packets on your network adapter using a capture driver (WinpCap or MS network monitor) and accumulates a list of computer and devices currently connected to your network. ...


NirSoft - WhoIsConnectedSniffer v1.00

WhoIsConnectedSniffer is a network discovery tool that listens to network packets on your network adapter using a capture driver (WinpCap or MS network monitor) and accumulates a list of computer and devices currently connected to your network. WhoIsConnectedSniffer uses various protocols to detect the computers connected to your network, including ARP, UDP, DHCP, mDNS, and BROWSER.

For every detected computer or device, the following information is displayed: (Some of the fields might be empty if the information cannot be found inside the packets) IP Address, MAC Address, name of the device/computer, description, Operating System, Network Adapter Company, IPv6 Address.

After collecting the connected computers/devices information, you can easily export the list to tab-delimited/comma-delimited/xml/html file.

WhoIsConnectedSniffer vs Other NirSoft Tools

As you may know, NirSoft already provides other tools (Wireless Network Watcher, NetBScanner) that scan the network and show the computers that are currently connected. As opposed to the other tools, WhoIsConnectedSniffer doesn't perform any scanning and it doesn't send any packet to the other computers. WhoIsConnectedSniffer only listens to the packets sent by other computers and devices, analyzes them and then displays the result on the main window.

WhoIsConnectedSniffer also provides some information that the other tools cannot get, like operating system, description text of the computer, IPv6 address.

System Requirements And Limitations

  • Any version of Windows, starting from Windows 2000, and up to Windows 8. Both 32-bit and 64-bit systems are supported. When using Microsoft Network Monitor driver on 64-bit system, you must use the 64-bit version of WhoIsConnectedSniffer.
  • You have to install one of the following capture drivers:
  • WhoIsConnectedSniffer cannot detect a device or computer if it doesn't send any packet that is received by the computer running this tool.
  • WhoIsConnectedSniffer cannot detect computers from other subnets.


Protocols supported by WhoIsConnectedSniffer

  • ARP: WhoIsConnectedSniffer listens to this protocol to get the IP address and MAC address of computers and devices.
  • UDP: When a computer broadcasts a UDP packet to all other computers, WhoIsConnectedSniffer extracts from it the IP address and the MAC address.
  • DHCP: When a computer connects to the network, it usually sends a DHCP request. WhoIsConnectedSniffer uses this request to get the host name and IP address of the computer.
  • mDNS: This protocol is used on Linux and Mac OS systems. WhoIsConnectedSniffer uses it to get the host name and IP address of the computer, and also the operating system (on Linux)
  • BROWSER: This protocol is mainly used by Windows, but some Linux systems supports this protocol too. WhoIsConnectedSniffer uses it to get the name of the computer, description text of the computer, and the operating system.



This utility is released as freeware. You are allowed to freely distribute this utility via floppy disk, CD-ROM, Internet, or in any other way, as long as you don't charge anything for this and you don't sell it or distribute it as a part of commercial product. If you distribute this utility, you must include all files in the distribution package, without any modification !


Cool tool from the cool guys at NirSoft [insert my usual, "These guys are like the old Wininternals/Sysinternals guys" snip here. Mark R, you following these guys? ...]

Tuesday, November 12, 2013

It's Log Parser Day! Robert Sheldon shows how Log Parser can be used for ETL

SQL Home - SQL Tools - Microsoft's Log Parser Utility: Swell ETL

For loading text, CSV or XML files into SQL Server, the Log Parser utility, with its amazing SQL engine,  is likely to be the obvious choice. Although initially developed purely for converting IIS logs, the Log Parser can turn its hand to a range of formats including even event logs or the windows registry.  

First off, Microsoft’s Log Parser utility is not a SQL Server tool. Log Parser is a powerful Windows command-line utility that can extract data from a variety of sources—IIS logs, XML and CSV files, Active Directory objects, Network Monitor capture files, and the Windows registry, to name a few—and output the data to various files and systems, most notably SQL Server. In fact, Log Parser makes importing data into a SQL Server database so simple, you’ll wonder why you haven’t been using the tool all along.

At the core of the Log Parser utility is a “SQL-like” engine that processes data as it’s retrieved from the source and sent to the destination. You can think of Log Parser as a mini extract, transform, and load (ETL) application that uses input formats to extract data from its source and output formats to send the data to its destination.

An input format provides the source data to the engine as a record set, similar to the way rows are stored in a table. Each input format serves as a record provider specific to the source from which the data is retrieved. For example, you would use the xml input provider to retrieve data from an XML file.

Output formats also present the processed information as record data, with each output format specific to the target destination type. If you were sending data to a SQL Server database, for instance, you would use the sql output format.

For details about the available input and output formats supported by Log Parser, as well as information about other features, see the Log Parser help file (LogParser.chm). The file is added to the directory where Log Parser is installed when you do a complete installation or you include the documentation component as part of a custom installation. You can download Log Parser from the Microsoft Download Center. There you will also find installation instructions.

Using Log Parser to retrieve data

Log Parser comes in two versions: a command-line executable and a DLL containing COM objects that applications can use to run Log Parser operations. This article focuses on the command-line utility and how you can use it to import data into a SQL Server database.


Working with Log Parser

The examples I’ve shown you in this article have all retrieved data from the System event log, but you’re certainly not limited to that log. You can retrieve data from other event logs, multiple logs, and a variety of other sources, such as Active Directory, the registry, IIS logs, text files, or information about the file directory itself. Log Parser is a flexible and powerful tool that can be useful in a variety of circumstances. And because of the utility’s “SQL-like” logic, most of the data you can retrieve through Log Parser can be saved to a SQL Server database. If you can write a T-SQL SELECT statement, you can use Log Parser to store all sorts of information in your SQL Server databases.


Robert's post is actually a great, in-depth post on one more more useful yet overlooked utilities, Log Parser...

And anyway, it's been nearly a month since the last Log Parser post! You can't expect me to hold off forever, do you? :P


Related Past Post XRef:
PIE! (charts) - Log Parser and the Office Web Components together turns your logs into pie charts and more..

Log Parser Studio 2.0 now out (Log Parser GUI++)
Log Parser Studio - Think "Log Parser GUI" Or "Making Log Parser click-click fun and easy to use..." or "Query Analyzer for Log Parser"

Learning Log Parser Studio in two parts... (From Install to Library Ninja)

Here's a look at the Microsoft Log Parser from a different point of view, from the Computer Forensics' side of the house OR Check out a 'Query Analyzer/SSMS' for Log Parser called Log Parser Lizard

Log Parser Ping Graph Fun (aka “Using Log Parser to parse command line output”)
SELECT * FROM Log... with the cool tool that’s been around for years, Log Parser!

Download details: Log Parser 2.2

The Unofficial Log Parser Support Site
IIS Diagnostics Toolkit (January 2006)
SQL Server 2000 Report Pack for IIS Logs

Thursday, October 31, 2013

WindowSMART (The HD/SSD health monitoring, reporting and alerting tools) goes open, yes, open source...



WindowSMART 2013 and Home Server SMART 2013 are powerful hard disk and solid state disk (SSD) health monitoring, reporting and alerting tools for Windows. WindowSMART 2013 is a standalone application, available in both x86 (32-bit) and x64 (64-bit) versions. Home Server SMART 2013 is a Dashboard add-in for specialized versions of Windows.

WindowSMART 2013 was originally developed as a Shareware application. On October 28, 2013, its developer Matthew Sawyer, owner of Dojo North Software, LLC, decided to turn WindowSMART and Home Server SMART over to the open source community. I work full-time for HP as a Microsoft SharePoint consultant, and the demands of running a side business conflicted with my family. With two young children, I want to be a better dad and thus decided I shouldn't be consuming all my free time working on a side business when I could be spending it with my family.

WindowSMART 2013 - Supported Platforms

  • Windows XP SP-3 and later
  • Windows XP 64-bit edition SP-2 and later
  • Windows Vista
  • Windows 7
  • Windows 8
  • Windows 8.1
  • Windows Server 2003 SP-2 and later
  • Windows Server 2008
  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2

Home Server SMART 2013 - Supported Systems
  • Windows Home Server 2011
  • Windows Small Business Server 2011 Essentials
  • Windows Storage Server 2008 R2 Essentials
  • Windows Server 2012 Essentials
  • Windows Server 2012 R2 Essentials


From Shareware to Open Source
In January 2010 I created Home Server SMART as an add-in for Windows Home Server ("v1"), which later became known as Home Server SMART Classic. In June 2012 I released WindowSMART as a Shareware application to help supplement my family's income.

To make a very long story short, WindowSMART has grown to a point where it's a full-time job. I already have a full-time job with HP, a family and in early 2013 I started exercising again to combat obesity. I'm not Superman; there are only 24 hours in a day but I needed about 30 hours a day to take all of this on.

And so I decided the best future for WindowSMART 2013, Home Server SMART 2013 and Home Server SMART Classic lies with the open source community. I think I made a very good product--I'd love to see the open source community make it a great product.

Product Key
Because WindowSMART 2013 was initially released as a Shareware product, it still requires a product key even though it is now open source. I've generated a product key and attached it here. I will soon make a license key generator available on my website which you can use if you'd like a personalized key. There is no charge for the key. Donations, of course, are always welcome. :)

Brave step Matthew! Thanks for taking the time to OSS this and not let it just fade away into the dark...

Friday, October 25, 2013

Windows Management Framework 4.0 (PowerShell 4, PowerShell ISE, Management OData, WMI, etc.) now available

Keith Hill's Blog - PowerShell 4.0 Now Available

You can get PowerShell 4.0 for down level operating systems now via the WMF 4.0 download.  NOTE: Be sure you have .NET 4.5 installed *before* you install WMF 4.0....

Windows PowerShell Blog - Windows Management Framework 4.0 is now available

Windows Management Framework 4.0, our package that lets you use management technologies from Windows 8.1 and Windows Server 2012 R2 on some of Microsoft’s older operating systems, is now available for you to download and install. This full-release version of Windows Management Framework 4.0 includes even more improvements than our Preview release. Be certain to read this blog post fully before installing, especially because WMF 4.0 is not compatible with certain versions of server products.


IMPORTANT: Not all Microsoft server applications are currently compatible with WMF 4.0. Before installing WMF 4.0, be sure to read the WMF 4.0 Release Notes. Specifically, systems that are running the following server applications should not run WMF 4.0 at this time:

  • System Center 2012 Configuration Manager (not including SP1)
  • System Center Virtual Machine Manager 2008 R2 (including SP1)
  • Microsoft Exchange Server 2013, Microsoft Exchange Server 2010 and Microsoft Exchange Server 2007
  • Microsoft SharePoint 2013 and Microsoft SharePoint 2010
  • Windows Small Business Server 2011Standard

We acknowledge that there is still a need for management of Windows Server 2008, and Windows Management Framework 3.0 remains the answer for Windows Server 2008.


Microsoft Downloads - Windows Management Framework 4.0

Windows Management Framework 4.0 includes updates to Windows PowerShell, Windows PowerShell ISE, Windows PowerShell Web Services (Management OData IIS Extension), Windows Remote Management (WinRM), Windows Management Instrumentation (WMI), the Server Manager WMI provider, and a new feature for 4.0, Windows PowerShell Desired State Configuration (DSC).

Version: 1.0

Date Published: 10/24/2013

  • Windows Management Framework 4.0 Release Notes.docx, 89 KB
  • Windows PowerShell Desired State Configuration Quick Reference for Windows Management Framework 4.0.pdf, 244 KB
  • Windows PowerShell Desired State Configuration Quick Reference for Windows Management Framework 4.0.pptx, 73 KB
  • Windows6.1-KB2819745-x64-MultiPkg.msu, 18.4 MB
  • Windows6.1-KB2819745-x86-MultiPkg.msu, 14.1 MB
  • Windows8-RT-KB2799888-x64.msu, 17.5 MB

This release includes new features and functionality in Windows Management Framework 4.0, including the following:

  • Windows PowerShell 4.0
  • Windows PowerShell ISE
  • Windows PowerShell Web Services (Management OData IIS Extension)
  • Windows Remote Management (WinRM)
  • Windows Management Instrumentation (WMI)
  • The Server Manager WMI provider
  • A new feature for 4.0, Windows PowerShell Desired State Configuration (DSC)

Windows Management Framework 4.0 makes updated management functionality available for installation on Windows 7 SP1, Windows Server 2008 R2 SP1, and Windows Server 2012.

Windows PowerShell 4.0
Some of the new features in Windows PowerShell 4.0 include:

  • Support for workflow and remote script debugging
  • Improved workflow authoring experience to make it more consistent with script authoring
  • Added PipelineVariable as a common parameter
  • Better support for downloading updatable help by using Save-Help and Update-Help in offline scenarios
  • Updated version from 3.0 to 4.0
  • Several bug fixes and performance improvements
Windows PowerShell Integrated Scripting Environment
Windows PowerShell ISE in Windows Management Framework 4.0 introduces:
  • Support for Windows PowerShell Workflow debugging
  • Support for remote script debugging
  • IntelliSense support for Windows PowerShell Desired State Configuration resources and configurations
Windows PowerShell Web Services
Windows PowerShell Web Services (Management OData IIS Extension) enables an administrator to expose a set of Windows PowerShell cmdlets as a RESTful web endpoint accessible by using OData (Open Data Protocol). This provides remote access to run cmdlets from both Windows-based and non-Windows-based client computers or devices.
  • Improved error messages in event logs
  • Endpoint versioning support
  • Autopopulation of OData dispatch schema fields
  • Support for complex types
  • Multilevel association support
  • Ability to perform large binary stream transfers
  • Support for non-Create/Read/Update/Delete (CRUD) actions
  • Key-As-Segment URL syntax support
  • Constrained resource operations

WMI, WinRM, and Server Manager CIM Provider
These features were included with WMF 3.0, and continue to be included in WMF 4.0. There are no significant changes to these features.

Windows PowerShell Desired State Configuration
Windows Management Framework 4.0 introduces Windows PowerShell Desired State Configuration (DSC), with the following highlights:

  • Local configuration manager for applying configurations on the local computer
  • Windows PowerShell language extensions for authoring DSC documents
  • PSDesiredStateConfiguration module and DSC-related cmdlets
  • A set of built-in DSC configuration resources
  • DSC service for distributed access to DSC resources

Friday, October 11, 2013

PIE! (charts) - Log Parser and the Office Web Components together turns your logs into pie charts and more..

Peter Viola - Enhancing Log Parser Reports with Charts

When you need quick analysis of your traffic logs you won’t find an better tool than Microsoft’s free Log Parser. With Log Parser you can read a variety of log files including the Registry and Windows event logs. It’s ease of use comes from using SQL queries against your log file. You can get your data even faster by using multiple log parser queries in a batch file.


The other day I was helping someone who needed some “top 10” data from their site’s log. Since I had these in my trusty batch file I could provide the text reports within seconds. However, I like to offer a little more pizzazz when possible so this time I decided use Log Parser’s native charting capability to output the results with some nice charts.  As the saying goes a picture is worth a thousand words.

Here’s the query I used to create the chart above:

logparser.exe -i:iisw3c "select top 10 cs-uri-stem, count(*)  into top10requests.gif
from <file> group by cs-uri-stem order by count(*) desc"
-o:CHART -chartType:pieexploded3d -categories:off -chartTitle:"Top 10 Requests"

Command line driven charts via one of my favorite tools. Think "Manager Safe Log Reports..." (Oh, wait, I've been a manager... well, then I guess I should know! ;)


Related Past Post XRef:
Log Parser Studio 2.0 now out (Log Parser GUI++)
Log Parser Studio - Think "Log Parser GUI" Or "Making Log Parser click-click fun and easy to use..." or "Query Analyzer for Log Parser"

Learning Log Parser Studio in two parts... (From Install to Library Ninja)

Here's a look at the Microsoft Log Parser from a different point of view, from the Computer Forensics' side of the house OR Check out a 'Query Analyzer/SSMS' for Log Parser called Log Parser Lizard

Log Parser Ping Graph Fun (aka “Using Log Parser to parse command line output”)
SELECT * FROM Log... with the cool tool that’s been around for years, Log Parser!

Download details: Log Parser 2.2

The Unofficial Log Parser Support Site
IIS Diagnostics Toolkit (January 2006)
SQL Server 2000 Report Pack for IIS Logs

Friday, September 13, 2013

New from NirSoft, SoundVolumeView (think "Uber volume control with profiles, command line and more" utility)

NirBlog - New utility to control the sound volume on Windows Vista/7/8/2008

SoundVolumeView is a new tool for Windows Vista/7/8/2008 that displays general information and current volume level for all active sound components on your system, and allows you to mute and unmute them instantly.

SoundVolumeView also allows you to save a sound profile into a file, containing the current volume level and the mute/unmute state of all sound components, as well as the default sound devices, and then later, load the same file to restore exactly the same volume levels and settings.

There is also extensive command-line support, which allows you to save/load profiles, change current volume of every sound component, and mute/unmute every sound component, without displaying any user interface.

NirSoft - SoundVolumeView v1.00


This utility works on Windows Vista, Windows 7, Windows 8, and Windows 2008. Both 32-bit and 64-bit systems are supported.
Windows XP and older systems are not supported


Start Using SoundVolumeView

SoundVolumeView doesn't require any installation process or additional dll files. In order to start using it, simply run the executable file - SoundVolumeView.exe

After running SoundVolumeView, the main window is displays all sound items found in your systems. There are 3 types of items: devices, subunits, and application volume.
For every item, the current volume level is displayed in percent unit. For devices and subunits, the volume level is also displayed in Decibel. For subunits, the volume level is displayed for every channel separately.

Increase/Decrease/Mute Volume

In the main window of SoundVolumeView, you can select one or more items, and then mute, unmute, increase, or decrease the volume of selected items, using accelerator keys:


Sound Profiles

SoundVolumeView allows you to save all your current sound settings into a sound profile filename, and then load it later when you want to restore these settings.
The sound profile file stores the following information:
  • Volume level of all active sound components on your system. (Devices, Subunits, and application volume) For Subunits, the volume level of every channel is stored separately.
  • Mute/Unmute state of all active sound components on your system. (Devices, Subunits, and application volume)
  • Default render/capture device.

You can save and load sound profiles by using the 'Save Sound Profile' and 'Load Sound Profile' options under the File menu, or by using the /SaveProfile and /LoadProfile command-line options. There is also a recent menu located under the File menu, which allows you to easily load the last 10 sound profiles you used, as well as you can also load the recent 5 sound profiles from the tray menu (If the tray icon is turned on)

Be aware that sound profiles are bound to specific computer and its devices. You cannot save a sound profile in one computer and then load it into another computer.

Command-Line Options

You can use the command-line options below to change the volume level and mute/unmute status of every sound component on your system.
In the [Name] parameter , you can specify one of the following fields:
  • The name of the item, as appeared under the 'Name' column. (If you have multiple items with identical name, you should use the ID field.)
  • The ID of the item, as appeared under the 'Item ID' column.
  • For sound devices (Type = 'Device'), you can also use the value specified under the 'Device Name' column.
  • For application items (type = 'Application), you can also specify the process filename, for example: firefox.exe


NirSoft (the heir apparent Sysinternals?) continues to provide a series of awesome utilities for Windows. I mean check out some of the available tools and utilities;


See what I mean?

Tuesday, September 10, 2013

Just a few shell games... shellproperty.exe and Raymond's Audio file metadata setter

Matthew van Eerde's web log - shellproperty.exe - set/read string properties on a file from the command line

Yesterday Raymond Chen blogged a "Little Program" which could edit audio metadata. As it happens, I have a similar tool I threw together which accepts a property key and a string property value to update a property, or can read a string or string-vector property.


shellproperty read <key> from <filename>
shellproperty set <key> to <string> on <filename>

Here's an example _fixup.bat script I use to set audio metadata on my copy of Giuseppe Sinopoli's recording of Madama Butterfly, to help distinguish it from other recordings of the same opera that I have.

@echo off
dir /s /b "I *.mp3" | xargs /addquotes shellproperty set PKEY_Music_AlbumTitle to "Madama Butterfly - Sinopoli / Freni: 1 of 3" on
dir /s /b "II *.mp3" | xargs /addquotes shellproperty set PKEY_Music_AlbumTitle to "Madama Butterfly - Sinopoli / Freni: 2 of 3" on
dir /s /b "III *.mp3" | xargs /addquotes shellproperty set PKEY_Music_AlbumTitle to "Madama Butterfly - Sinopoli / Freni: 3 of 3" on

Source and amd64/x86 binaries attached, but in substance it's very similar to Raymond's "Little Program".

..." [GD: Click through for the source ;]

The Old New Thing - Programmatically editing the metadata of an audio file

Today's Little Program edits the metadata of an audio file, ostensibly to correct a spelling error, but really just to show how it's done.

Today's smart pointer class library is... (rolls dice)... CComPtr!

We open with two helper functions which encapsulate the patterns

  • Get property from property store
    1. Call IProperty­Store::Get­Value
    2. Convert PROPVARIANT into desired final type
    3. Destroy the PROPVARIANT
  • Set property in property store
    1. Create a PROPVARIANT
    2. Call IProperty­Store::Set­Value
    3. Destroy the PROPVARIANT

... [GD: Again, click through for the source]

Two little command line app's that not only teach, but look useful in their own rights. And who doesn't like hacking document metadata properties? :P