<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>mnaoumov.dev</title><description>Programming blog by Michael Naumov</description><link>https://mnaoumov.dev/</link><item><title>Switch between three keyboard languages</title><link>https://mnaoumov.dev/posts/2023-12-17-switch-between-three-keyboard-languages/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2023-12-17-switch-between-three-keyboard-languages/</guid><description>An AutoHotkey v2 script that maps Left Control, Right Control, and Right Alt to instantly switch between English, Russian, and Ukrainian keyboard layouts.</description><pubDate>Sun, 17 Dec 2023 06:16:59 GMT</pubDate></item><item><title>Regex to find the end of file (EOF) in Visual Studio Code</title><link>https://mnaoumov.dev/posts/2023-01-31-regex-to-find-the-end-of-file-eof-in-visual-studio-code/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2023-01-31-regex-to-find-the-end-of-file-eof-in-visual-studio-code/</guid><description>The regex $(?!\n) matches the true end of file in Visual Studio Code&apos;s multiline search mode, enabling EOF-only bulk replacements.</description><pubDate>Tue, 31 Jan 2023 07:09:30 GMT</pubDate></item><item><title>PowerShell Predictive IntelliSense</title><link>https://mnaoumov.dev/posts/2022-11-21-powershell-predictive-intellisense/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2022-11-21-powershell-predictive-intellisense/</guid><description>How to accept PSReadLine Predictive IntelliSense suggestions in PowerShell 7.3 using the Right Arrow key, and why F2 switches prediction view modes.</description><pubDate>Mon, 21 Nov 2022 16:11:47 GMT</pubDate></item><item><title>Space Cadet Pinball Remake</title><link>https://mnaoumov.dev/posts/2022-06-30-space-cadet-pinball-remake/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2022-06-30-space-cadet-pinball-remake/</guid><description>Links to an improved open-source Space Cadet Pinball remake for Windows and an Android APK port with optional custom Russian sounds.</description><pubDate>Thu, 30 Jun 2022 16:58:27 GMT</pubDate></item><item><title>Software for perfectionists</title><link>https://mnaoumov.dev/posts/2022-05-12-software-for-perfectionists/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2022-05-12-software-for-perfectionists/</guid><description>A curated list of best-in-class tools for notes, photos, ebooks, music, and local file search chosen for their organizational depth.</description><pubDate>Fri, 13 May 2022 04:45:25 GMT</pubDate></item><item><title>Chrome search for dynamically loaded code</title><link>https://mnaoumov.dev/posts/2022-05-12-chrome-search-for-dynamically-loaded-code/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2022-05-12-chrome-search-for-dynamically-loaded-code/</guid><description>Enabling the Chrome DevTools setting &apos;Search in anonymous and content scripts&apos; allows searching inside dynamically eval-loaded JavaScript.</description><pubDate>Thu, 12 May 2022 16:12:26 GMT</pubDate></item><item><title>How to debug Obsidian plugins</title><link>https://mnaoumov.dev/posts/2022-05-10-how-to-debug-obsidian-plugins/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2022-05-10-how-to-debug-obsidian-plugins/</guid><description>Practical guide to debugging Obsidian plugins using Chrome DevTools, eval-loaded source navigation, TypeScript compilation, and hot reload.</description><pubDate>Tue, 10 May 2022 17:08:43 GMT</pubDate></item><item><title>Total Commander - Ignore List</title><link>https://mnaoumov.dev/posts/2022-05-09-total-commander---ignore-list/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2022-05-09-total-commander---ignore-list/</guid><description>Total Commander&apos;s Ignore List feature lets you exclude wildcard patterns from directory synchronization and other file operations.</description><pubDate>Mon, 09 May 2022 21:57:47 GMT</pubDate></item><item><title>Perfect Notes or My Journey to Obsidian</title><link>https://mnaoumov.dev/posts/2022-05-08-perfect-notes-or-my-journey-to-obsidian/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2022-05-08-perfect-notes-or-my-journey-to-obsidian/</guid><description>A detailed comparison of note-taking systems over many years, explaining why Obsidian with Syncthing and a curated plugin list became the final choice.</description><pubDate>Sun, 08 May 2022 00:00:00 GMT</pubDate></item><item><title>Bulk update video files Capture Time in Adobe Lightroom Classic CC</title><link>https://mnaoumov.dev/posts/2021-05-22-bulk-update-video-files-capture-time-in-adobe-lightroom-classic-cc/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2021-05-22-bulk-update-video-files-capture-time-in-adobe-lightroom-classic-cc/</guid><description>Two methods for bulk-updating video capture time in Lightroom using ExifTool and the jb Video Metadata plugin, working around SDK limitations.</description><pubDate>Sat, 22 May 2021 07:00:00 GMT</pubDate></item><item><title>Organizing photo collection - 20 years research</title><link>https://mnaoumov.dev/posts/2021-04-18-organizing-photo-collection---20-years-research/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2021-04-18-organizing-photo-collection---20-years-research/</guid><description>A 20-year journey through photo organization tools concluding with Adobe Lightroom Classic CC, PhotoStructure, AntiDupl.NET, ExifTool, and two key plugins.</description><pubDate>Sun, 18 Apr 2021 07:00:00 GMT</pubDate></item><item><title>Efficiently debug stored procedure in SSMS</title><link>https://mnaoumov.dev/posts/2019-11-26-efficiently-debug-stored-procedure-in-ssms/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2019-11-26-efficiently-debug-stored-procedure-in-ssms/</guid><description>A Stack Overflow question seeking community input on efficient techniques for debugging stored procedures in SQL Server Management Studio.</description><pubDate>Tue, 26 Nov 2019 07:00:00 GMT</pubDate></item><item><title>Windows case-insensitive file names = nightmares with Node.JS</title><link>https://mnaoumov.dev/posts/2019-10-17-windows-case-insensitive-file-names--nightmares-with-nodejs/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2019-10-17-windows-case-insensitive-file-names--nightmares-with-nodejs/</guid><description>Windows filesystem canonical casing causes Node.js module require cache misses when __dirname and process.cwd() differ in letter case.</description><pubDate>Thu, 17 Oct 2019 07:00:00 GMT</pubDate></item><item><title>cmd.exe AutoRun feature = evil feature</title><link>https://mnaoumov.dev/posts/2019-10-15-cmdexe-autorun-feature--evil-feature/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2019-10-15-cmdexe-autorun-feature--evil-feature/</guid><description>A cmd.exe AutoRun registry entry that ran chcp 65001 produced unexpected output that silently broke Node.js and other tools relying on stdout parsing.</description><pubDate>Tue, 15 Oct 2019 07:00:00 GMT</pubDate></item><item><title>Post SQL output to bug tracker details - Mr. Data Converter</title><link>https://mnaoumov.dev/posts/2019-10-11-post-sql-output-to-bug-tracker-details---mr-data-converter/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2019-10-11-post-sql-output-to-bug-tracker-details---mr-data-converter/</guid><description>Mr. Data Converter converts SSMS query results copied with headers into formatted markdown or wiki tables for pasting into bug trackers.</description><pubDate>Fri, 11 Oct 2019 07:00:00 GMT</pubDate></item><item><title>Debug .NET IIS Application on Production - dnSpy!</title><link>https://mnaoumov.dev/posts/2019-10-08-debug-net-iis-application-on-production---dnspy/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2019-10-08-debug-net-iis-application-on-production---dnspy/</guid><description>dnSpy enables full debugging of a .NET IIS application on a production server without Visual Studio or the .NET Framework installed.</description><pubDate>Tue, 08 Oct 2019 07:00:00 GMT</pubDate></item><item><title>Open Regedit on a specific key</title><link>https://mnaoumov.dev/posts/2019-07-18-open-regedit-on-a-specific-key/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2019-07-18-open-regedit-on-a-specific-key/</guid><description>Use the Sysinternals regjump tool installed via Chocolatey to open Registry Editor directly at any specified key path.</description><pubDate>Thu, 18 Jul 2019 07:00:00 GMT</pubDate></item><item><title>Download all of your data from Facebook. I mean ALL OF IT</title><link>https://mnaoumov.dev/posts/2018-07-31-download-all-of-your-data-from-facebook-i-mean-all-of-it/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2018-07-31-download-all-of-your-data-from-facebook-i-mean-all-of-it/</guid><description>Step-by-step method to scrape all Facebook activity log data by month using a JavaScript scroll automation script and the Web ScrapBook Chrome extension.</description><pubDate>Tue, 31 Jul 2018 07:00:00 GMT</pubDate></item><item><title>Integrate Facebook event and Google Calendar</title><link>https://mnaoumov.dev/posts/2018-02-07-integrate-facebook-event-and-google-calendar/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2018-02-07-integrate-facebook-event-and-google-calendar/</guid><description>Use eventcal.flown.io to generate a webcal URL from Facebook events and subscribe to it in Google Calendar, filtering by RSVP status.</description><pubDate>Wed, 07 Feb 2018 07:00:00 GMT</pubDate></item><item><title>Download Google Drive file via AJAX ignoring CORS</title><link>https://mnaoumov.dev/posts/2018-02-05-download-google-drive-file-via-ajax-ignoring-cors/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2018-02-05-download-google-drive-file-via-ajax-ignoring-cors/</guid><description>Using the cors-anywhere proxy to fetch a Google Drive download link via AJAX, bypassing the CORS restriction on the redirect.</description><pubDate>Mon, 05 Feb 2018 07:00:00 GMT</pubDate></item><item><title>HFS - Send large file P2P</title><link>https://mnaoumov.dev/posts/2017-01-05-hfs---send-large-file-p2p/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2017-01-05-hfs---send-large-file-p2p/</guid><description>HFS (HTTP File Server) is a reliable free tool for peer-to-peer large file transfers, after uTorrent Remote and JustBeamIt both failed.</description><pubDate>Thu, 05 Jan 2017 07:00:00 GMT</pubDate></item><item><title>My new favorite SQL toy - ApexSQL Refactor</title><link>https://mnaoumov.dev/posts/2016-12-20-my-new-favorite-sql-toy---apexsql-refactor/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2016-12-20-my-new-favorite-sql-toy---apexsql-refactor/</guid><description>ApexSQL Refactor is a highly configurable SQL formatter for SSMS, with a known bug that can incorrectly move SELECT statements inside IF blocks.</description><pubDate>Tue, 20 Dec 2016 07:00:00 GMT</pubDate></item><item><title>Nightmare on Skype street, or Skype on old computer</title><link>https://mnaoumov.dev/posts/2016-03-31-nightmare-on-skype-street-or-skype-on-old-computer/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2016-03-31-nightmare-on-skype-street-or-skype-on-old-computer/</guid><description>Troubleshooting Skype on a 15-year-old Windows XP machine without SSE2 support, eventually resolved with a patched Skype 4.2 build.</description><pubDate>Thu, 31 Mar 2016 07:00:00 GMT</pubDate></item><item><title>JavaScript propertyChanging, propertyChanged, propertyGetting events</title><link>https://mnaoumov.dev/posts/2016-02-13-javascript-propertychanging-propertychanged-propertygetting-events/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2016-02-13-javascript-propertychanging-propertychanged-propertygetting-events/</guid><description>A reusable JavaScript helper that wraps DOM element properties with CustomEvent-based propertyChanging, propertyChanged, and propertyGetting events.</description><pubDate>Sat, 13 Feb 2016 07:00:00 GMT</pubDate></item><item><title>WTF! MicrosoftAjax.js vs &apos;use strict&apos; vs Firefox vs IE</title><link>https://mnaoumov.dev/posts/2016-02-12-wtf-microsoftajaxjs-vs-use-strict-vs-firefox-vs-ie/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2016-02-12-wtf-microsoftajaxjs-vs-use-strict-vs-firefox-vs-ie/</guid><description>Fixing a Firefox-only strict mode error in MicrosoftAjaxWebForms.js caused by window.event being undefined, requiring a cross-browser property descriptor hack.</description><pubDate>Fri, 12 Feb 2016 07:00:00 GMT</pubDate></item><item><title>Broken phone screen or 99% success = fail</title><link>https://mnaoumov.dev/posts/2015-12-29-broken-phone-screen-or-99_-success--fail/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-12-29-broken-phone-screen-or-99_-success--fail/</guid><description>Story of working around a completely broken Android screen using USB OTG mouse, AirDroid, and blind navigation to restore phone access.</description><pubDate>Tue, 29 Dec 2015 07:00:00 GMT</pubDate></item><item><title>Best programming font - Source Code Pro</title><link>https://mnaoumov.dev/posts/2015-12-23-best-programming-font---source-code-pro/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-12-23-best-programming-font---source-code-pro/</guid><description>How to install and configure the Source Code Pro TTF font for consistent rendering across Visual Studio, Sublime Text, and ConEmu.</description><pubDate>Wed, 23 Dec 2015 07:00:00 GMT</pubDate></item><item><title>Funny &apos;Lorem ipsum&apos; memories</title><link>https://mnaoumov.dev/posts/2015-12-08-funny-lorem-ipsum-memories/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-12-08-funny-lorem-ipsum-memories/</guid><description>A brief anecdote about mistaking lorem ipsum placeholder text for Dutch language on the first encounter in a codebase.</description><pubDate>Tue, 08 Dec 2015 07:00:00 GMT</pubDate></item><item><title>Funny Out-of-memory error</title><link>https://mnaoumov.dev/posts/2015-12-07-funny-out-of-memory-error/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-12-07-funny-out-of-memory-error/</guid><description>Accidentally opening a large file in Sublime Text via Total Commander&apos;s F4 key consumed all available RAM, causing VirtualBox to fail.</description><pubDate>Mon, 07 Dec 2015 07:00:00 GMT</pubDate></item><item><title>&apos;One long debug story&apos; or &apos;checkbox.onclick&apos;</title><link>https://mnaoumov.dev/posts/2015-12-06-one-long-debug-story-or-checkboxonclick/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-12-06-one-long-debug-story-or-checkboxonclick/</guid><description>A multi-hour debugging session reveals why setting checkbox.checked inside an onclick handler requires setTimeout to work correctly.</description><pubDate>Sun, 06 Dec 2015 07:00:00 GMT</pubDate></item><item><title>How to debug JavaScript to find code which modifies your DOM</title><link>https://mnaoumov.dev/posts/2015-11-29-how-to-debug-javascript-to-find-code-which-modifies-your-dom/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-11-29-how-to-debug-javascript-to-find-code-which-modifies-your-dom/</guid><description>Using Object.defineProperty to intercept input value assignments and trigger a debugger breakpoint on DOM mutation.</description><pubDate>Sun, 29 Nov 2015 07:00:00 GMT</pubDate></item><item><title>Perfectionist&apos;s hell or SQL formatting</title><link>https://mnaoumov.dev/posts/2015-09-14-perfectionists-hell-or-sql-formatting/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-09-14-perfectionists-hell-or-sql-formatting/</guid><description>Frustration with existing SQL formatters and a call for community input on automatic SQL code formatting tools.</description><pubDate>Mon, 14 Sep 2015 07:00:00 GMT</pubDate></item><item><title>jQuery BlockUI and iframe vs require.js</title><link>https://mnaoumov.dev/posts/2015-08-06-jquery-blockui-and-iframe-vs-requirejs/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-08-06-jquery-blockui-and-iframe-vs-requirejs/</guid><description>A require.js plugin that loads dependencies from the top-level window so BlockUI works across iframe popups.</description><pubDate>Thu, 06 Aug 2015 07:00:00 GMT</pubDate></item><item><title>MSBuild custom task and assembly locks</title><link>https://mnaoumov.dev/posts/2015-07-13-msbuild-custom-task-and-assembly-locks/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-07-13-msbuild-custom-task-and-assembly-locks/</guid><description>Copying a custom MSBuild task assembly to a temp folder before loading it to prevent file locking after build.</description><pubDate>Mon, 13 Jul 2015 07:00:00 GMT</pubDate></item><item><title>My recent open-source activity</title><link>https://mnaoumov.dev/posts/2015-06-20-my-recent-open-source-activity/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-06-20-my-recent-open-source-activity/</guid><description>Summary of contributions to GitExtensions, Monodevelop, jHtmlArea, T4 TransformOnBuild, and posh-git.</description><pubDate>Sat, 20 Jun 2015 07:00:00 GMT</pubDate></item><item><title>require.js, jQuery and race conditions</title><link>https://mnaoumov.dev/posts/2015-06-13-requirejs-jquery-and-race-conditions/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-06-13-requirejs-jquery-and-race-conditions/</guid><description>Fixing a race condition where require.js and a script tag each load jQuery independently, causing plugin conflicts.</description><pubDate>Sat, 13 Jun 2015 07:00:00 GMT</pubDate></item><item><title>I raise jQuery bug for IE8</title><link>https://mnaoumov.dev/posts/2015-05-26-i-raise-jquery-bug-for-ie8/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-05-26-i-raise-jquery-bug-for-ie8/</guid><description>Discovering that a jQuery behavior discrepancy in IE8 is actually an IE8 bug with named function expressions.</description><pubDate>Tue, 26 May 2015 07:00:00 GMT</pubDate></item><item><title>Execution of external commands (native applications) in PowerShell done right - Part 3</title><link>https://mnaoumov.dev/posts/2015-04-04-execution-of-external-commands-native-applications-in-powershell-done-right---part-3/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-04-04-execution-of-external-commands-native-applications-in-powershell-done-right---part-3/</guid><description>Fixing Invoke-NativeApplication to handle Windows exit codes beyond 0-255 using an IgnoreExitCode switch.</description><pubDate>Sat, 04 Apr 2015 07:00:00 GMT</pubDate></item><item><title>Execution of external commands (native applications) in PowerShell done right - Part 2</title><link>https://mnaoumov.dev/posts/2015-03-30-execution-of-external-commands-native-applications-in-powershell-done-right---part-2/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-03-30-execution-of-external-commands-native-applications-in-powershell-done-right---part-2/</guid><description>Improved Invoke-NativeApplication with an IsError property on each output line and a prompt function edge-case fix.</description><pubDate>Mon, 30 Mar 2015 07:00:00 GMT</pubDate></item><item><title>Another pull request to Git Extensions had been approved</title><link>https://mnaoumov.dev/posts/2015-03-24-another-pull-request-to-git-extensions-had-been-approved/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-03-24-another-pull-request-to-git-extensions-had-been-approved/</guid><description>A merged pull request to Git Extensions fixing the commit window title not refreshing on branch name changes.</description><pubDate>Tue, 24 Mar 2015 07:00:00 GMT</pubDate></item><item><title>git bisect - first time usage impression</title><link>https://mnaoumov.dev/posts/2015-03-07-git-bisect---first-time-usage-impression/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-03-07-git-bisect---first-time-usage-impression/</guid><description>First hands-on experience with git bisect to locate a regression in an ASP.NET WebForms GridView rendering bug.</description><pubDate>Sat, 07 Mar 2015 07:00:00 GMT</pubDate></item><item><title>SQL Server Management Studio and very large strings</title><link>https://mnaoumov.dev/posts/2015-02-18-sql-server-management-studio-and-very-large-strings/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-02-18-sql-server-management-studio-and-very-large-strings/</guid><description>Working around SSMS truncation of nvarchar(max) strings during concatenation and result copying via FOR XML PATH.</description><pubDate>Wed, 18 Feb 2015 07:00:00 GMT</pubDate></item><item><title>Adding AC3 support for MX Player for Android</title><link>https://mnaoumov.dev/posts/2015-02-17-adding-ac3-support-for-mx-player-for-android/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-02-17-adding-ac3-support-for-mx-player-for-android/</guid><description>Installing a custom codec to add AC3 audio playback support to MX Player on Android.</description><pubDate>Tue, 17 Feb 2015 07:00:00 GMT</pubDate></item><item><title>Dolphin Browser - Browser for Android with Adobe Flash support</title><link>https://mnaoumov.dev/posts/2015-02-17-dolphin-browser---browser-for-android-with-adobe-flash-support/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-02-17-dolphin-browser---browser-for-android-with-adobe-flash-support/</guid><description>Dolphin Browser as a stable Android browser option for sites that still require Adobe Flash.</description><pubDate>Tue, 17 Feb 2015 07:00:00 GMT</pubDate></item><item><title>Debugging weird focus behavior in browser</title><link>https://mnaoumov.dev/posts/2015-02-13-debugging-weird-focus-behavior-in-browser/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-02-13-debugging-weird-focus-behavior-in-browser/</guid><description>Technique for debugging unexpected focus changes by monkey-patching HTMLElement.prototype.focus with a debugger breakpoint.</description><pubDate>Fri, 13 Feb 2015 07:00:00 GMT</pubDate></item><item><title>IE vs Firefox and Chrome and jQuery val() vs attr(&apos;value&apos;)</title><link>https://mnaoumov.dev/posts/2015-01-28-ie-vs-firefox-and-chrome-and-jquery-val-vs-attrvalue/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-01-28-ie-vs-firefox-and-chrome-and-jquery-val-vs-attrvalue/</guid><description>Cross-browser bug where jQuery .val() returns null on non-form elements in Firefox and Chrome but works in IE.</description><pubDate>Wed, 28 Jan 2015 07:00:00 GMT</pubDate></item><item><title>Execution of external commands in PowerShell done right</title><link>https://mnaoumov.dev/posts/2015-01-10-execution-of-external-commands-in-powershell-done-right/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-01-10-execution-of-external-commands-in-powershell-done-right/</guid><description>A PowerShell exec helper that correctly captures stdout and stderr from native commands and checks exit codes.</description><pubDate>Sat, 10 Jan 2015 07:00:00 GMT</pubDate></item><item><title>Get EXIF metadata with PowerShell</title><link>https://mnaoumov.dev/posts/2015-01-10-get-exif-metadata-with-powershell/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-01-10-get-exif-metadata-with-powershell/</guid><description>Reading EXIF tags such as date-taken from images in PowerShell using System.Drawing.Image.</description><pubDate>Sat, 10 Jan 2015 07:00:00 GMT</pubDate></item><item><title>PowerShell and IDisposable</title><link>https://mnaoumov.dev/posts/2015-01-10-powershell-and-idisposable/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-01-10-powershell-and-idisposable/</guid><description>Implementing a PSUsing helper function in PowerShell that mimics C# using blocks for IDisposable objects.</description><pubDate>Sat, 10 Jan 2015 07:00:00 GMT</pubDate></item><item><title>PowerShell auto variable $LastResult</title><link>https://mnaoumov.dev/posts/2015-01-10-powershell-auto-variable-lastresult/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-01-10-powershell-auto-variable-lastresult/</guid><description>Adding a $LastResult automatic variable to PowerShell by wrapping Out-Default to store the last pipeline output.</description><pubDate>Sat, 10 Jan 2015 07:00:00 GMT</pubDate></item><item><title>svn for git-addicted or git-svn gotchas and WTFs - Part 4</title><link>https://mnaoumov.dev/posts/2015-01-10-svn-for-git-addicted-or-git-svn-gotchas-and-wtfs---part-4/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-01-10-svn-for-git-addicted-or-git-svn-gotchas-and-wtfs---part-4/</guid><description>Comparing SubGit and SmartGit for git-svn bridging, and using git filter-branch to rewrite SVN author history.</description><pubDate>Sat, 10 Jan 2015 07:00:00 GMT</pubDate></item><item><title>sqlcmd - Get real sql error line number</title><link>https://mnaoumov.dev/posts/2015-01-06-sqlcmd---get-real-sql-error-line-number/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2015-01-06-sqlcmd---get-real-sql-error-line-number/</guid><description>A PowerShell wrapper for sqlcmd that maps batch-relative error line numbers back to the real script line.</description><pubDate>Tue, 06 Jan 2015 07:00:00 GMT</pubDate></item><item><title>Write-Error vs error tracing</title><link>https://mnaoumov.dev/posts/2014-12-26-write-error-vs-error-tracing/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-12-26-write-error-vs-error-tracing/</guid><description>PowerShell Write-Error always reports line 1 instead of the actual error location, with no clean workaround found.</description><pubDate>Fri, 26 Dec 2014 07:00:00 GMT</pubDate></item><item><title>PowerShell $ErrorActionPreference = &quot;Stop&quot; vs error tracing</title><link>https://mnaoumov.dev/posts/2014-12-25-powershell-erroractionpreference--_stop_-vs-error-tracing/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-12-25-powershell-erroractionpreference--_stop_-vs-error-tracing/</guid><description>Why ErrorActionPreference Stop hides the true error line number and how trap { throw $Error[0] } fixes it.</description><pubDate>Thu, 25 Dec 2014 07:00:00 GMT</pubDate></item><item><title>Bulk cherry-picking process and magic ref CHERRY_PICK_HEAD</title><link>https://mnaoumov.dev/posts/2014-12-02-bulk-cherry-picking-process-and-magic-ref-cherry_pick_head/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-12-02-bulk-cherry-picking-process-and-magic-ref-cherry_pick_head/</guid><description>Using the CHERRY_PICK_HEAD ref to inspect the commit being cherry-picked during conflict resolution.</description><pubDate>Tue, 02 Dec 2014 07:00:00 GMT</pubDate></item><item><title>VirtualBox host key - change it!</title><link>https://mnaoumov.dev/posts/2014-12-02-virtualbox-host-key---change-it/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-12-02-virtualbox-host-key---change-it/</guid><description>Tip to reassign the VirtualBox host key from Right Ctrl to a less-used key like the Application key.</description><pubDate>Tue, 02 Dec 2014 07:00:00 GMT</pubDate></item><item><title>svn for git-addicted or git-svn gotchas and WTFs - Part 3</title><link>https://mnaoumov.dev/posts/2014-11-27-svn-for-git-addicted-or-git-svn-gotchas-and-wtfs---part-3/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-11-27-svn-for-git-addicted-or-git-svn-gotchas-and-wtfs---part-3/</guid><description>Handling svn:mergeinfo during cherry-picks with git-svn, and updating mergeinfo metadata manually.</description><pubDate>Thu, 27 Nov 2014 07:00:00 GMT</pubDate></item><item><title>svn for git-addicted or git-svn gotchas and WTFs - Part 2</title><link>https://mnaoumov.dev/posts/2014-11-17-svn-for-git-addicted-or-git-svn-gotchas-and-wtfs---part-2/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-11-17-svn-for-git-addicted-or-git-svn-gotchas-and-wtfs---part-2/</guid><description>Managing atomic commits and branch merging workflows when using git-svn to push changes back to Subversion.</description><pubDate>Mon, 17 Nov 2014 07:00:00 GMT</pubDate></item><item><title>Coding Standards document</title><link>https://mnaoumov.dev/posts/2014-11-16-coding-standards-document/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-11-16-coding-standards-document/</guid><description>A concise C# coding standards document with ReSharper configuration, covering access modifiers, var usage, and best practices.</description><pubDate>Sun, 16 Nov 2014 07:00:00 GMT</pubDate></item><item><title>svn for git-addicted or git-svn gotchas and WTFs</title><link>https://mnaoumov.dev/posts/2014-11-16-svn-for-git-addicted-or-git-svn-gotchas-and-wtfs/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-11-16-svn-for-git-addicted-or-git-svn-gotchas-and-wtfs/</guid><description>Setting up git-svn with a non-standard Subversion repository layout, including branch and tag mappings.</description><pubDate>Sun, 16 Nov 2014 07:00:00 GMT</pubDate></item><item><title>My NUnit pull request accepted</title><link>https://mnaoumov.dev/posts/2014-11-15-my-nunit-pull-request-accepted/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-11-15-my-nunit-pull-request-accepted/</guid><description>Announcement that a NUnit pull request fixing invalid XML character handling was merged and referenced in NUnit source code.</description><pubDate>Sat, 15 Nov 2014 07:00:00 GMT</pubDate></item><item><title>PowerShell Start-Job WTF</title><link>https://mnaoumov.dev/posts/2014-06-21-powershell-start-job-wtf/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-06-21-powershell-start-job-wtf/</guid><description>Troubleshoots Start-Job scope issues with PSScriptRoot and shows how to invoke a script path asynchronously using ScriptBlock.Create.</description><pubDate>Sat, 21 Jun 2014 07:00:00 GMT</pubDate></item><item><title>PowerShell Start-Process WTF</title><link>https://mnaoumov.dev/posts/2014-06-20-powershell-start-process-wtf/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-06-20-powershell-start-process-wtf/</guid><description>Documents a known PowerShell bug where Start-Process -PassThru does not expose ExitCode, with a workaround using Process.Start.</description><pubDate>Fri, 20 Jun 2014 07:00:00 GMT</pubDate></item><item><title>PowerShell .NET property access swallows exceptions</title><link>https://mnaoumov.dev/posts/2014-06-19-powershell-net-property-access-swallows-exceptions/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-06-19-powershell-net-property-access-swallows-exceptions/</guid><description>Demonstrates that PowerShell silently returns null when a .NET property getter throws an exception, and how to avoid it.</description><pubDate>Thu, 19 Jun 2014 07:00:00 GMT</pubDate></item><item><title>Escaping Invalid XML Unicode characters</title><link>https://mnaoumov.dev/posts/2014-06-15-escaping-invalid-xml-unicode-characters/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-06-15-escaping-invalid-xml-unicode-characters/</guid><description>Step-by-step derivation of a C# regex to strip or escape characters invalid in XML, handling UTF-16 surrogate pairs correctly.</description><pubDate>Sun, 15 Jun 2014 07:00:00 GMT</pubDate></item><item><title>NUnit pull request</title><link>https://mnaoumov.dev/posts/2014-06-15-nunit-pull-request/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-06-15-nunit-pull-request/</guid><description>Announcement of a pull request submitted to the NUnit framework to fix invalid XML character handling in test output.</description><pubDate>Sun, 15 Jun 2014 07:00:00 GMT</pubDate></item><item><title>My old NUnit _pull request_</title><link>https://mnaoumov.dev/posts/2014-06-15-my-old-nunit-_pull-request_/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-06-15-my-old-nunit-_pull-request_/</guid><description>Retrospective on a NUnit v2 bug fix submitted before pull requests existed, credited only via a manual description.</description><pubDate>Sun, 15 Jun 2014 07:00:00 GMT</pubDate></item><item><title>Stripping invalid characters from UTF-16 strings</title><link>https://mnaoumov.dev/posts/2014-06-14-stripping-invalid-characters-from-utf-16-strings/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-06-14-stripping-invalid-characters-from-utf-16-strings/</guid><description>C# regex approach to remove unpaired UTF-16 surrogate characters from strings to ensure valid Unicode output.</description><pubDate>Sat, 14 Jun 2014 07:00:00 GMT</pubDate></item><item><title>Unicode literals in PowerShell</title><link>https://mnaoumov.dev/posts/2014-06-13-unicode-literals-in-powershell/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-06-13-unicode-literals-in-powershell/</guid><description>How to express Unicode character literals in PowerShell using char casts and ConvertFromUtf32, including surrogate pair handling.</description><pubDate>Fri, 13 Jun 2014 07:00:00 GMT</pubDate></item><item><title>Another GitExtensions file history issue</title><link>https://mnaoumov.dev/posts/2014-06-11-another-gitextensions-file-history-issue/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-06-11-another-gitextensions-file-history-issue/</guid><description>Reports and proposes a fix for another file history bug in GitExtensions.</description><pubDate>Wed, 11 Jun 2014 07:00:00 GMT</pubDate></item><item><title>git core bug</title><link>https://mnaoumov.dev/posts/2014-06-11-git-core-bug/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-06-11-git-core-bug/</guid><description>Announcement that a git core pull request fixing ANSI sequences in non-terminal output was accepted upstream.</description><pubDate>Wed, 11 Jun 2014 07:00:00 GMT</pubDate></item><item><title>PowerShell Registry Set-ItemProperty gotchas</title><link>https://mnaoumov.dev/posts/2014-06-09-powershell-registry-set-itemproperty-gotchas/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-06-09-powershell-registry-set-itemproperty-gotchas/</guid><description>Documents undocumented Type parameter behavior in Set-ItemProperty and how to correctly read and write typed registry values.</description><pubDate>Mon, 09 Jun 2014 07:00:00 GMT</pubDate></item><item><title>PowerShell 3 - Attempting to perform the InitializeDefaultDrives operation on the FileSystem provider failed</title><link>https://mnaoumov.dev/posts/2014-06-05-powershell-3---attempting-to-perform-the-initializedefaultdrives-operation-on-the-filesystem-provider-failed/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-06-05-powershell-3---attempting-to-perform-the-initializedefaultdrives-operation-on-the-filesystem-provider-failed/</guid><description>Fix for a PowerShell 3 startup error caused by disconnected network drives, resolved via a registry key change.</description><pubDate>Thu, 05 Jun 2014 07:00:00 GMT</pubDate></item><item><title>Windows Task Scheduler silently fails</title><link>https://mnaoumov.dev/posts/2014-06-05-windows-task-scheduler-silently-fails/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-06-05-windows-task-scheduler-silently-fails/</guid><description>Diagnoses why a Task Scheduler task silently fails when run without a logged-on user due to unavailable mapped network drives.</description><pubDate>Thu, 05 Jun 2014 07:00:00 GMT</pubDate></item><item><title>NUnit issue</title><link>https://mnaoumov.dev/posts/2014-06-04-nunit-issue/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-06-04-nunit-issue/</guid><description>Bug report for NUnit console failing when error messages contain invalid XML characters such as null bytes.</description><pubDate>Wed, 04 Jun 2014 07:00:00 GMT</pubDate></item><item><title>The best debugging technique - inverse breakpoint</title><link>https://mnaoumov.dev/posts/2014-06-02-the-best-debugging-technique---inverse-breakpoint/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-06-02-the-best-debugging-technique---inverse-breakpoint/</guid><description>Using Debugger.Launch and Debugger.Break in C# code to attach a debugger to hard-to-reach processes like Visual Studio plugins.</description><pubDate>Mon, 02 Jun 2014 07:00:00 GMT</pubDate></item><item><title>git core and GitExtensions bugs</title><link>https://mnaoumov.dev/posts/2014-06-02-git-core-and-gitextensions-bugs/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-06-02-git-core-and-gitextensions-bugs/</guid><description>Summary of bug fixes and pull requests contributed to git core and GitExtensions for ANSI sequences and file history issues.</description><pubDate>Mon, 02 Jun 2014 07:00:00 GMT</pubDate></item><item><title>Task Scheduler Event IDs</title><link>https://mnaoumov.dev/posts/2014-05-15-task-scheduler-event-ids/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2014-05-15-task-scheduler-event-ids/</guid><description>Reference table of Windows Task Scheduler event log IDs and their corresponding task lifecycle categories.</description><pubDate>Thu, 15 May 2014 07:00:00 GMT</pubDate></item><item><title>C__PowerShell Clipboard Watcher</title><link>https://mnaoumov.dev/posts/2013-08-30-c__powershell-clipboard-watcher/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-08-30-c__powershell-clipboard-watcher/</guid><description>Implements a clipboard change watcher in PowerShell using inline C# with P/Invoke and WinForms WM_CLIPBOARDUPDATE.</description><pubDate>Fri, 30 Aug 2013 07:00:00 GMT</pubDate></item><item><title>PowerShell scripts and &quot;Pattern Main&quot;</title><link>https://mnaoumov.dev/posts/2013-08-21-powershell-scripts-and-_pattern-main_/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-08-21-powershell-scripts-and-_pattern-main_/</guid><description>Pattern for structuring PowerShell scripts with a Main function so core logic appears at the top before helper functions.</description><pubDate>Wed, 21 Aug 2013 07:00:00 GMT</pubDate></item><item><title>Efficient Base64 conversion in PowerShell</title><link>https://mnaoumov.dev/posts/2013-08-20-efficient-base64-conversion-in-powershell/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-08-20-efficient-base64-conversion-in-powershell/</guid><description>Chunk-based Base64 file conversion in PowerShell that avoids loading the entire file into memory for large files.</description><pubDate>Tue, 20 Aug 2013 07:00:00 GMT</pubDate></item><item><title>How to reach unreachable or copy files to RDP - Part 2</title><link>https://mnaoumov.dev/posts/2013-08-20-how-to-reach-unreachable-or-copy-files-to-rdp---part-2/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-08-20-how-to-reach-unreachable-or-copy-files-to-rdp---part-2/</guid><description>Follow-up on clipboard-based RDP file transfer, describing clipboard hang issues and a planned chunked clipboard watcher solution.</description><pubDate>Tue, 20 Aug 2013 07:00:00 GMT</pubDate></item><item><title>PowerShell Resolve-Path Safe</title><link>https://mnaoumov.dev/posts/2013-08-20-powershell-resolve-path-safe/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-08-20-powershell-resolve-path-safe/</guid><description>How to resolve paths for non-existent files in PowerShell using GetUnresolvedProviderPathFromPSPath instead of Resolve-Path.</description><pubDate>Tue, 20 Aug 2013 07:00:00 GMT</pubDate></item><item><title>Name collisions, PSBase and other mad PowerShell internals</title><link>https://mnaoumov.dev/posts/2013-07-23-name-collisions-psbase-and-other-mad-powershell-internals/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-07-23-name-collisions-psbase-and-other-mad-powershell-internals/</guid><description>Explores PowerShell name collisions between XML attributes and .NET properties, and how PSBase and PSObject.Members resolve them.</description><pubDate>Tue, 23 Jul 2013 07:00:00 GMT</pubDate></item><item><title>PowerShell and cd..</title><link>https://mnaoumov.dev/posts/2013-07-23-powershell-and-cd/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-07-23-powershell-and-cd/</guid><description>Explains how PowerShell handles the cd.. command via a built-in function rather than special-casing the syntax.</description><pubDate>Tue, 23 Jul 2013 07:00:00 GMT</pubDate></item><item><title>Set-StrictMode and legacy code issues</title><link>https://mnaoumov.dev/posts/2013-07-23-set-strictmode-and-legacy-code-issues/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-07-23-set-strictmode-and-legacy-code-issues/</guid><description>How Set-StrictMode interacts with legacy PowerShell scripts and safe workarounds for missing variables and properties.</description><pubDate>Tue, 23 Jul 2013 07:00:00 GMT</pubDate></item><item><title>Sublime Text missing feature - pin tab</title><link>https://mnaoumov.dev/posts/2013-07-09-sublime-text-missing-feature---pin-tab/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-07-09-sublime-text-missing-feature---pin-tab/</guid><description>Feature request for Sublime Text to support pinning tabs to prevent accidental closure during file search.</description><pubDate>Tue, 09 Jul 2013 07:00:00 GMT</pubDate></item><item><title>Git Extensions from console - UPD</title><link>https://mnaoumov.dev/posts/2013-06-20-git-extensions-from-console---upd/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-06-20-git-extensions-from-console---upd/</guid><description>How to launch Git Extensions from the console using a git alias, including a fix to avoid blocking the terminal.</description><pubDate>Thu, 20 Jun 2013 07:00:00 GMT</pubDate></item><item><title>How to reach unreachable or copy files to RDP</title><link>https://mnaoumov.dev/posts/2013-06-19-how-to-reach-unreachable-or-copy-files-to-rdp/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-06-19-how-to-reach-unreachable-or-copy-files-to-rdp/</guid><description>Technique for transferring binary files to an RDP server with no drive sharing by encoding them as Base64 via the clipboard.</description><pubDate>Wed, 19 Jun 2013 07:00:00 GMT</pubDate></item><item><title>where.exe PowerShell alternative</title><link>https://mnaoumov.dev/posts/2013-03-14-whereexe-powershell-alternative/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-03-14-whereexe-powershell-alternative/</guid><description>How to use Get-Command as a PowerShell native alternative to the where.exe utility for locating executables.</description><pubDate>Thu, 14 Mar 2013 07:00:00 GMT</pubDate></item><item><title>Kill Bill _W conhost</title><link>https://mnaoumov.dev/posts/2013-03-08-kill-bill-_w-conhost/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-03-08-kill-bill-_w-conhost/</guid><description>PowerShell script to kill all orphaned conhost.exe processes while preserving the one attached to the current session.</description><pubDate>Fri, 08 Mar 2013 07:00:00 GMT</pubDate></item><item><title>git hook proxy</title><link>https://mnaoumov.dev/posts/2013-03-02-git-hook-proxy/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-03-02-git-hook-proxy/</guid><description>Final implementation of a PowerShell git hook proxy that extracts and runs hooks from the repo for both client and server sides.</description><pubDate>Sat, 02 Mar 2013 07:00:00 GMT</pubDate></item><item><title>git - fight with pull merges</title><link>https://mnaoumov.dev/posts/2013-02-28-git---fight-with-pull-merges/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-02-28-git---fight-with-pull-merges/</guid><description>How to eliminate pull-merge commits using pull --rebase, autosetuprebase, --preserve-merges, and rerere.</description><pubDate>Thu, 28 Feb 2013 07:00:00 GMT</pubDate></item><item><title>git undo</title><link>https://mnaoumov.dev/posts/2013-02-28-git-undo/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-02-28-git-undo/</guid><description>How to undo a git pull --rebase or other destructive git operations using git reflog and reset.</description><pubDate>Thu, 28 Feb 2013 07:00:00 GMT</pubDate></item><item><title>git checkout on bare repo</title><link>https://mnaoumov.dev/posts/2013-02-27-git-checkout-on-bare-repo/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-02-27-git-checkout-on-bare-repo/</guid><description>How to extract files and folders from a bare git repository using git archive, avoiding encoding and binary issues.</description><pubDate>Wed, 27 Feb 2013 07:00:00 GMT</pubDate></item><item><title>git server-side hooks - maintenance</title><link>https://mnaoumov.dev/posts/2013-02-27-git-server-side-hooks---maintenance/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-02-27-git-server-side-hooks---maintenance/</guid><description>Pattern for self-updating git server-side hooks: a proxy script checks out hook code directly from the repository on each run.</description><pubDate>Wed, 27 Feb 2013 07:00:00 GMT</pubDate></item><item><title>Get TeamCity build status from PowerShell</title><link>https://mnaoumov.dev/posts/2013-01-31-get-teamcity-build-status-from-powershell/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-01-31-get-teamcity-build-status-from-powershell/</guid><description>PowerShell function to query TeamCity REST API and detect broken builds, including currently running ones.</description><pubDate>Thu, 31 Jan 2013 07:00:00 GMT</pubDate></item><item><title>Detect Console mode vs UI</title><link>https://mnaoumov.dev/posts/2013-01-31-detect-console-mode-vs-ui/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-01-31-detect-console-mode-vs-ui/</guid><description>Reliable PowerShell technique to detect whether a git hook runs in a console or a GUI environment like Git Extensions.</description><pubDate>Thu, 31 Jan 2013 07:00:00 GMT</pubDate></item><item><title>Git - Get Push Date</title><link>https://mnaoumov.dev/posts/2013-01-31-git---get-push-date/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-01-31-git---get-push-date/</guid><description>How to record and retrieve the actual push date for git commits using git notes and server-side post-receive hooks.</description><pubDate>Thu, 31 Jan 2013 07:00:00 GMT</pubDate></item><item><title>Interesting git helpers snippets</title><link>https://mnaoumov.dev/posts/2013-01-31-interesting-git-helpers-snippets/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-01-31-interesting-git-helpers-snippets/</guid><description>PowerShell git helper snippets: get current branch, resolve refs, test fast-forward, find commit&apos;s originating branch.</description><pubDate>Thu, 31 Jan 2013 07:00:00 GMT</pubDate></item><item><title>Parse git merge commit messages</title><link>https://mnaoumov.dev/posts/2013-01-31-parse-git-merge-commit-messages/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-01-31-parse-git-merge-commit-messages/</guid><description>PowerShell function with regex patterns to parse git&apos;s auto-generated merge commit messages and extract branch names.</description><pubDate>Thu, 31 Jan 2013 07:00:00 GMT</pubDate></item><item><title>Useful git hooks - Part 4</title><link>https://mnaoumov.dev/posts/2013-01-29-useful-git-hooks---part-4/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-01-29-useful-git-hooks---part-4/</guid><description>Summary of an expanded git hooks suite enforcing branch merge order, rebase safety, TeamCity build status, and push timing rules.</description><pubDate>Tue, 29 Jan 2013 07:00:00 GMT</pubDate></item><item><title>WTF_ PowerShell 3 _ Cygwin</title><link>https://mnaoumov.dev/posts/2013-01-01-wtf_-powershell-3-_-cygwin/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2013-01-01-wtf_-powershell-3-_-cygwin/</guid><description>PowerShell -Version 2 flag is ignored when launched from Cygwin, always running PowerShell 3 instead.</description><pubDate>Tue, 01 Jan 2013 07:00:00 GMT</pubDate></item><item><title>PowerShell 3 bug with stack trace</title><link>https://mnaoumov.dev/posts/2012-12-06-powershell-3-bug-with-stack-trace/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-12-06-powershell-3-bug-with-stack-trace/</guid><description>PowerShell 3 shows incorrect line numbers in stack traces when CmdletBinding and ErrorActionPreference are combined; trap workaround included.</description><pubDate>Thu, 06 Dec 2012 07:00:00 GMT</pubDate></item><item><title>PowerShell $PSScriptRoot vs dot-sourcing</title><link>https://mnaoumov.dev/posts/2012-10-31-powershell-psscriptroot-vs-dot-sourcing/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-31-powershell-psscriptroot-vs-dot-sourcing/</guid><description>Bug in PowerShell 2 where dot-sourcing overwrites $PSScriptRoot; workaround using a function instead of a variable.</description><pubDate>Wed, 31 Oct 2012 07:00:00 GMT</pubDate></item><item><title>Useful git hooks - Part 3</title><link>https://mnaoumov.dev/posts/2012-10-31-useful-git-hooks---part-3/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-31-useful-git-hooks---part-3/</guid><description>Completion of the git hooks suite with functional tests using PoshUnit and UI Automation PowerShell Extensions.</description><pubDate>Wed, 31 Oct 2012 07:00:00 GMT</pubDate></item><item><title>PowerShell script best practices</title><link>https://mnaoumov.dev/posts/2012-10-30-powershell-script-best-practices/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-30-powershell-script-best-practices/</guid><description>Best practices for PowerShell scripts: error handling preamble, strict mode, PSScriptRoot, and readability rules.</description><pubDate>Tue, 30 Oct 2012 07:00:00 GMT</pubDate></item><item><title>WTF Method overloads resolution in PowerShell</title><link>https://mnaoumov.dev/posts/2012-10-26-wtf-method-overloads-resolution-in-powershell/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-26-wtf-method-overloads-resolution-in-powershell/</guid><description>PowerShell resolves .NET method overloads differently from C#, causing unexpected method calls with bool arguments.</description><pubDate>Fri, 26 Oct 2012 07:00:00 GMT</pubDate></item><item><title>Indent styles holy wars</title><link>https://mnaoumov.dev/posts/2012-10-19-indent-styles-holy-wars/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-19-indent-styles-holy-wars/</guid><description>Discussion of Allman vs K&amp;R brace styles across C#, JavaScript, CSS, and PowerShell.</description><pubDate>Fri, 19 Oct 2012 07:00:00 GMT</pubDate></item><item><title>PoshUnit</title><link>https://mnaoumov.dev/posts/2012-10-18-poshunit/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-18-poshunit/</guid><description>Announcement of PoshUnit, a new portable PowerShell unit testing framework inspired by NUnit.</description><pubDate>Thu, 18 Oct 2012 07:00:00 GMT</pubDate></item><item><title>PowerShell 2 and .NET Framework 4</title><link>https://mnaoumov.dev/posts/2012-10-18-powershell-2-and-net-framework-4/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-18-powershell-2-and-net-framework-4/</guid><description>How to configure PowerShell 2 to use .NET Framework 4 CLR via registry or config files.</description><pubDate>Thu, 18 Oct 2012 07:00:00 GMT</pubDate></item><item><title>PowerShell unit testing</title><link>https://mnaoumov.dev/posts/2012-10-16-powershell-unit-testing/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-16-powershell-unit-testing/</guid><description>Comparison of PowerShell unit testing frameworks: Pester, PsUnit, and PsTest.</description><pubDate>Tue, 16 Oct 2012 07:00:00 GMT</pubDate></item><item><title>Good WordPress free theme_</title><link>https://mnaoumov.dev/posts/2012-10-11-good-wordpress-free-theme_/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-11-good-wordpress-free-theme_/</guid><description>Request for a wide, code-friendly free WordPress theme with automatic post excerpts.</description><pubDate>Thu, 11 Oct 2012 07:00:00 GMT</pubDate></item><item><title>Useful git hooks - Part 2</title><link>https://mnaoumov.dev/posts/2012-10-11-useful-git-hooks---part-2/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-11-useful-git-hooks---part-2/</guid><description>Adds a commit-msg hook that enforces TFS work item ID prefixes on all commit messages.</description><pubDate>Thu, 11 Oct 2012 07:00:00 GMT</pubDate></item><item><title>MarkdownPad - very nice Markdown editor</title><link>https://mnaoumov.dev/posts/2012-10-10-markdownpad---very-nice-markdown-editor/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-10-markdownpad---very-nice-markdown-editor/</guid><description>Brief introduction to MarkdownPad, a WYSIWYG Markdown editor for Windows.</description><pubDate>Wed, 10 Oct 2012 07:00:00 GMT</pubDate></item><item><title>PowerShell Set-PSBreakpoint bug in PowerShell 3_</title><link>https://mnaoumov.dev/posts/2012-10-10-powershell-set-psbreakpoint-bug-in-powershell-3_/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-10-powershell-set-psbreakpoint-bug-in-powershell-3_/</guid><description>Bug report: Set-PSBreakpoint breakpoints are not hit when the script runs in a new PowerShell 3 process.</description><pubDate>Wed, 10 Oct 2012 07:00:00 GMT</pubDate></item><item><title>Remote debugging over TeamViewer</title><link>https://mnaoumov.dev/posts/2012-10-10-remote-debugging-over-teamviewer/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-10-remote-debugging-over-teamviewer/</guid><description>Step-by-step guide to setting up Visual Studio remote debugging over a TeamViewer VPN connection.</description><pubDate>Wed, 10 Oct 2012 07:00:00 GMT</pubDate></item><item><title>Useful git hooks</title><link>https://mnaoumov.dev/posts/2012-10-10-useful-git-hooks/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-10-useful-git-hooks/</guid><description>Introduction to a git hooks repository that prevents ugly pull-merge commits from cluttering git history.</description><pubDate>Wed, 10 Oct 2012 07:00:00 GMT</pubDate></item><item><title>PowerShell Cmdlets sources</title><link>https://mnaoumov.dev/posts/2012-10-09-powershell-cmdlets-sources/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-09-powershell-cmdlets-sources/</guid><description>Script to open any PowerShell cmdlet&apos;s source code directly in .NET Reflector for inspection.</description><pubDate>Tue, 09 Oct 2012 07:00:00 GMT</pubDate></item><item><title>obj.ToString(), nulls and ReSharper</title><link>https://mnaoumov.dev/posts/2012-10-09-objtostring-nulls-and-resharper/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-09-objtostring-nulls-and-resharper/</guid><description>ReSharper incorrectly marks ToString() as non-nullable, but BCL types like HtmlString can return null.</description><pubDate>Tue, 09 Oct 2012 07:00:00 GMT</pubDate></item><item><title>Pluralsight - The best screencasts</title><link>https://mnaoumov.dev/posts/2012-10-01-pluralsight---the-best-screencasts/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-10-01-pluralsight---the-best-screencasts/</guid><description>Brief recommendation of Pluralsight as a professional screencast platform covering a wide range of technologies.</description><pubDate>Mon, 01 Oct 2012 07:00:00 GMT</pubDate></item><item><title>WCF _ useless ProtocolException</title><link>https://mnaoumov.dev/posts/2012-09-28-wcf-_-useless-protocolexception/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-28-wcf-_-useless-protocolexception/</guid><description>WCF ProtocolException truncates the server error response; an extension method on WebException extracts the full response body.</description><pubDate>Fri, 28 Sep 2012 07:00:00 GMT</pubDate></item><item><title>T4 Assembly references for Design-time templates</title><link>https://mnaoumov.dev/posts/2012-09-27-t4-assembly-references-for-design-time-templates/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-27-t4-assembly-references-for-design-time-templates/</guid><description>Common patterns for referencing assemblies in T4 design-time templates using GAC paths, absolute paths, and MSBuild variables.</description><pubDate>Thu, 27 Sep 2012 07:00:00 GMT</pubDate></item><item><title>T4 Design-Time templates base class</title><link>https://mnaoumov.dev/posts/2012-09-27-t4-design-time-templates-base-class/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-27-t4-design-time-templates-base-class/</guid><description>How to create a shared custom base class for T4 design-time templates by extending TextTransformation, with a working example.</description><pubDate>Thu, 27 Sep 2012 07:00:00 GMT</pubDate></item><item><title>T4 Templates and Null in Expression block</title><link>https://mnaoumov.dev/posts/2012-09-27-t4-templates-and-null-in-expression-block/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-27-t4-templates-and-null-in-expression-block/</guid><description>T4 templates throw ArgumentNullException on null expression blocks; fix by overriding ToStringWithCulture in the base class.</description><pubDate>Thu, 27 Sep 2012 07:00:00 GMT</pubDate></item><item><title>Useful Dictionary extensions I am always using</title><link>https://mnaoumov.dev/posts/2012-09-27-useful-dictionary-extensions-i-am-always-using/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-27-useful-dictionary-extensions-i-am-always-using/</guid><description>Two reusable C# IDictionary extension methods: GetValueOrDefault and GetOrAddValue with a factory function.</description><pubDate>Thu, 27 Sep 2012 07:00:00 GMT</pubDate></item><item><title>T4 Runtime Template and code-behind logic</title><link>https://mnaoumov.dev/posts/2012-09-27-t4-runtime-template-and-code-behind-logic/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-27-t4-runtime-template-and-code-behind-logic/</guid><description>How to add a code-behind partial class to a T4 runtime template by manually editing the csproj file, with a Visual Studio add-in.</description><pubDate>Thu, 27 Sep 2012 07:00:00 GMT</pubDate></item><item><title>Annoying advertisement banners in my blog</title><link>https://mnaoumov.dev/posts/2012-09-26-annoying-advertisement-banners-in-my-blog/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-26-annoying-advertisement-banners-in-my-blog/</guid><description>A JavaScript one-liner to hide WordPress advertisement banners in the browser, alongside recommending Adblock.</description><pubDate>Wed, 26 Sep 2012 07:00:00 GMT</pubDate></item><item><title>[PowerShell] Built-in support for -Debug and -Verbose for your scripts</title><link>https://mnaoumov.dev/posts/2012-09-26-powershell-built-in-support-for--debug-and--verbose-for-your-scripts/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-26-powershell-built-in-support-for--debug-and--verbose-for-your-scripts/</guid><description>How to enable PowerShell common parameters -Debug and -Verbose in custom scripts using CmdletBinding and DebugPreference.</description><pubDate>Wed, 26 Sep 2012 07:00:00 GMT</pubDate></item><item><title>T4 Runtime Templates Base Class</title><link>https://mnaoumov.dev/posts/2012-09-26-t4-runtime-templates-base-class/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-26-t4-runtime-templates-base-class/</guid><description>Demonstrates extracting T4 runtime template auto-generated base class into a shared reusable C# base class for all templates.</description><pubDate>Wed, 26 Sep 2012 07:00:00 GMT</pubDate></item><item><title>T4 Syntax</title><link>https://mnaoumov.dev/posts/2012-09-26-t4-syntax/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-26-t4-syntax/</guid><description>Overview of T4 template syntax including directives, text blocks, control blocks, expression blocks, and class feature blocks.</description><pubDate>Wed, 26 Sep 2012 07:00:00 GMT</pubDate></item><item><title>Developing Custom Tool (aka Single File Generators) for Visual Studio 2012</title><link>https://mnaoumov.dev/posts/2012-09-25-developing-custom-tool-aka-single-file-generators-for-visual-studio-2012/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-25-developing-custom-tool-aka-single-file-generators-for-visual-studio-2012/</guid><description>Step-by-step guide to creating and registering a COM-visible Single File Generator custom tool for Visual Studio 2012.</description><pubDate>Tue, 25 Sep 2012 07:00:00 GMT</pubDate></item><item><title>[WTF] Visual Studio 2012 not supporting MSI Setup project (.vdproj)</title><link>https://mnaoumov.dev/posts/2012-09-25-wtf-visual-studio-2012-not-supporting-msi-setup-project-vdproj/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-25-wtf-visual-studio-2012-not-supporting-msi-setup-project-vdproj/</guid><description>Visual Studio 2012 dropped .vdproj MSI setup project support; workaround options include WiX and InstallShield Limited Edition.</description><pubDate>Tue, 25 Sep 2012 07:00:00 GMT</pubDate></item><item><title>T4 Syntax highlighting and IntelliSense</title><link>https://mnaoumov.dev/posts/2012-09-24-t4-syntax-highlighting-and-intellisense/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-24-t4-syntax-highlighting-and-intellisense/</guid><description>Third-party Visual Studio extensions for T4 syntax highlighting and IntelliSense, with a note on Visual Studio 2012 gaps.</description><pubDate>Mon, 24 Sep 2012 07:00:00 GMT</pubDate></item><item><title>T4 blog section</title><link>https://mnaoumov.dev/posts/2012-09-24-t4-blog-section/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-24-t4-blog-section/</guid><description>Introduction to the T4 (Text Template Transformation Toolkit) blog series covering code generation in Visual Studio.</description><pubDate>Mon, 24 Sep 2012 07:00:00 GMT</pubDate></item><item><title>WTF Generic attributes in C_</title><link>https://mnaoumov.dev/posts/2012-09-24-wtf-generic-attributes-in-c_/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-24-wtf-generic-attributes-in-c_/</guid><description>C# CLR limitation prevents generic types from deriving from Attribute, causing a CS0698 compile error.</description><pubDate>Mon, 24 Sep 2012 07:00:00 GMT</pubDate></item><item><title>Sublime Text - The best text editor ever</title><link>https://mnaoumov.dev/posts/2012-09-23-sublime-text---the-best-text-editor-ever/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-23-sublime-text---the-best-text-editor-ever/</guid><description>Introduction to Sublime Text as a developer-friendly editor, with tips on Package Control and PowerShell syntax highlighting.</description><pubDate>Sun, 23 Sep 2012 07:00:00 GMT</pubDate></item><item><title>git - change date of commit</title><link>https://mnaoumov.dev/posts/2012-09-23-git---change-date-of-commit/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-23-git---change-date-of-commit/</guid><description>PowerShell snippet to change the author and committer date of an existing git commit using GIT_COMMITTER_DATE and --amend.</description><pubDate>Sun, 23 Sep 2012 07:00:00 GMT</pubDate></item><item><title>Spoon.net - Combining the best of the desktop and the cloud</title><link>https://mnaoumov.dev/posts/2012-09-22-spoonnet---combining-the-best-of-the-desktop-and-the-cloud/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-22-spoonnet---combining-the-best-of-the-desktop-and-the-cloud/</guid><description>Overview of Spoon.net, a cloud service for running virtualized desktop applications including cross-browser testing.</description><pubDate>Sat, 22 Sep 2012 07:00:00 GMT</pubDate></item><item><title>Swype - Amazing keyboard for Android</title><link>https://mnaoumov.dev/posts/2012-09-21-swype---amazing-keyboard-for-android/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-21-swype---amazing-keyboard-for-android/</guid><description>Brief recommendation of the Swype swipe-based keyboard app for Android for faster typing.</description><pubDate>Fri, 21 Sep 2012 07:00:00 GMT</pubDate></item><item><title>Guide how to easy screw up your git repository</title><link>https://mnaoumov.dev/posts/2012-09-20-guide-how-to-easy-screw-up-your-git-repository/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-20-guide-how-to-easy-screw-up-your-git-repository/</guid><description>A real incident where a wrong-branch git reset --hard corrupted a release branch, with recovery steps for the team.</description><pubDate>Thu, 20 Sep 2012 07:00:00 GMT</pubDate></item><item><title>PowerShell + XAML =&gt; GUI</title><link>https://mnaoumov.dev/posts/2012-09-20-powershell--xaml-_-gui/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-20-powershell--xaml-_-gui/</guid><description>How to build a WPF GUI window in PowerShell using XAML, with a note on the STA threading requirement for PowerShell 2.</description><pubDate>Thu, 20 Sep 2012 07:00:00 GMT</pubDate></item><item><title>PowerShell Get-Content vs _System.IO.File___ReadAllText</title><link>https://mnaoumov.dev/posts/2012-09-20-powershell-get-content-vs-_systemiofile___readalltext/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-20-powershell-get-content-vs-_systemiofile___readalltext/</guid><description>Difference between Get-Content (returns array of lines) and ReadAllText (returns full string), with alternatives for both PowerShell versions.</description><pubDate>Thu, 20 Sep 2012 07:00:00 GMT</pubDate></item><item><title>WTF Exception.ToString() and FaultException</title><link>https://mnaoumov.dev/posts/2012-09-20-wtf-exceptiontostring-and-faultexception/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-20-wtf-exceptiontostring-and-faultexception/</guid><description>FaultException inner details are silently dropped by Exception.ToString(); an extension method restores the full fault message.</description><pubDate>Thu, 20 Sep 2012 07:00:00 GMT</pubDate></item><item><title>PowerShell Sort-Object and Hashtables</title><link>https://mnaoumov.dev/posts/2012-09-18-powershell-sort-object-and-hashtables/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-18-powershell-sort-object-and-hashtables/</guid><description>Explains why Sort-Object -Property fails on PowerShell hashtables and how to sort them correctly using a script block.</description><pubDate>Tue, 18 Sep 2012 07:00:00 GMT</pubDate></item><item><title>posh-git _ WARNING_ Could not find ssh-agent</title><link>https://mnaoumov.dev/posts/2012-09-18-posh-git-_-warning_-could-not-find-ssh-agent/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-18-posh-git-_-warning_-could-not-find-ssh-agent/</guid><description>How to suppress the posh-git ssh-agent warning by commenting out Start-SshAgent in the profile script.</description><pubDate>Tue, 18 Sep 2012 07:00:00 GMT</pubDate></item><item><title>Copy PowerShell command into clipboard</title><link>https://mnaoumov.dev/posts/2012-09-17-copy-powershell-command-into-clipboard/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-17-copy-powershell-command-into-clipboard/</guid><description>One-liner to copy the last executed PowerShell command to the clipboard using Get-History and clip.</description><pubDate>Mon, 17 Sep 2012 07:00:00 GMT</pubDate></item><item><title>Dropbox and Symbolic Links</title><link>https://mnaoumov.dev/posts/2012-09-16-dropbox-and-symbolic-links/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-16-dropbox-and-symbolic-links/</guid><description>Explains how to sync arbitrary folders with Dropbox by creating symbolic links using Link Shell Extension.</description><pubDate>Sun, 16 Sep 2012 07:00:00 GMT</pubDate></item><item><title>Git Extensions from console</title><link>https://mnaoumov.dev/posts/2012-09-16-git-extensions-from-console/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-16-git-extensions-from-console/</guid><description>How to launch Git Extensions GUI from the command line on Windows by creating a custom git alias script.</description><pubDate>Sun, 16 Sep 2012 07:00:00 GMT</pubDate></item><item><title>Git and typos</title><link>https://mnaoumov.dev/posts/2012-09-16-git-and-typos/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-16-git-and-typos/</guid><description>Shows how to enable git help.autocorrect to automatically fix and run mistyped git commands.</description><pubDate>Sun, 16 Sep 2012 07:00:00 GMT</pubDate></item><item><title>PowerShell _ Git = posh-git</title><link>https://mnaoumov.dev/posts/2012-09-16-powershell-_-git--posh-git/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-16-powershell-_-git--posh-git/</guid><description>Installing and configuring posh-git for PowerShell tab completion with Git, including a fix for slow prompt performance.</description><pubDate>Sun, 16 Sep 2012 07:00:00 GMT</pubDate></item><item><title>PsGet - NuGet for PowerShell</title><link>https://mnaoumov.dev/posts/2012-09-16-psget---nuget-for-powershell/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-16-psget---nuget-for-powershell/</guid><description>Introduction to PsGet, a package manager for PowerShell modules installable with a one-liner.</description><pubDate>Sun, 16 Sep 2012 07:00:00 GMT</pubDate></item><item><title>Batch files substitutions</title><link>https://mnaoumov.dev/posts/2012-09-15-batch-files-substitutions/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-15-batch-files-substitutions/</guid><description>Reference for batch file FOR variable substitution modifiers like %~f, %~d, %~p to extract path components.</description><pubDate>Sat, 15 Sep 2012 07:00:00 GMT</pubDate></item><item><title>Use laptop as a Wi-Fi router</title><link>https://mnaoumov.dev/posts/2012-09-15-use-laptop-as-a-wi-fi-router/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-15-use-laptop-as-a-wi-fi-router/</guid><description>Guide to turning a Windows laptop into a Wi-Fi hotspot using netsh hosted network commands, with a Windows 8 driver fix.</description><pubDate>Sat, 15 Sep 2012 07:00:00 GMT</pubDate></item><item><title>PowerShell and Visual Studio tools</title><link>https://mnaoumov.dev/posts/2012-09-14-powershell-and-visual-studio-tools/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-14-powershell-and-visual-studio-tools/</guid><description>PowerShell script to import Visual Studio command prompt environment variables (vcvarsall.bat) into a PowerShell session.</description><pubDate>Fri, 14 Sep 2012 07:00:00 GMT</pubDate></item><item><title>Git _ Devart CodeCompare integration</title><link>https://mnaoumov.dev/posts/2012-09-13-git-_-devart-codecompare-integration/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-13-git-_-devart-codecompare-integration/</guid><description>Configuration for using Devart CodeCompare as the diff and merge tool for Git via .gitconfig entries.</description><pubDate>Thu, 13 Sep 2012 07:00:00 GMT</pubDate></item><item><title>Repeat Debugger.Launch() in PowerShell</title><link>https://mnaoumov.dev/posts/2012-09-11-repeat-debuggerlaunch-in-powershell/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-11-repeat-debuggerlaunch-in-powershell/</guid><description>Shows how to set a named breakpoint in PowerShell profile using Set-PSBreakPoint so scripts can trigger the debugger inline.</description><pubDate>Tue, 11 Sep 2012 07:00:00 GMT</pubDate></item><item><title>Firebug Lite 1.4 fails in IE7</title><link>https://mnaoumov.dev/posts/2012-09-05-firebug-lite-14-fails-in-ie7/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-09-05-firebug-lite-14-fails-in-ie7/</guid><description>Describes a critical bug in Firebug Lite 1.4 on IE7 and provides a bookmarklet to use the stable 1.3 version instead.</description><pubDate>Wed, 05 Sep 2012 07:00:00 GMT</pubDate></item><item><title>How to add script to PowerShell &apos;startup&apos;_</title><link>https://mnaoumov.dev/posts/2012-08-29-how-to-add-script-to-powershell-startup_/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-08-29-how-to-add-script-to-powershell-startup_/</guid><description>Explains how to use a PowerShell profile script to automatically run commands on every PowerShell session start.</description><pubDate>Wed, 29 Aug 2012 07:00:00 GMT</pubDate></item><item><title>IE6 testing</title><link>https://mnaoumov.dev/posts/2012-08-29-ie6-testing/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-08-29-ie6-testing/</guid><description>Options for testing in IE6 on modern Windows, including VirtualBox with Windows XP, IETester, DebugBar, and BrowserStack.</description><pubDate>Wed, 29 Aug 2012 07:00:00 GMT</pubDate></item><item><title>IE7 and browser resize issues</title><link>https://mnaoumov.dev/posts/2012-08-28-ie7-and-browser-resize-issues/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-08-28-ie7-and-browser-resize-issues/</guid><description>Documents IE7 positioning bugs triggered by browser resize and provides a CSS fix using position: relative on body.</description><pubDate>Tue, 28 Aug 2012 07:00:00 GMT</pubDate></item><item><title>sudo in PowerShell</title><link>https://mnaoumov.dev/posts/2012-08-28-sudo-in-powershell/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-08-28-sudo-in-powershell/</guid><description>PowerShell function and alias that elevates a process with admin rights, mimicking Unix sudo behavior.</description><pubDate>Tue, 28 Aug 2012 07:00:00 GMT</pubDate></item><item><title>MSBuild and .sln files</title><link>https://mnaoumov.dev/posts/2012-08-24-msbuild-and-sln-files/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-08-24-msbuild-and-sln-files/</guid><description>Explains how to make MSBuild emit the intermediate .metaproj file when building a .sln solution by setting msbuildemitsolution=1.</description><pubDate>Fri, 24 Aug 2012 07:00:00 GMT</pubDate></item><item><title>Debug minified_obfuscated javascript</title><link>https://mnaoumov.dev/posts/2012-08-22-debug-minified_obfuscated-javascript/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-08-22-debug-minified_obfuscated-javascript/</guid><description>Shows how to pretty-print and debug minified or obfuscated JavaScript in IE9+, Chrome 13+, and Firefox using built-in or plugin tools.</description><pubDate>Wed, 22 Aug 2012 07:00:00 GMT</pubDate></item><item><title>where.exe</title><link>https://mnaoumov.dev/posts/2012-08-21-whereexe/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-08-21-whereexe/</guid><description>Demonstrates using where.exe to find the full filesystem path of an executable resolved from PATH.</description><pubDate>Tue, 21 Aug 2012 07:00:00 GMT</pubDate></item><item><title>Execute PowerShell command from batch file</title><link>https://mnaoumov.dev/posts/2012-08-19-execute-powershell-command-from-batch-file/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-08-19-execute-powershell-command-from-batch-file/</guid><description>Shows the syntax for running a PowerShell command from a .cmd batch file, including how to escape quotes.</description><pubDate>Sun, 19 Aug 2012 07:00:00 GMT</pubDate></item><item><title>FireBug DOM inspection</title><link>https://mnaoumov.dev/posts/2012-08-01-firebug-dom-inspection/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-08-01-firebug-dom-inspection/</guid><description>Highlights Firebug&apos;s $0 and $1 command-line variables for referencing recently inspected DOM elements.</description><pubDate>Wed, 01 Aug 2012 07:00:00 GMT</pubDate></item><item><title>PowerShell Add directory to Environment PATH variable</title><link>https://mnaoumov.dev/posts/2012-07-23-powershell-add-directory-to-environment-path-variable/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-07-23-powershell-add-directory-to-environment-path-variable/</guid><description>PowerShell script to append a directory to the system PATH and broadcast the change to running processes without rebooting.</description><pubDate>Mon, 23 Jul 2012 07:00:00 GMT</pubDate></item><item><title>mnaoumov.NET now on WordPress!</title><link>https://mnaoumov.dev/posts/2012-07-19-mnaoumovnet-now-on-wordpress/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-07-19-mnaoumovnet-now-on-wordpress/</guid><description>Announcement post about migrating the blog from Blogspot to WordPress.</description><pubDate>Fri, 20 Jul 2012 00:07:00 GMT</pubDate></item><item><title>How to take screenshots from your Android devices</title><link>https://mnaoumov.dev/posts/2012-06-21-how-to-take-screenshots-from-your-android-devices/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-06-21-how-to-take-screenshots-from-your-android-devices/</guid><description>Explains how to take a screenshot on Android 4 ICS by pressing Power and Volume Down simultaneously.</description><pubDate>Thu, 21 Jun 2012 23:57:00 GMT</pubDate></item><item><title>The proper way to use Syntax Highlighter with Blogger</title><link>https://mnaoumov.dev/posts/2012-06-20-the-proper-way-to-use-syntax-highlighter-with-blogger/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-06-20-the-proper-way-to-use-syntax-highlighter-with-blogger/</guid><description>Step-by-step guide to integrating SyntaxHighlighter 3 with Blogger using jQuery autoLoader to support all languages.</description><pubDate>Wed, 20 Jun 2012 07:20:00 GMT</pubDate></item><item><title>About me</title><link>https://mnaoumov.dev/posts/2012-06-20-about-me/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-06-20-about-me/</guid><description>Author introduction: Michael Naumov, Senior .NET Developer at Readify, Australia, working with .NET, PowerShell, and JavaScript.</description><pubDate>Wed, 20 Jun 2012 07:00:00 GMT</pubDate></item><item><title>How to check current PowerShell version</title><link>https://mnaoumov.dev/posts/2012-06-19-how-to-check-current-powershell-version/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-06-19-how-to-check-current-powershell-version/</guid><description>Shows how to check the current PowerShell version using the $Host.Version variable.</description><pubDate>Wed, 20 Jun 2012 04:18:00 GMT</pubDate></item><item><title>Debugger.Launch() analogue for PowerShell</title><link>https://mnaoumov.dev/posts/2012-05-22-debuggerlaunch-analogue-for-powershell/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2012-05-22-debuggerlaunch-analogue-for-powershell/</guid><description>Links to an article about invoking the PowerShell debugger programmatically, analogous to Debugger.Launch() in .NET.</description><pubDate>Wed, 23 May 2012 05:55:00 GMT</pubDate></item><item><title>Nullable types, lifted operators and ReSharper</title><link>https://mnaoumov.dev/posts/2011-12-20-nullable-types-lifted-operators-and-resharper/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2011-12-20-nullable-types-lifted-operators-and-resharper/</guid><description>Explains C# lifted operators with nullable types and a ReSharper false-positive bug when assigning nullable int to a class with implicit operator.</description><pubDate>Tue, 20 Dec 2011 20:35:00 GMT</pubDate></item><item><title>Test SyntaxHighlight</title><link>https://mnaoumov.dev/posts/2011-12-20-test-syntaxhighlight/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2011-12-20-test-syntaxhighlight/</guid><description>Test post confirming SyntaxHighlighter integration works on Blogger with a C# code sample.</description><pubDate>Tue, 20 Dec 2011 20:05:00 GMT</pubDate></item><item><title>BugAid - cool plugin for VisualStudio</title><link>https://mnaoumov.dev/posts/2011-11-30-bugaid---cool-plugin-for-visualstudio/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2011-11-30-bugaid---cool-plugin-for-visualstudio/</guid><description>Brief mention of BugAid, a Visual Studio plugin for enhanced debugging features.</description><pubDate>Thu, 01 Dec 2011 03:03:00 GMT</pubDate></item><item><title>Firefox и картинки в ссылках</title><link>https://mnaoumov.dev/posts/2011-05-30-firefox-%D0%B8-%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B8-%D0%B2-%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0%D1%85/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2011-05-30-firefox-%D0%B8-%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B8-%D0%B2-%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0%D1%85/</guid><description>Firefox unexpectedly underlines images inside anchor tags on hover; CSS workaround using div wrapper and text-decoration overrides.</description><pubDate>Tue, 31 May 2011 04:38:00 GMT</pubDate></item><item><title>Поисковая система для иконок</title><link>https://mnaoumov.dev/posts/2011-05-30-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%BE%D0%B2%D0%B0%D1%8F-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D0%B4%D0%BB%D1%8F-%D0%B8%D0%BA%D0%BE%D0%BD%D0%BE%D0%BA/</link><guid isPermaLink="true">https://mnaoumov.dev/posts/2011-05-30-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%BE%D0%B2%D0%B0%D1%8F-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D0%B4%D0%BB%D1%8F-%D0%B8%D0%BA%D0%BE%D0%BD%D0%BE%D0%BA/</guid><description>Introduces findicons.com, a search service for finding icons by topic and tags.</description><pubDate>Tue, 31 May 2011 01:49:00 GMT</pubDate></item></channel></rss>