BryanWilhite / Blog

My source files for my technical Blog entries—an 11ty-based fire hose 🚒 for a static web site
http://songhayblog.azurewebsites.net/
3 stars 0 forks source link

migrate existing entries (in AzStorage) to `presentation/` image #13

Closed BryanWilhite closed 4 years ago

BryanWilhite commented 4 years ago

image

BryanWilhite commented 4 years ago
----- Test Execution Summary -----

Songhay.Publications.Tests.LegacyMigrationTests.ShouldMigrateLegacyFromAzS:
    Outcome: Passed
    Standard Output Messages:
    10-awesome-features-of-visual-studio-code-and-other-tweeted-links.json
writing `10-awesome-features-of-visual-studio-code-and-other-tweeted-links`...
14-flat-design-packs-for-your-next-project-and-other-tweeted-links.json
writing `14-flat-design-packs-for-your-next-project-and-other-tweeted-links`...
2016-testing-angular-2-and-other-tweeted-links.json
writing `2016-testing-angular-2-and-other-tweeted-links`...
5-reasons-why-the-windows-tablet-is-coming-to-a-microsoft-store-near-you-and-other-tweeted-links.json
writing `5-reasons-why-the-windows-tablet-is-coming-to-a-microsoft-store-near-you-and-other-tweeted-links`...
6-0-features-part-i-property-initializers-and-other-tweeted-links.json
writing `6-0-features-part-i-property-initializers-and-other-tweeted-links`...
a-2015-meeting-with-jpl-when-i-started-using-linq-in-interviews.json
writing `a-2015-meeting-with-jpl-when-i-started-using-linq-in-interviews`...
a-collection-of-some-of-the-best-data-visualisation-related-content-discovered-during-march-2018-and-other-tweeted-links.json
writing `a-collection-of-some-of-the-best-data-visualisation-related-content-discovered-during-march-2018-and-other-tweeted-links`...
a-complete-guide-to-svg-fallbacks-and-other-tweeted-links.json
writing `a-complete-guide-to-svg-fallbacks-and-other-tweeted-links`...
a-detailed-introduction-to-functional-reactive-programming-frp-and-other-tweeted-links.json
writing `a-detailed-introduction-to-functional-reactive-programming-frp-and-other-tweeted-links`...
a-friendly-introduction-to-machine-learning-and-other-tweeted-links.json
writing `a-friendly-introduction-to-machine-learning-and-other-tweeted-links`...
a-little-bit-about-basic-synchronization.json
writing `a-little-bit-about-basic-synchronization`...
a-modern-day-front-end-development-stack-and-other-tweeted-links.json
writing `a-modern-day-front-end-development-stack-and-other-tweeted-links`...
a-new-look-at-the-songhay-system-cores.json
writing `a-new-look-at-the-songhay-system-cores`...
a-nice-for-reference-just-to-know-what-all-those-m-l-c-and-a-commands-stand-for-in-svg-path-strings-and-other-tweeted-links.json
writing `a-nice-for-reference-just-to-know-what-all-those-m-l-c-and-a-commands-stand-for-in-svg-path-strings-and-other-tweeted-links`...
a-problem-google-has-created-for-itself-and-other-tweeted-links.json
writing `a-problem-google-has-created-for-itself-and-other-tweeted-links`...
a-selection-of-progressive-web-apps-and-other-tweeted-links.json
writing `a-selection-of-progressive-web-apps-and-other-tweeted-links`...
all-you-need-to-know-about-redis-and-other-tweeted-links.json
writing `all-you-need-to-know-about-redis-and-other-tweeted-links`...
an-intro-to-web-hooks-and-other-tweeted-links.json
writing `an-intro-to-web-hooks-and-other-tweeted-links`...
an-introduction-to-documentdb-programming-stored-procedures-triggers-and-udfs-and-other-tweeted-links.json
writing `an-introduction-to-documentdb-programming-stored-procedures-triggers-and-udfs-and-other-tweeted-links`...
an-introduction-to-the-fr-css-unit-and-other-tweeted-links.json
writing `an-introduction-to-the-fr-css-unit-and-other-tweeted-links`...
analyzing-the-hamburger-menu-in-web-design-and-other-tweeted-links.json
writing `analyzing-the-hamburger-menu-in-web-design-and-other-tweeted-links`...
andy-farnell-designing-sound-procedural-computational-audio-lecture-part-1-and-other-tweeted-links.json
writing `andy-farnell-designing-sound-procedural-computational-audio-lecture-part-1-and-other-tweeted-links`...
angular-1-x-2014-how-i-ve-improved-my-angular-apps-by-banning-ng-controller-and-other-tweeted-links.json
writing `angular-1-x-2014-how-i-ve-improved-my-angular-apps-by-banning-ng-controller-and-other-tweeted-links`...
angular-2-and-asp-net-core-a-webcast-and-other-tweeted-links.json
writing `angular-2-and-asp-net-core-a-webcast-and-other-tweeted-links`...
angular-2-for-angular-1-developers-meligy-and-other-tweeted-links.json
writing `angular-2-for-angular-1-developers-meligy-and-other-tweeted-links`...
angular-2-war-stories-and-other-tweeted-links.json
writing `angular-2-war-stories-and-other-tweeted-links`...
angular-5-is-out-and-other-tweeted-links.json
writing `angular-5-is-out-and-other-tweeted-links`...
angular-js-1-x-code-penning-my-way-to-a-new-blog-layout.json
writing `angular-js-1-x-code-penning-my-way-to-a-new-blog-layout`...
angular-js-1-x-grouping-and-sorting-json-driven-sets-with-underscore-js.json
writing `angular-js-1-x-grouping-and-sorting-json-driven-sets-with-underscore-js`...
EXCEPTION: 'this.contentDocument.body.scroll' is an unexpected token. Expecting whitespace. Line 36, position 33.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 33
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_2.<ShouldMigrateLegacyFromAzS>b__3(MarkdownEntry e) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 196
   at Songhay.Publications.Extensions.MarkdownEntryExtensions.WithEdit(MarkdownEntry entry, Action`1 editAction)
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_0.<ShouldMigrateLegacyFromAzS>b__1(FileInfo i) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 194
angular-js-and-checkbox-array-support.json
writing `angular-js-and-checkbox-array-support`...
angular-material-1-0-now-available-and-other-tweeted-links.json
writing `angular-material-1-0-now-available-and-other-tweeted-links`...
angular-testing-quick-start-and-other-tweeted-links.json
writing `angular-testing-quick-start-and-other-tweeted-links`...
angularjs-directive-for-syntax-highlighting-with-highlight-js-and-other-tweeted-links.json
writing `angularjs-directive-for-syntax-highlighting-with-highlight-js-and-other-tweeted-links`...
angularjs-extending-existing-services-using-decorator-and-other-tweeted-links.json
writing `angularjs-extending-existing-services-using-decorator-and-other-tweeted-links`...
angularjs-views-vs-directives-and-other-tweeted-links.json
writing `angularjs-views-vs-directives-and-other-tweeted-links`...
anime-js-polyvalent-javascript-animation-engine-and-other-tweeted-links.json
writing `anime-js-polyvalent-javascript-animation-engine-and-other-tweeted-links`...
announcing-azure-storage-data-movement-library-0-2-0-and-other-tweeted-links.json
writing `announcing-azure-storage-data-movement-library-0-2-0-and-other-tweeted-links`...
announcing-the-asp-net-webhooks-visual-studio-extension-preview-and-other-tweeted-links.json
writing `announcing-the-asp-net-webhooks-visual-studio-extension-preview-and-other-tweeted-links`...
announcing-typescript-2-8-rc-and-other-tweeted-links.json
writing `announcing-typescript-2-8-rc-and-other-tweeted-links`...
announcing-we-just-open-sourced-chakracore-at-github-and-other-tweeted-links.json
writing `announcing-we-just-open-sourced-chakracore-at-github-and-other-tweeted-links`...
another-slather-of-hardware-to-supposedly-make-my-life-better.json
writing `another-slather-of-hardware-to-supposedly-make-my-life-better`...
answer-how-to-use-iframe-in-angularjs-and-other-tweeted-links.json
writing `answer-how-to-use-iframe-in-angularjs-and-other-tweeted-links`...
apple-s-refusal-to-support-progressive-web-apps-is-a-detriment-to-future-of-the-web-and-other-tweeted-links.json
writing `apple-s-refusal-to-support-progressive-web-apps-is-a-detriment-to-future-of-the-web-and-other-tweeted-links`...
ashish-singh-complete-angular2-guide-reactive-forms-in-depth-part-1-and-other-tweeted-links.json
writing `ashish-singh-complete-angular2-guide-reactive-forms-in-depth-part-1-and-other-tweeted-links`...
asp-net-core-angular-client-app-q2-2018.json
writing `asp-net-core-angular-client-app-q2-2018`...
asp-net-web-api-logging-with-textwritertracelistener.json
writing `asp-net-web-api-logging-with-textwritertracelistener`...
asp-net-web-api-ready-state-4-2017.json
writing `asp-net-web-api-ready-state-4-2017`...
aspnet-blog-engines-and-squarespace.json
writing `aspnet-blog-engines-and-squarespace`...
aurelia-and-angular-2-0-code-side-by-side-and-other-tweeted-links.json
writing `aurelia-and-angular-2-0-code-side-by-side-and-other-tweeted-links`...
aurelia-logging-a-minimal-but-effective-logging-mechanism-and-other-tweeted-links.json
writing `aurelia-logging-a-minimal-but-effective-logging-mechanism-and-other-tweeted-links`...
aurelia-q-amp-a-and-other-tweeted-links.json
writing `aurelia-q-amp-a-and-other-tweeted-links`...
azure-container-service-is-now-generally-available-and-other-tweeted-links.json
writing `azure-container-service-is-now-generally-available-and-other-tweeted-links`...
azure-powershell-101-managing-azure-storage-from-the-command-line-shanselman-and-other-tweeted-links.json
writing `azure-powershell-101-managing-azure-storage-from-the-command-line-shanselman-and-other-tweeted-links`...
azure-search-best-practices-for-web-and-mobile-applications-and-other-tweeted-links.json
writing `azure-search-best-practices-for-web-and-mobile-applications-and-other-tweeted-links`...
behind-the-illusions-impossibly-high-performance-layout-animations-and-other-tweeted-links.json
writing `behind-the-illusions-impossibly-high-performance-layout-animations-and-other-tweeted-links`...
better-responsive-images-with-the-picture-element-and-other-tweeted-links.json
writing `better-responsive-images-with-the-picture-element-and-other-tweeted-links`...
bill-flora-and-erik-rath-the-microsoft-design-language.json
writing `bill-flora-and-erik-rath-the-microsoft-design-language`...
blackmagic-s-powerful-and-free-compositing-software-is-coming-to-mac-very-soon-and-other-tweeted-links.json
writing `blackmagic-s-powerful-and-free-compositing-software-is-coming-to-mac-very-soon-and-other-tweeted-links`...
bootstrap-4-alpha-and-other-tweeted-links.json
writing `bootstrap-4-alpha-and-other-tweeted-links`...
bryan-wilhite-service-oriented-user-interface-consultant.json
writing `bryan-wilhite-service-oriented-user-interface-consultant`...
build-a-digital-book-with-epub-and-other-tweeted-links.json
writing `build-a-digital-book-with-epub-and-other-tweeted-links`...
building-a-simple-url-shorten-service-with-redis-and-other-tweeted-links.json
writing `building-a-simple-url-shorten-service-with-redis-and-other-tweeted-links`...
building-an-asp-net-core-website-with-xamarin-forms-xaml-and-ooui-and-other-tweeted-links.json
writing `building-an-asp-net-core-website-with-xamarin-forms-xaml-and-ooui-and-other-tweeted-links`...
building-fluid-interfaces-and-other-tweeted-links.json
writing `building-fluid-interfaces-and-other-tweeted-links`...
chen-hui-jing-explains-how-she-plans-the-setup-for-a-css-grid-layout-and-other-tweeted-links.json
writing `chen-hui-jing-explains-how-she-plans-the-setup-for-a-css-grid-layout-and-other-tweeted-links`...
chocolatey-gui-is-the-way-to-go.json
writing `chocolatey-gui-is-the-way-to-go`...
colors-a-data-driven-collection-of-beautiful-color-palettes-and-other-tweeted-links.json
writing `colors-a-data-driven-collection-of-beautiful-color-palettes-and-other-tweeted-links`...
comparing-bootstrap-with-google-s-new-material-design-lite-and-other-tweeted-links.json
writing `comparing-bootstrap-with-google-s-new-material-design-lite-and-other-tweeted-links`...
complete-control-and-domination-over-my-ubuntu-bash-shell-history.json
writing `complete-control-and-domination-over-my-ubuntu-bash-shell-history`...
composite-uis-for-microservices-and-other-tweeted-links.json
writing `composite-uis-for-microservices-and-other-tweeted-links`...
composite-uis-for-microservices-server-composition-and-other-tweeted-links.json
writing `composite-uis-for-microservices-server-composition-and-other-tweeted-links`...
connecting-to-my-ubuntu-vm-on-azure.json
writing `connecting-to-my-ubuntu-vm-on-azure`...
cors-for-a-dummy.json
writing `cors-for-a-dummy`...
creating-custom-tag-helper-components-with-jass-bagga-and-other-tweeted-links.json
writing `creating-custom-tag-helper-components-with-jass-bagga-and-other-tweeted-links`...
css-grid-gotchas-and-stumbling-blocks-and-other-tweeted-links.json
writing `css-grid-gotchas-and-stumbling-blocks-and-other-tweeted-links`...
css-instead-of-svg-creating-animating-and-morphing-shapes-and-other-tweeted-links.json
writing `css-instead-of-svg-creating-animating-and-morphing-shapes-and-other-tweeted-links`...
css-supports-css-feature-queries-rachelandrew-and-other-tweeted-links.json
writing `css-supports-css-feature-queries-rachelandrew-and-other-tweeted-links`...
customizing-xaml-buttons-prepare-to-repeat-yourself.json
writing `customizing-xaml-buttons-prepare-to-repeat-yourself`...
dapper-entity-framework-and-hybrid-apps-and-other-tweeted-links.json
writing `dapper-entity-framework-and-hybrid-apps-and-other-tweeted-links`...
dar-backing-up-my-blog-blob-storage.json
writing `dar-backing-up-my-blog-blob-storage`...
dark-patterns-user-interfaces-designed-to-trick-people-and-other-tweeted-links.json
writing `dark-patterns-user-interfaces-designed-to-trick-people-and-other-tweeted-links`...
darkpatterns-org-offers-plenty-of-examples-of-deliberately-confusing-or-deceptive-user-interfaces-and-other-tweeted-links.json
writing `darkpatterns-org-offers-plenty-of-examples-of-deliberately-confusing-or-deceptive-user-interfaces-and-other-tweeted-links`...
data-pagination-with-webapi-and-angularjs-and-other-tweeted-links.json
writing `data-pagination-with-webapi-and-angularjs-and-other-tweeted-links`...
ddd-again-beyond-data-transfer-objects-and-extension-methods.json
writing `ddd-again-beyond-data-transfer-objects-and-extension-methods`...
debugging-react-native-with-typescript-and-visual-studio-code-and-other-tweeted-links.json
writing `debugging-react-native-with-typescript-and-visual-studio-code-and-other-tweeted-links`...
delicious-dump-azure-blob-storage-links.json
writing `delicious-dump-azure-blob-storage-links`...
delicious-dump-old-silverlight-links.json
writing `delicious-dump-old-silverlight-links`...
deploying-azure-functions-with-kudu-and-powershell-and-other-tweeted-links.json
writing `deploying-azure-functions-with-kudu-and-powershell-and-other-tweeted-links`...
design-diary-my-small-angular-js-1-x-patterns.json
writing `design-diary-my-small-angular-js-1-x-patterns`...
EXCEPTION: 'this.contentDocument.body.scrollHeight' is an unexpected token. Expecting whitespace. Line 4, position 33.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 33
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_2.<ShouldMigrateLegacyFromAzS>b__3(MarkdownEntry e) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 196
   at Songhay.Publications.Extensions.MarkdownEntryExtensions.WithEdit(MarkdownEntry entry, Action`1 editAction)
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_0.<ShouldMigrateLegacyFromAzS>b__1(FileInfo i) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 194
design-notes-xhtml5-responsive-gallery.json
writing `design-notes-xhtml5-responsive-gallery`...
designing-a-usable-dashboard-and-other-tweeted-links.json
writing `designing-a-usable-dashboard-and-other-tweeted-links`...
designing-motion-smart-transitions-in-ui-design-and-other-tweeted-links.json
writing `designing-motion-smart-transitions-in-ui-design-and-other-tweeted-links`...
does-css-grid-replace-flexbox-and-other-tweeted-links.json
writing `does-css-grid-replace-flexbox-and-other-tweeted-links`...
douglas-crockford-envisions-a-post-javascript-world-and-other-tweeted-links.json
writing `douglas-crockford-envisions-a-post-javascript-world-and-other-tweeted-links`...
downplaying-empty-states-in-design-and-other-tweeted-links.json
writing `downplaying-empty-states-in-design-and-other-tweeted-links`...
dynamic-nested-reactive-forms-in-angular-and-other-tweeted-links.json
writing `dynamic-nested-reactive-forms-in-angular-and-other-tweeted-links`...
eagle-js-a-hackable-slideshow-framework-built-with-vue-js-and-other-tweeted-links.json
writing `eagle-js-a-hackable-slideshow-framework-built-with-vue-js-and-other-tweeted-links`...
ecmascript-2015-has-been-approved-and-other-tweeted-links.json
writing `ecmascript-2015-has-been-approved-and-other-tweeted-links`...
ecmascript-2017-the-final-feature-set-and-other-tweeted-links.json
writing `ecmascript-2017-the-final-feature-set-and-other-tweeted-links`...
embedding-code-pen-and-github-content-in-an-angular-template.json
writing `embedding-code-pen-and-github-content-in-an-angular-template`...
entity-framework-and-json-net.json
writing `entity-framework-and-json-net`...
epubcheck-on-linux-and-other-tweeted-links.json
writing `epubcheck-on-linux-and-other-tweeted-links`...
es2018-was-just-approved-and-other-tweeted-links.json
writing `es2018-was-just-approved-and-other-tweeted-links`...
every-angular-2-vs-react-article-out-there-and-other-tweeted-links.json
writing `every-angular-2-vs-react-article-out-there-and-other-tweeted-links`...
everyday-fonts-these-typefaces-always-work-and-other-tweeted-links.json
writing `everyday-fonts-these-typefaces-always-work-and-other-tweeted-links`...
everything-you-need-to-know-about-change-detection-in-angular-and-other-tweeted-links.json
writing `everything-you-need-to-know-about-change-detection-in-angular-and-other-tweeted-links`...
expression-and-implicit-animations-can-now-be-applied-directly-in-xaml-and-other-tweeted-links.json
writing `expression-and-implicit-animations-can-now-be-applied-directly-in-xaml-and-other-tweeted-links`...
fayde-inspired-by-silverlight-xaml-engine-using-javascript-and-rendering-to-the-html5-canvas-and-other-tweeted-links.json
writing `fayde-inspired-by-silverlight-xaml-engine-using-javascript-and-rendering-to-the-html5-canvas-and-other-tweeted-links`...
finally-we-have-a-legitimate-opensource-replacement-for-flash-and-other-tweeted-links.json
writing `finally-we-have-a-legitimate-opensource-replacement-for-flash-and-other-tweeted-links`...
first-encounter-with-scriptcs-scriptcsnet.json
writing `first-encounter-with-scriptcs-scriptcsnet`...
flexbox-the-animated-tutorial-and-other-tweeted-links.json
writing `flexbox-the-animated-tutorial-and-other-tweeted-links`...
flippant-remarks-about-behaviorsubject.json
writing `flippant-remarks-about-behaviorsubject`...
flippant-remarks-about-dgml-and-visual-studio-code-visualization.json
writing `flippant-remarks-about-dgml-and-visual-studio-code-visualization`...
flippant-remarks-about-karma-jasmine-in-angular.json
writing `flippant-remarks-about-karma-jasmine-in-angular`...
for-windows-10-i-have-a-bunch-of-free-as-in-baby-ubuntu-bash-shells-to-maintain.json
writing `for-windows-10-i-have-a-bunch-of-free-as-in-baby-ubuntu-bash-shells-to-maintain`...
free-database-of-the-entire-web-may-spawn-the-next-google-and-other-tweeted-links.json
writing `free-database-of-the-entire-web-may-spawn-the-next-google-and-other-tweeted-links`...
general-availability-azure-search-parses-json-blobs-and-other-tweeted-links.json
writing `general-availability-azure-search-parses-json-blobs-and-other-tweeted-links`...
generating-a-junction-not-technically-a-symbolic-link-in-windows-10.json
writing `generating-a-junction-not-technically-a-symbolic-link-in-windows-10`...
gestalt-theory-for-ux-design-and-other-tweeted-links.json
writing `gestalt-theory-for-ux-design-and-other-tweeted-links`...
get-started-with-angular-grid-in-5-minutes-and-other-tweeted-links.json
writing `get-started-with-angular-grid-in-5-minutes-and-other-tweeted-links`...
get-started-with-azure-search-in-the-portal-and-other-tweeted-links.json
writing `get-started-with-azure-search-in-the-portal-and-other-tweeted-links`...
get-the-tech-back-in-tech-and-other-tweeted-links.json
writing `get-the-tech-back-in-tech-and-other-tweeted-links`...
getting-started-with-asp-net-core-and-entity-framework-6-and-other-tweeted-links.json
writing `getting-started-with-asp-net-core-and-entity-framework-6-and-other-tweeted-links`...
getting-started-with-aurelia-cli-and-boostrap-and-other-tweeted-links.json
writing `getting-started-with-aurelia-cli-and-boostrap-and-other-tweeted-links`...
getting-started-with-ecmascript-6-and-other-tweeted-links.json
writing `getting-started-with-ecmascript-6-and-other-tweeted-links`...
getting-started-with-grunt-sass-and-task-runner-explorer-and-other-tweeted-links.json
writing `getting-started-with-grunt-sass-and-task-runner-explorer-and-other-tweeted-links`...
getting-started-with-net-on-linux-and-other-mostly-owin-or-web-api-tweeted-links.json
writing `getting-started-with-net-on-linux-and-other-mostly-owin-or-web-api-tweeted-links`...
getting-started-with-shader-effects-in-wpf-and-other-links.json
writing `getting-started-with-shader-effects-in-wpf-and-other-links`...
getting-started-with-vue-js-in-net-core-using-visual-studio-and-other-tweeted-links.json
writing `getting-started-with-vue-js-in-net-core-using-visual-studio-and-other-tweeted-links`...
getting-to-know-the-angular-cdk-drag-and-drop-feature-and-other-tweeted-links.json
writing `getting-to-know-the-angular-cdk-drag-and-drop-feature-and-other-tweeted-links`...
glide-js-a-dependency-free-es6-slider-and-carousel-and-other-tweeted-links.json
writing `glide-js-a-dependency-free-es6-slider-and-carousel-and-other-tweeted-links`...
going-mobile-with-react-native-and-other-tweeted-links.json
writing `going-mobile-with-react-native-and-other-tweeted-links`...
google-interview-cumsum-challenge.json
writing `google-interview-cumsum-challenge`...
greg-young-on-ddd-and-other-tweeted-links.json
writing `greg-young-on-ddd-and-other-tweeted-links`...
here-is-why-you-will-not-find-components-inside-angular-and-other-tweeted-links.json
writing `here-is-why-you-will-not-find-components-inside-angular-and-other-tweeted-links`...
here-s-all-of-the-specifics-about-the-windows-10-devices-event-on-october-6th-and-other-tweeted-links.json
writing `here-s-all-of-the-specifics-about-the-windows-10-devices-event-on-october-6th-and-other-tweeted-links`...
here-s-how-microsoft-will-support-bash-on-windows-10-and-other-tweeted-links.json
writing `here-s-how-microsoft-will-support-bash-on-windows-10-and-other-tweeted-links`...
hexi-flexi-a-css-grid-powered-scss-component-that-creates-a-hexagonal-lattice-and-other-tweeted-links.json
writing `hexi-flexi-a-css-grid-powered-scss-component-that-creates-a-hexagonal-lattice-and-other-tweeted-links`...
hiring-want-to-join-our-mono-coreclr-android-ios-team-and-other-tweeted-links.json
writing `hiring-want-to-join-our-mono-coreclr-android-ios-team-and-other-tweeted-links`...
how-do-you-manually-set-powershell-s-oneget-repository-source-to-chocolatey-and-other-tweeted-links.json
writing `how-do-you-manually-set-powershell-s-oneget-repository-source-to-chocolatey-and-other-tweeted-links`...
how-to-correctly-use-bootstrapjs-and-angularjs-together-and-other-tweeted-links.json
writing `how-to-correctly-use-bootstrapjs-and-angularjs-together-and-other-tweeted-links`...
how-to-create-katana-middleware-and-other-tweeted-links.json
writing `how-to-create-katana-middleware-and-other-tweeted-links`...
how-to-easily-create-modern-material-design-cards-with-html-and-css-and-other-tweeted-links.json
writing `how-to-easily-create-modern-material-design-cards-with-html-and-css-and-other-tweeted-links`...
how-to-improve-your-site-s-ux-and-other-tweeted-links.json
writing `how-to-improve-your-site-s-ux-and-other-tweeted-links`...
how-to-make-responsiveness-super-simple-with-css-variables-and-other-tweeted-links.json
writing `how-to-make-responsiveness-super-simple-with-css-variables-and-other-tweeted-links`...
how-to-make-the-switch-from-graphic-design-to-ux-ui-design-and-other-tweeted-links.json
writing `how-to-make-the-switch-from-graphic-design-to-ux-ui-design-and-other-tweeted-links`...
how-to-recreate-medium-s-article-layout-with-css-grid-and-other-tweeted-links.json
writing `how-to-recreate-medium-s-article-layout-with-css-grid-and-other-tweeted-links`...
how-to-use-odata-client-code-generator-to-generate-client-side-proxy-class-and-other-tweeted-links.json
writing `how-to-use-odata-client-code-generator-to-generate-client-side-proxy-class-and-other-tweeted-links`...
how-to-use-responsive-images-and-other-tweeted-links.json
writing `how-to-use-responsive-images-and-other-tweeted-links`...
huge-number-of-announcement-this-morning-at-build-and-other-tweeted-links.json
writing `huge-number-of-announcement-this-morning-at-build-and-other-tweeted-links`...
i-finally-finally-finally-converted-my-blog-to-angular-modern.json
writing `i-finally-finally-finally-converted-my-blog-to-angular-modern`...
i-just-published-implementing-search-in-graphql-and-other-tweeted-links.json
writing `i-just-published-implementing-search-in-graphql-and-other-tweeted-links`...
i-just-published-rxjs-avoiding-takeuntil-leaks-and-other-tweeted-links.json
writing `i-just-published-rxjs-avoiding-takeuntil-leaks-and-other-tweeted-links`...
i-prefer-not-using-multiple-iqueryable-t-join-calls-and-other-ef-notes.json
writing `i-prefer-not-using-multiple-iqueryable-t-join-calls-and-other-ef-notes`...
i-ve-moved-to-nblog-away-from-blogengine-net.json
writing `i-ve-moved-to-nblog-away-from-blogengine-net`...
i-ve-repeatedly-run-into-the-following-problem-with-bootstrap-s-modal-dialog-and-other-tweeted-links.json
writing `i-ve-repeatedly-run-into-the-following-problem-with-bootstrap-s-modal-dialog-and-other-tweeted-links`...
if-it-weren-t-for-apple-hybrid-app-development-would-be-the-winner-over-native-and-other-tweeted-links.json
writing `if-it-weren-t-for-apple-hybrid-app-development-would-be-the-winner-over-native-and-other-tweeted-links`...
if-you-re-not-already-using-modules-then-you-should-become-familiar-with-the-commonjs-format-and-other-tweeted-links.json
writing `if-you-re-not-already-using-modules-then-you-should-become-familiar-with-the-commonjs-format-and-other-tweeted-links`...
implementing-a-log-inspired-logging-service-in-angular-2-rc-4-and-other-tweeted-links.json
writing `implementing-a-log-inspired-logging-service-in-angular-2-rc-4-and-other-tweeted-links`...
implementing-an-asp-net-core-rc1-logging-provider-and-other-tweeted-links.json
writing `implementing-an-asp-net-core-rc1-logging-provider-and-other-tweeted-links`...
implementing-an-infinite-scroll-with-vue-js-and-other-tweeted-links.json
writing `implementing-an-infinite-scroll-with-vue-js-and-other-tweeted-links`...
implementing-inavigationcontentloader-with-an-abstract-class.json
writing `implementing-inavigationcontentloader-with-an-abstract-class`...
in-page-angular-js-compared-to-in-page-jquery.json
writing `in-page-angular-js-compared-to-in-page-jquery`...
in-response-to-electron-is-flash-for-the-desktop-and-other-tweeted-links.json
writing `in-response-to-electron-is-flash-for-the-desktop-and-other-tweeted-links`...
installed-choco-exe-on-the-azure-vm.json
writing `installed-choco-exe-on-the-azure-vm`...
integrate-shiny-apps-into-regular-webpages-with-responsive-iframe-resizing-and-other-tweeted-links.json
writing `integrate-shiny-apps-into-regular-webpages-with-responsive-iframe-resizing-and-other-tweeted-links`...
integrating-angularjs-amp-three-js-two-patterns-one-app-and-other-tweeted-links.json
writing `integrating-angularjs-amp-three-js-two-patterns-one-app-and-other-tweeted-links`...
inter-view-model-communication.json
writing `inter-view-model-communication`...
interactive-svg-mask-w-full-screen-image-and-other-tweeted-links.json
writing `interactive-svg-mask-w-full-screen-image-and-other-tweeted-links`...
internet-explorer-critical-security-flaw-and-other-tweeted-links.json
writing `internet-explorer-critical-security-flaw-and-other-tweeted-links`...
introducing-aurelia-in-action-and-other-tweeted-links.json
writing `introducing-aurelia-in-action-and-other-tweeted-links`...
introducing-azure-cool-blob-storage-and-other-tweeted-links.json
writing `introducing-azure-cool-blob-storage-and-other-tweeted-links`...
introducing-node-modules-and-bower-components-to-visual-studio-2013.json
writing `introducing-node-modules-and-bower-components-to-visual-studio-2013`...
introducing-npx-an-npm-package-runner-and-other-tweeted-links.json
writing `introducing-npx-an-npm-package-runner-and-other-tweeted-links`...
introducing-postman-for-windows-and-other-tweeted-links.json
writing `introducing-postman-for-windows-and-other-tweeted-links`...
introducing-visual-studio-code-and-other-tweeted-links.json
writing `introducing-visual-studio-code-and-other-tweeted-links`...
introducing-visual-studio-community-2013-and-other-tweeted-links.json
writing `introducing-visual-studio-community-2013-and-other-tweeted-links`...
introduction-material-design-google-design-guidelines-and-other-tweeted-links.json
writing `introduction-material-design-google-design-guidelines-and-other-tweeted-links`...
introduction-to-basics-of-angular-1-4-newrouter-and-other-tweeted-links.json
writing `introduction-to-basics-of-angular-1-4-newrouter-and-other-tweeted-links`...
introduction-to-claims-based-security-in-net4-5-with-c-part-1-and-other-tweeted-links.json
writing `introduction-to-claims-based-security-in-net4-5-with-c-part-1-and-other-tweeted-links`...
introduction-to-flexjs-yishay-weiss-and-other-tweeted-links.json
writing `introduction-to-flexjs-yishay-weiss-and-other-tweeted-links`...
introduction-to-prism-for-xamarin-forms-and-other-tweeted-links.json
writing `introduction-to-prism-for-xamarin-forms-and-other-tweeted-links`...
introduction-to-using-storybook-for-angular-and-other-tweeted-links.json
writing `introduction-to-using-storybook-for-angular-and-other-tweeted-links`...
is-it-possible-to-concatenate-sounds-and-other-tweeted-links.json
writing `is-it-possible-to-concatenate-sounds-and-other-tweeted-links`...
is-jquery-still-relevant-and-other-tweeted-links.json
writing `is-jquery-still-relevant-and-other-tweeted-links`...
it-s-finally-here-materialui-is-now-available-and-other-tweeted-links.json
writing `it-s-finally-here-materialui-is-now-available-and-other-tweeted-links`...
javascript-is-like-leaded-gasoline-toxic-bad-for-everyone-and-other-tweeted-links.json
writing `javascript-is-like-leaded-gasoline-toxic-bad-for-everyone-and-other-tweeted-links`...
jquery-3-0-stops-supporting-internet-explorer-workarounds-and-other-tweeted-links.json
writing `jquery-3-0-stops-supporting-internet-explorer-workarounds-and-other-tweeted-links`...
jupyter-central.json
writing `jupyter-central`...
line-of-sight-it-management-is-it-really-dead.json
writing `line-of-sight-it-management-is-it-really-dead`...
loading-net-configuration-files-as-xdocument-instances.json
writing `loading-net-configuration-files-as-xdocument-instances`...
looking-for-the-goldilocks-of-web-frameworks-and-other-tweeted-links.json
writing `looking-for-the-goldilocks-of-web-frameworks-and-other-tweeted-links`...
looking-forward-microsoft-support-for-secure-shell-ssh-and-other-tweeted-links.json
writing `looking-forward-microsoft-support-for-secure-shell-ssh-and-other-tweeted-links`...
loren-brichter-on-tweetie-2009-and-other-tweeted-links.json
writing `loren-brichter-on-tweetie-2009-and-other-tweeted-links`...
machine-learning-for-developers-and-other-tweeted-links.json
writing `machine-learning-for-developers-and-other-tweeted-links`...
mad-props-to-microsoft-for-their-pwa-push-and-other-tweeted-links.json
writing `mad-props-to-microsoft-for-their-pwa-push-and-other-tweeted-links`...
magix-sound-forge-pro-11-inherits-a-nasty-bug-from-sony.json
writing `magix-sound-forge-pro-11-inherits-a-nasty-bug-from-sony`...
managing-state-in-angular-using-akita-and-other-tweeted-links.json
writing `managing-state-in-angular-using-akita-and-other-tweeted-links`...
masonry-layout-isn-t-a-two-dimensional-grid-and-other-tweeted-links.json
writing `masonry-layout-isn-t-a-two-dimensional-grid-and-other-tweeted-links`...
material-design-in-xaml-toolkit-an-introduction-and-other-tweeted-links.json
writing `material-design-in-xaml-toolkit-an-introduction-and-other-tweeted-links`...
mathematica-and-my-calculus-work-from-1988.json
writing `mathematica-and-my-calculus-work-from-1988`...
mathematica-consulting-point-and-click-tableau-like-visuals-in-mathematica-and-other-tweeted-links.json
writing `mathematica-consulting-point-and-click-tableau-like-visuals-in-mathematica-and-other-tweeted-links`...
maybe-just-use-vanilla-javascript-and-other-tweeted-links.json
writing `maybe-just-use-vanilla-javascript-and-other-tweeted-links`...
megafunk-com-html5-gallery-design-released.json
writing `megafunk-com-html5-gallery-design-released`...
menuitemdatum-namevaluepair-and-chartdatapoints.json
writing `menuitemdatum-namevaluepair-and-chartdatapoints`...
microservices-an-application-revolution-powered-by-the-cloud-and-other-tweeted-links.json
writing `microservices-an-application-revolution-powered-by-the-cloud-and-other-tweeted-links`...
microsoft-confirms-its-new-edge-browser-won-t-support-silverlight-and-other-tweeted-links.json
writing `microsoft-confirms-its-new-edge-browser-won-t-support-silverlight-and-other-tweeted-links`...
microsoft-garage-releases-xaml-studio-and-other-tweeted-links.json
writing `microsoft-garage-releases-xaml-studio-and-other-tweeted-links`...
migration-to-ubuntu-14-04-64-bit.json
writing `migration-to-ubuntu-14-04-64-bit`...
migueldeicaza-anybody-ever-try-linq-to-mbox-with-mono-and-other-tweeted-links.json
writing `migueldeicaza-anybody-ever-try-linq-to-mbox-with-mono-and-other-tweeted-links`...
mobile-internet-comes-to-africa-in-a-big-way-and-other-tweeted-links.json
writing `mobile-internet-comes-to-africa-in-a-big-way-and-other-tweeted-links`...
most-common-mistakes-beginners-make-in-xamarin-forms-and-other-tweeted-links.json
writing `most-common-mistakes-beginners-make-in-xamarin-forms-and-other-tweeted-links`...
moving-songhay-system-to-net-4-5-2-with-serious-powershell.json
writing `moving-songhay-system-to-net-4-5-2-with-serious-powershell`...
moving-to-the-windows-8-timeframe.json
writing `moving-to-the-windows-8-timeframe`...
my-acer-liquid-m330-crap-phone.json
writing `my-acer-liquid-m330-crap-phone`...
my-angular-js-1-x-single-page-layout.json
writing `my-angular-js-1-x-single-page-layout`...
my-autofac-packages-drama.json
writing `my-autofac-packages-drama`...
my-codepen-io-angular-samples.json
writing `my-codepen-io-angular-samples`...
my-current-aurelia-inspired-web-app-technology-road-map.json
writing `my-current-aurelia-inspired-web-app-technology-road-map`...
my-expression-gallery-picks-unfashionably-late.json
writing `my-expression-gallery-picks-unfashionably-late`...
my-first-presentation-on-silverlight.json
writing `my-first-presentation-on-silverlight`...
my-introduction-to-the-odata-v4-timeframe-on-net.json
writing `my-introduction-to-the-odata-v4-timeframe-on-net`...
EXCEPTION: 'this.contentDocument.body.scrollHeight' is an unexpected token. Expecting whitespace. Line 4, position 33.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 33
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_2.<ShouldMigrateLegacyFromAzS>b__3(MarkdownEntry e) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 196
   at Songhay.Publications.Extensions.MarkdownEntryExtensions.WithEdit(MarkdownEntry entry, Action`1 editAction)
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_0.<ShouldMigrateLegacyFromAzS>b__1(FileInfo i) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 194
my-little-git-tricks.json
writing `my-little-git-tricks`...
my-xaml-navigation-system-in-layers.json
writing `my-xaml-navigation-system-in-layers`...
netflix-will-switch-from-silverlight-to-html5-and-other-tweeted-links.json
writing `netflix-will-switch-from-silverlight-to-html5-and-other-tweeted-links`...
new-azure-web-sites-features.json
writing `new-azure-web-sites-features`...
new-git-features-in-visual-studio-2017-and-other-tweeted-links.json
writing `new-git-features-in-visual-studio-2017-and-other-tweeted-links`...
new-in-the-wolfram-language-audio-and-other-tweeted-links.json
writing `new-in-the-wolfram-language-audio-and-other-tweeted-links`...
new-support-for-knockout-js-intellisense-inside-vs-2012-and-other-tweeted-links.json
writing `new-support-for-knockout-js-intellisense-inside-vs-2012-and-other-tweeted-links`...
ngrx-entity-complete-practical-guide-and-other-tweeted-links.json
writing `ngrx-entity-complete-practical-guide-and-other-tweeted-links`...
non-blocking-ui-s-with-interface-previews-themadray-and-other-tweeted-links.json
writing `non-blocking-ui-s-with-interface-previews-themadray-and-other-tweeted-links`...
not-sure-if-you-want-to-install-windows-10-or-not-and-other-tweeted-links.json
writing `not-sure-if-you-want-to-install-windows-10-or-not-and-other-tweeted-links`...
odataangularresources-is-a-fork-of-angular-s-resource-that-allows-odata-queries-in-a-fluent-way-and-other-tweeted-links.json
writing `odataangularresources-is-a-fork-of-angular-s-resource-that-allows-odata-queries-in-a-fluent-way-and-other-tweeted-links`...
ok-let-me-explain-it-s-going-to-be-angular-4-and-other-tweeted-links.json
writing `ok-let-me-explain-it-s-going-to-be-angular-4-and-other-tweeted-links`...
okay-studio-index-updated-to-getbootstrap-and-a-bunch-of-other-tweeted-links.json
writing `okay-studio-index-updated-to-getbootstrap-and-a-bunch-of-other-tweeted-links`...
package-mvcroutetester-mvc5-2-supports-attribute-mapping-cool-and-other-tweeted-links.json
writing `package-mvcroutetester-mvc5-2-supports-attribute-mapping-cool-and-other-tweeted-links`...
page-the-doctor-when-entity-framework-paging-goes-rogue-and-other-tweeted-links.json
writing `page-the-doctor-when-entity-framework-paging-goes-rogue-and-other-tweeted-links`...
particle-effects-in-wpf-and-other-tweeted-links.json
writing `particle-effects-in-wpf-and-other-tweeted-links`...
planning-and-creating-azure-search-indexes-and-other-tweeted-links.json
writing `planning-and-creating-azure-search-indexes-and-other-tweeted-links`...
polygonal-map-generation-html5-version-and-other-tweeted-links.json
writing `polygonal-map-generation-html5-version-and-other-tweeted-links`...
porting-a-silverlight-app-to-ios-and-other-tweeted-links.json
writing `porting-a-silverlight-app-to-ios-and-other-tweeted-links`...
powershell-on-linux-and-open-source-and-other-tweeted-links.json
writing `powershell-on-linux-and-open-source-and-other-tweeted-links`...
powershell-remove-webvirtualdirectory-notes.json
writing `powershell-remove-webvirtualdirectory-notes`...
powershell-so-far.json
writing `powershell-so-far`...
practical-svg-chriscoyier-and-other-tweeted-links.json
writing `practical-svg-chriscoyier-and-other-tweeted-links`...
preparing-and-exporting-svg-icons-in-sketch-and-other-tweeted-links.json
writing `preparing-and-exporting-svg-icons-in-sketch-and-other-tweeted-links`...
prism-wpf-and-unity-based-modular-application-step-by-step-and-other-tweeted-links.json
writing `prism-wpf-and-unity-based-modular-application-step-by-step-and-other-tweeted-links`...
pure-css-scrolling-background-switching-and-other-tweeted-links.json
writing `pure-css-scrolling-background-switching-and-other-tweeted-links`...
put-f-on-the-todo-list.json
writing `put-f-on-the-todo-list`...
putting-people-first-tips-and-advice-from-ux-pioneer-don-norman-and-other-tweeted-links.json
writing `putting-people-first-tips-and-advice-from-ux-pioneer-don-norman-and-other-tweeted-links`...
python-is-the-fastest-growing-language-due-to-a-feature-you-ve-never-heard-of-and-other-tweeted-links.json
writing `python-is-the-fastest-growing-language-due-to-a-feature-you-ve-never-heard-of-and-other-tweeted-links`...
rachel-andrew-laying-out-the-future-with-grid-and-flexbox-and-other-tweeted-links.json
writing `rachel-andrew-laying-out-the-future-with-grid-and-flexbox-and-other-tweeted-links`...
react-native-with-elm-and-other-tweeted-links.json
writing `react-native-with-elm-and-other-tweeted-links`...
ready-for-more-details-about-angular-new-engine-ivy-and-other-tweeted-links.json
writing `ready-for-more-details-about-angular-new-engine-ivy-and-other-tweeted-links`...
remembering-the-cli-and-the-multi-tasking-os.json
writing `remembering-the-cli-and-the-multi-tasking-os`...
remembering-victor-gaudioso.json
writing `remembering-victor-gaudioso`...
replacing-my-nblog-with-a-read-only-angular-js-seed-over-web-api.json
writing `replacing-my-nblog-with-a-read-only-angular-js-seed-over-web-api`...
ria-services-and-ef-entities.json
writing `ria-services-and-ef-entities`...
EXCEPTION: 'WCF' is an unexpected token. Expecting whitespace. Line 3, position 3125.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 33
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_2.<ShouldMigrateLegacyFromAzS>b__3(MarkdownEntry e) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 196
   at Songhay.Publications.Extensions.MarkdownEntryExtensions.WithEdit(MarkdownEntry entry, Action`1 editAction)
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_0.<ShouldMigrateLegacyFromAzS>b__1(FileInfo i) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 194
sager-np6165-unboxing.json
writing `sager-np6165-unboxing`...
saying-goodbye-to-dnx-and-hello-to-the-net-core-cli-and-other-tweeted-links.json
writing `saying-goodbye-to-dnx-and-hello-to-the-net-core-cli-and-other-tweeted-links`...
science-proves-flat-design-was-a-mistake-and-other-tweeted-links.json
writing `science-proves-flat-design-was-a-mistake-and-other-tweeted-links`...
scottgu-s-blog-announcing-open-source-of-net-core-framework-and-other-tweeted-links.json
writing `scottgu-s-blog-announcing-open-source-of-net-core-framework-and-other-tweeted-links`...
scottgu-s-blog-announcing-the-new-azure-app-service-and-other-tweeted-links.json
writing `scottgu-s-blog-announcing-the-new-azure-app-service-and-other-tweeted-links`...
scripting-with-mono-s-embedded-api-channel-9-and-other-tweeted-links.json
writing `scripting-with-mono-s-embedded-api-channel-9-and-other-tweeted-links`...
seriously-don-t-use-icon-fonts-and-other-tweeted-links.json
writing `seriously-don-t-use-icon-fonts-and-other-tweeted-links`...
seriously-needing-async-and-await-in-silverlight-5.json
writing `seriously-needing-async-and-await-in-silverlight-5`...
setting-up-an-azure-search-json-blob-indexer-with-api-version-2015-02-28-preview.json
writing `setting-up-an-azure-search-json-blob-indexer-with-api-version-2015-02-28-preview`...
EXCEPTION: 'this.contentDocument.body.scrollHeight' is an unexpected token. Expecting whitespace. Line 92, position 33.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 33
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_2.<ShouldMigrateLegacyFromAzS>b__3(MarkdownEntry e) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 196
   at Songhay.Publications.Extensions.MarkdownEntryExtensions.WithEdit(MarkdownEntry entry, Action`1 editAction)
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_0.<ShouldMigrateLegacyFromAzS>b__1(FileInfo i) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 194
signalr-reaches-v1-alpha-and-other-tweeted-links.json
writing `signalr-reaches-v1-alpha-and-other-tweeted-links`...
silverlight-biggestbox-feature-complete-so-what.json
writing `silverlight-biggestbox-feature-complete-so-what`...
silverlight-entity-framework-and-ria-services-recipe.json
writing `silverlight-entity-framework-and-ria-services-recipe`...
silverlight-page-navigating-with-mvvm-light-messaging-and-songhay-navigationbookmarkdata.json
writing `silverlight-page-navigating-with-mvvm-light-messaging-and-songhay-navigationbookmarkdata`...
silverlight-poor-mans-task-wait-all.json
writing `silverlight-poor-mans-task-wait-all`...
some-ex-silverlight-guy-closure.json
writing `some-ex-silverlight-guy-closure`...
songhay-data-access-ready-for-codeplex-com.json
writing `songhay-data-access-ready-for-codeplex-com`...
songhay-data-access-ready-for-codeplexcom.json
writing `songhay-data-access-ready-for-codeplexcom`...
songhay-project-down-to-four-code-analysis-warnings.json
writing `songhay-project-down-to-four-code-analysis-warnings`...
songhay-silverlight-controls-analogdigit-my-first-custom-control.json
writing `songhay-silverlight-controls-analogdigit-my-first-custom-control`...
songhay-studio-a-bit-of-a-struggle-with-cookies-in-net.json
writing `songhay-studio-a-bit-of-a-struggle-with-cookies-in-net`...
songhay-studio-azure-table-storage-libraries-report.json
writing `songhay-studio-azure-table-storage-libraries-report`...
songhay-studio-cors-coverage.json
writing `songhay-studio-cors-coverage`...
songhay-studio-ergotron-neo-flex-mobile-mediacenter.json
writing `songhay-studio-ergotron-neo-flex-mobile-mediacenter`...
songhay-studio-finally-some-flippant-remarks-about-xaml-validation.json
writing `songhay-studio-finally-some-flippant-remarks-about-xaml-validation`...
EXCEPTION: 'this.contentDocument.body.scrollHeight' is an unexpected token. Expecting whitespace. Line 4, position 33.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 33
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_2.<ShouldMigrateLegacyFromAzS>b__3(MarkdownEntry e) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 196
   at Songhay.Publications.Extensions.MarkdownEntryExtensions.WithEdit(MarkdownEntry entry, Action`1 editAction)
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_0.<ShouldMigrateLegacyFromAzS>b__1(FileInfo i) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 194
songhay-studio-flippant-remarks-about-ubuntu-public-key-authentication.json
writing `songhay-studio-flippant-remarks-about-ubuntu-public-key-authentication`...
songhay-studio-getting-back-to-tf-exe.json
writing `songhay-studio-getting-back-to-tf-exe`...
songhay-studio-hardware-acquisition-strategy-one-year-later.json
writing `songhay-studio-hardware-acquisition-strategy-one-year-later`...
songhay-studio-hardware-acquisition-strategy.json
writing `songhay-studio-hardware-acquisition-strategy`...
songhay-studio-how-to-disable-click-once-for-a-secondary-exe-project.json
writing `songhay-studio-how-to-disable-click-once-for-a-secondary-exe-project`...
songhay-studio-it-s-no-longer-about-mstest-exe-it-s-vstest-console-exe.json
writing `songhay-studio-it-s-no-longer-about-mstest-exe-it-s-vstest-console-exe`...
songhay-studio-kintespace-com-design-notes.json
writing `songhay-studio-kintespace-com-design-notes`...
songhay-studio-mathematica-online-and-markdown-instead-of-word-in-visual-studio.json
writing `songhay-studio-mathematica-online-and-markdown-instead-of-word-in-visual-studio`...
songhay-studio-mef-imperative-exports-broke-prism-region-based-navigation-system.json
writing `songhay-studio-mef-imperative-exports-broke-prism-region-based-navigation-system`...
songhay-studio-menuitemdatum-revisited.json
writing `songhay-studio-menuitemdatum-revisited`...
songhay-studio-minimal-xamdatagrid-markup.json
writing `songhay-studio-minimal-xamdatagrid-markup`...
songhay-studio-more-slightly-better-flippant-remarks-about-net-validation.json
writing `songhay-studio-more-slightly-better-flippant-remarks-about-net-validation`...
EXCEPTION: 'this.contentDocument.body.scrollHeight' is an unexpected token. Expecting whitespace. Line 4, position 33.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 33
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_2.<ShouldMigrateLegacyFromAzS>b__3(MarkdownEntry e) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 196
   at Songhay.Publications.Extensions.MarkdownEntryExtensions.WithEdit(MarkdownEntry entry, Action`1 editAction)
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_0.<ShouldMigrateLegacyFromAzS>b__1(FileInfo i) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 194
songhay-studio-my-logitech-trackball-mouse-drowned-by-my-daughter.json
writing `songhay-studio-my-logitech-trackball-mouse-drowned-by-my-daughter`...
songhay-studio-net-standard-with-songhay-standard-core.json
writing `songhay-studio-net-standard-with-songhay-standard-core`...
songhay-studio-powershell-revival.json
writing `songhay-studio-powershell-revival`...
songhay-studio-the-sapphire-radeon-r9-270x-appears-to-be-working.json
writing `songhay-studio-the-sapphire-radeon-r9-270x-appears-to-be-working`...
songhay-studio-ux-and-ddd-my-new-acronym-umbrella.json
writing `songhay-studio-ux-and-ddd-my-new-acronym-umbrella`...
songhay-studio-web-index-design-study.json
writing `songhay-studio-web-index-design-study`...
songhay-studio-zotac-geforce-gtx-580-not-working.json
writing `songhay-studio-zotac-geforce-gtx-580-not-working`...
songhay-system-the-conventional-way-to-derive-a-file-location.json
writing `songhay-system-the-conventional-way-to-derive-a-file-location`...
songhay-web-app-css-disorganization.json
writing `songhay-web-app-css-disorganization`...
songhaycore-project-down-to-eight-code-analysis-warnings.json
writing `songhaycore-project-down-to-eight-code-analysis-warnings`...
songhaydataaccessrunner-breakthrough.json
writing `songhaydataaccessrunner-breakthrough`...
special-characters-on-unity-desktop.json
writing `special-characters-on-unity-desktop`...
spectre-css-is-a-lightweight-responsive-and-modern-css-framework-and-other-tweeted-links.json
writing `spectre-css-is-a-lightweight-responsive-and-modern-css-framework-and-other-tweeted-links`...
speed-comparison-dapper-vs-entity-framework-and-other-tweeted-links.json
writing `speed-comparison-dapper-vs-entity-framework-and-other-tweeted-links`...
sql-server-for-linux-coming-in-mid-2017-and-other-tweeted-links.json
writing `sql-server-for-linux-coming-in-mid-2017-and-other-tweeted-links`...
studio-status-report-2018-08.json
writing `studio-status-report-2018-08`...
studio-status-report-2018-09.json
writing `studio-status-report-2018-09`...
studio-status-report-2018-10.json
writing `studio-status-report-2018-10`...
studio-status-report-2018-11.json
writing `studio-status-report-2018-11`...
studio-status-report-2018-12.json
writing `studio-status-report-2018-12`...
studio-status-report-2019-01.json
writing `studio-status-report-2019-01`...
studio-status-report-2019-02.json
writing `studio-status-report-2019-02`...
studio-status-report-2019-03.json
writing `studio-status-report-2019-03`...
studio-status-report-2019-04.json
writing `studio-status-report-2019-04`...
studio-status-report-2019-06.json
writing `studio-status-report-2019-06`...
studio-status-report-2019-07.json
writing `studio-status-report-2019-07`...
studio-status-report-2019-08.json
writing `studio-status-report-2019-08`...
studio-status-report-2019-09.json
writing `studio-status-report-2019-09`...
suggestions-for-structuring-a-large-aurelia-application-and-other-tweeted-links.json
writing `suggestions-for-structuring-a-large-aurelia-application-and-other-tweeted-links`...
support-your-app-with-background-tasks-uwp-app-developer-and-other-tweeted-links.json
writing `support-your-app-with-background-tasks-uwp-app-developer-and-other-tweeted-links`...
svg-can-do-that-and-other-tweeted-links.json
writing `svg-can-do-that-and-other-tweeted-links`...
svg-code-path-code-introduction-sarasoueidan-chriscoyier.json
writing `svg-code-path-code-introduction-sarasoueidan-chriscoyier`...
svg-how-to-create-interactive-graphics-for-your-website-and-other-tweeted-links.json
writing `svg-how-to-create-interactive-graphics-for-your-website-and-other-tweeted-links`...
svg-polygon-generator-and-other-tweeted-links.json
writing `svg-polygon-generator-and-other-tweeted-links`...
swashbuckle-5-0-seamlessly-adds-a-swagger-to-webapi-projects-and-other-tweeted-links.json
writing `swashbuckle-5-0-seamlessly-adds-a-swagger-to-webapi-projects-and-other-tweeted-links`...
swipe-tap-pinch-hammerjs-angular-animations-and-other-tweeted-links.json
writing `swipe-tap-pinch-hammerjs-angular-animations-and-other-tweeted-links`...
taking-pictures-from-html-and-other-tweeted-links.json
writing `taking-pictures-from-html-and-other-tweeted-links`...
talked-to-microsoft-at-longo-toyota.json
writing `talked-to-microsoft-at-longo-toyota`...
telerik-based-ux-with-silverlight-5.json
writing `telerik-based-ux-with-silverlight-5`...
term-rewriting-in-javascript-for-fun-and-world-domination-and-other-tweeted-links.json
writing `term-rewriting-in-javascript-for-fun-and-world-domination-and-other-tweeted-links`...
testing-with-the-angular-httpclient-api-and-other-tweeted-links.json
writing `testing-with-the-angular-httpclient-api-and-other-tweeted-links`...
tfs-2015-power-tools-are-available-and-other-tweeted-links.json
writing `tfs-2015-power-tools-are-available-and-other-tweeted-links`...
the-2012-enterprise-web-server-kit.json
writing `the-2012-enterprise-web-server-kit`...
the-2018-front-end-performance-checklist-and-other-tweeted-links.json
writing `the-2018-front-end-performance-checklist-and-other-tweeted-links`...
the-azure-api-management-publishing-tool-announced-and-other-tweeted-links.json
writing `the-azure-api-management-publishing-tool-announced-and-other-tweeted-links`...
the-british-library-puts-over-1-000-000-images-in-the-public-domain-and-other-tweeted-links.json
writing `the-british-library-puts-over-1-000-000-images-in-the-public-domain-and-other-tweeted-links`...
the-difference-and-relation-between-ui-and-ux-design-and-other-tweeted-links.json
writing `the-difference-and-relation-between-ui-and-ux-design-and-other-tweeted-links`...
the-fat-getter-and-other-mvvm-anti-patterns.json
writing `the-fat-getter-and-other-mvvm-anti-patterns`...
the-golden-age-of-ux-and-other-tweeted-links.json
writing `the-golden-age-of-ux-and-other-tweeted-links`...
the-guide-to-integrating-and-styling-icon-systems-svg-sprites-and-other-tweeted-links.json
writing `the-guide-to-integrating-and-styling-icon-systems-svg-sprites-and-other-tweeted-links`...
the-importance-of-the-experimental-transitioning-content-control.json
writing `the-importance-of-the-experimental-transitioning-content-control`...
the-javascript-phenomenon-is-a-mass-psychosis-and-other-tweeted-links.json
writing `the-javascript-phenomenon-is-a-mass-psychosis-and-other-tweeted-links`...
the-most-important-reason-people-chose-aurelia-is-full-support-for-typescript-built-in-and-other-tweeted-links.json
writing `the-most-important-reason-people-chose-aurelia-is-full-support-for-typescript-built-in-and-other-tweeted-links`...
the-mp3-clips-widget-lets-you-play-song-samples-from-amazon-s-drm-free-mp3-catalog-and-other-tweeted-links.json
writing `the-mp3-clips-widget-lets-you-play-song-samples-from-amazon-s-drm-free-mp3-catalog-and-other-tweeted-links`...
the-ornery-twitter-api-1-1-struggling-with-the-lack-of-fresh-documentation.json
writing `the-ornery-twitter-api-1-1-struggling-with-the-lack-of-fresh-documentation`...
EXCEPTION: 'Single' is an unexpected token. Expecting whitespace. Line 35, position 1090.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 33
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_2.<ShouldMigrateLegacyFromAzS>b__3(MarkdownEntry e) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 196
   at Songhay.Publications.Extensions.MarkdownEntryExtensions.WithEdit(MarkdownEntry entry, Action`1 editAction)
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_0.<ShouldMigrateLegacyFromAzS>b__1(FileInfo i) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 194
the-powershell-clear-history-command-on-windows-10.json
writing `the-powershell-clear-history-command-on-windows-10`...
the-second-era-of-cloud-platforms-will-dwarf-the-first-and-other-tweeted-links.json
writing `the-second-era-of-cloud-platforms-will-dwarf-the-first-and-other-tweeted-links`...
the-silverlight-business-application-project-and-ntlm.json
writing `the-silverlight-business-application-project-and-ntlm`...
the-songhay-home-drive-on-a-new-vm.json
writing `the-songhay-home-drive-on-a-new-vm`...
the-songhay-system-by-net-namespaces.json
writing `the-songhay-system-by-net-namespaces`...
the-songhay-system-ubuntu-vms-in-review.json
writing `the-songhay-system-ubuntu-vms-in-review`...
the-svg-path-syntax-an-illustrated-guide-and-other-tweeted-links.json
writing `the-svg-path-syntax-an-illustrated-guide-and-other-tweeted-links`...
the-three-things-i-have-done-about-failing-in-job-interviews.json
writing `the-three-things-i-have-done-about-failing-in-job-interviews`...
the-troubles-with-javascript-modules-and-other-tweeted-links.json
writing `the-troubles-with-javascript-modules-and-other-tweeted-links`...
the-typography-of-bootstrap.json
writing `the-typography-of-bootstrap`...
the-youtube-api-and-oauth-confirmation.json
writing `the-youtube-api-and-oauth-confirmation`...
there-are-at-least-five-services-that-can-process-your-static-form-for-you-and-other-tweeted-links.json
writing `there-are-at-least-five-services-that-can-process-your-static-form-for-you-and-other-tweeted-links`...
this-year-s-8-smartest-ui-design-ideas-and-other-tweeted-links.json
writing `this-year-s-8-smartest-ui-design-ideas-and-other-tweeted-links`...
tip-how-to-quickly-format-someone-else-s-xaml.json
writing `tip-how-to-quickly-format-someone-else-s-xaml`...
tip-temporarily-converting-a-wpf-library-project-to-an-executable-winexe-project.json
writing `tip-temporarily-converting-a-wpf-library-project-to-an-executable-winexe-project`...
EXCEPTION: 'this.contentDocument.body.scrollHeight' is an unexpected token. Expecting whitespace. Line 4, position 33.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 33
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_2.<ShouldMigrateLegacyFromAzS>b__3(MarkdownEntry e) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 196
   at Songhay.Publications.Extensions.MarkdownEntryExtensions.WithEdit(MarkdownEntry entry, Action`1 editAction)
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_0.<ShouldMigrateLegacyFromAzS>b__1(FileInfo i) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 194
tom-preston-werner-created-jekyll-to-enable-people-to-blog-using-a-simple-static-html-website-and-other-tweeted-links.json
writing `tom-preston-werner-created-jekyll-to-enable-people-to-blog-using-a-simple-static-html-website-and-other-tweeted-links`...
top-5-tips-for-running-external-commands-in-powershell-and-other-tweeted-links.json
writing `top-5-tips-for-running-external-commands-in-powershell-and-other-tweeted-links`...
top-accessibility-complaints-from-people-with-disabilities-and-other-tweeted-links.json
writing `top-accessibility-complaints-from-people-with-disabilities-and-other-tweeted-links`...
tour-of-f-microsoft-docs-and-other-tweeted-links.json
writing `tour-of-f-microsoft-docs-and-other-tweeted-links`...
typescript-angular-2-s-secret-weapon-and-other-tweeted-links.json
writing `typescript-angular-2-s-secret-weapon-and-other-tweeted-links`...
underscore-js-grouping.json
writing `underscore-js-grouping`...
understanding-aspnet-core-initialization-and-other-tweeted-links.json
writing `understanding-aspnet-core-initialization-and-other-tweeted-links`...
understanding-the-microsoft-surface-a-sort-of-review-and-other-tweeted-links.json
writing `understanding-the-microsoft-surface-a-sort-of-review-and-other-tweeted-links`...
understanding-the-role-of-startup-cs-file-in-aspnet-core-and-other-tweeted-links.json
writing `understanding-the-role-of-startup-cs-file-in-aspnet-core-and-other-tweeted-links`...
understanding-the-user-in-user-experience-curated-by-uxceo-and-other-tweeted-links.json
writing `understanding-the-user-in-user-experience-curated-by-uxceo-and-other-tweeted-links`...
unit-testing-with-mvcroutetester-mvc5-2-webconfigtransformrunner-and-nuget-core.json
writing `unit-testing-with-mvcroutetester-mvc5-2-webconfigtransformrunner-and-nuget-core`...
EXCEPTION: 'this.contentDocument.body.scrollHeight' is an unexpected token. Expecting whitespace. Line 34, position 33.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 33
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_2.<ShouldMigrateLegacyFromAzS>b__3(MarkdownEntry e) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 196
   at Songhay.Publications.Extensions.MarkdownEntryExtensions.WithEdit(MarkdownEntry entry, Action`1 editAction)
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_0.<ShouldMigrateLegacyFromAzS>b__1(FileInfo i) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 194
unusual-ways-of-boosting-up-app-performance-lambdas-and-linqs-and-other-tweeted-links.json
writing `unusual-ways-of-boosting-up-app-performance-lambdas-and-linqs-and-other-tweeted-links`...
upgrading-to-angular-v6-step-by-step-and-other-tweeted-links.json
writing `upgrading-to-angular-v6-step-by-step-and-other-tweeted-links`...
using-angularjs-for-data-visualisations-and-other-tweeted-links.json
writing `using-angularjs-for-data-visualisations-and-other-tweeted-links`...
using-aurelia-and-redux-together-for-good-times-all-around-and-other-tweeted-links.json
writing `using-aurelia-and-redux-together-for-good-times-all-around-and-other-tweeted-links`...
using-azure-cdn-with-cors-and-other-tweeted-links.json
writing `using-azure-cdn-with-cors-and-other-tweeted-links`...
using-background-audio-in-a-uwp-app-for-xbox-and-other-tweeted-links.json
writing `using-background-audio-in-a-uwp-app-for-xbox-and-other-tweeted-links`...
using-color-psychology-for-better-website-results-and-other-tweeted-links.json
writing `using-color-psychology-for-better-website-results-and-other-tweeted-links`...
using-gem-install-sass-pre-on-windows-10.json
writing `using-gem-install-sass-pre-on-windows-10`...
using-gulp-ruby-sass-on-an-ubuntu-virtual-machine-with-some-history.json
writing `using-gulp-ruby-sass-on-an-ubuntu-virtual-machine-with-some-history`...
EXCEPTION: 'this.contentDocument.body.scrollHeight' is an unexpected token. Expecting whitespace. Line 7, position 33.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 33
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_2.<ShouldMigrateLegacyFromAzS>b__3(MarkdownEntry e) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 196
   at Songhay.Publications.Extensions.MarkdownEntryExtensions.WithEdit(MarkdownEntry entry, Action`1 editAction)
   at Songhay.Publications.Tests.LegacyMigrationTests.<>c__DisplayClass4_0.<ShouldMigrateLegacyFromAzS>b__1(FileInfo i) in d:\~shares\sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 194
using-page-objects-to-overcome-protractor-s-shortcomings-and-other-tweeted-links.json
writing `using-page-objects-to-overcome-protractor-s-shortcomings-and-other-tweeted-links`...
using-scriptcs-to-generate-epub-xhtml.json
writing `using-scriptcs-to-generate-epub-xhtml`...
using-swashbuckle-to-generate-arbitrary-xml-example-values.json
writing `using-swashbuckle-to-generate-arbitrary-xml-example-values`...
using-swashbuckle-to-support-swaggerfied-xml-production-and-consumption.json
writing `using-swashbuckle-to-support-swaggerfied-xml-production-and-consumption`...
using-web-assembly-to-speed-up-your-angular-application-and-other-tweeted-links.json
writing `using-web-assembly-to-speed-up-your-angular-application-and-other-tweeted-links`...
ux-improving-user-flow-through-page-transitions-and-other-tweeted-links.json
writing `ux-improving-user-flow-through-page-transitions-and-other-tweeted-links`...
visual-studio-ctp3-with-xunit-testing-for-vnext-projects-and-other-tweeted-links.json
writing `visual-studio-ctp3-with-xunit-testing-for-vnext-projects-and-other-tweeted-links`...
web-essentials-1-4-for-visual-studio-and-other-tweeted-links.json
writing `web-essentials-1-4-for-visual-studio-and-other-tweeted-links`...
what-is-github-pages-and-other-tweeted-links.json
writing `what-is-github-pages-and-other-tweeted-links`...
what-s-any-roadmap-toward-robust-odata-support-for-swashbuckle-swagger-and-other-tweeted-links.json
writing `what-s-any-roadmap-toward-robust-odata-support-for-swashbuckle-swagger-and-other-tweeted-links`...
what-s-new-and-coming-for-glimpse-and-other-tweeted-links.json
writing `what-s-new-and-coming-for-glimpse-and-other-tweeted-links`...
what-s-new-for-uwp-developers-in-visual-studio-2017-and-other-tweeted-links.json
writing `what-s-new-for-uwp-developers-in-visual-studio-2017-and-other-tweeted-links`...
what-s-new-in-reactiveui-6-0-and-other-tweeted-links.json
writing `what-s-new-in-reactiveui-6-0-and-other-tweeted-links`...
what-s-new-in-visual-studio-15-preview-5-for-universal-windows-developers-and-other-tweeted-links.json
writing `what-s-new-in-visual-studio-15-preview-5-for-universal-windows-developers-and-other-tweeted-links`...
what-s-new-in-vs-2015-update-2-for-universal-windows-developers-and-other-tweeted-links.json
writing `what-s-new-in-vs-2015-update-2-for-universal-windows-developers-and-other-tweeted-links`...
when-in-bower-doubt-delete-all-of-your-components-and-reinstall.json
writing `when-in-bower-doubt-delete-all-of-your-components-and-reinstall`...
where-will-ux-design-be-in-5-years-and-other-tweeted-links.json
writing `where-will-ux-design-be-in-5-years-and-other-tweeted-links`...
why-all-the-lambdas-and-other-tweeted-links.json
writing `why-all-the-lambdas-and-other-tweeted-links`...
why-does-c-use-utf-16-for-strings-and-other-tweeted-links.json
writing `why-does-c-use-utf-16-for-strings-and-other-tweeted-links`...
why-does-firefox-have-such-poor-responsive-image-support.json
writing `why-does-firefox-have-such-poor-responsive-image-support`...
why-does-git-commit-not-save-my-changes-and-other-tweeted-links.json
writing `why-does-git-commit-not-save-my-changes-and-other-tweeted-links`...
why-every-user-experience-designer-needs-to-think-about-ux-in-real-life-and-other-tweeted-links.json
writing `why-every-user-experience-designer-needs-to-think-about-ux-in-real-life-and-other-tweeted-links`...
why-graphql-advantages-disadvantages-and-alternatives-and-other-tweeted-links.json
writing `why-graphql-advantages-disadvantages-and-alternatives-and-other-tweeted-links`...
why-is-react-is-taking-over-front-end-development-and-other-tweeted-links.json
writing `why-is-react-is-taking-over-front-end-development-and-other-tweeted-links`...
why-static-website-generators-are-the-next-big-thing-and-other-tweeted-links.json
writing `why-static-website-generators-are-the-next-big-thing-and-other-tweeted-links`...
windows-10-anniversary-update-desktop-app-converter-preview-and-other-tweeted-links.json
writing `windows-10-anniversary-update-desktop-app-converter-preview-and-other-tweeted-links`...
windows-10-enterprise-anniversary-upgrade-log.json
writing `windows-10-enterprise-anniversary-upgrade-log`...
windows-10-looking-pretty-cool-and-other-tweeted-links.json
writing `windows-10-looking-pretty-cool-and-other-tweeted-links`...
windows-10-minimum-hardware-requirements-for-pc-and-other-tweeted-links.json
writing `windows-10-minimum-hardware-requirements-for-pc-and-other-tweeted-links`...
windows-10-vm-setup.json
writing `windows-10-vm-setup`...
windows-8-1-review-and-other-tweeted-links.json
writing `windows-8-1-review-and-other-tweeted-links`...
windows-8-operating-under-the-influence-and-other-old-ass-tweeted-links.json
writing `windows-8-operating-under-the-influence-and-other-old-ass-tweeted-links`...
with-angular-v6-it-s-now-as-easy-as-ng-add-and-other-tweeted-links.json
writing `with-angular-v6-it-s-now-as-easy-as-ng-add-and-other-tweeted-links`...
word-javascript-api-and-other-tweeted-links.json
writing `word-javascript-api-and-other-tweeted-links`...
working-in-markdown-leaving-behind-typing-a-typeface.json
writing `working-in-markdown-leaving-behind-typing-a-typeface`...
working-with-svg-a-primer-by-sarasoueidan-and-other-tweeted-links.json
writing `working-with-svg-a-primer-by-sarasoueidan-and-other-tweeted-links`...
wpf-prism-migrating-from-mef-to-unity.json
writing `wpf-prism-migrating-from-mef-to-unity`...
write-etl-jobs-in-pure-c-and-other-tweeted-links.json
writing `write-etl-jobs-in-pure-c-and-other-tweeted-links`...
xamarin-evolve-2014-session-recordings-now-available-and-other-tweeted-links.json
writing `xamarin-evolve-2014-session-recordings-now-available-and-other-tweeted-links`...
xamdatagrid-drag-drop-from-excel-to-wpf.json
writing `xamdatagrid-drag-drop-from-excel-to-wpf`...
xamdatagrid-saturation-bombing-a-race-condition.json
writing `xamdatagrid-saturation-bombing-a-race-condition`...
xaml-fontfamily-and-fontsize-as-pts-points-imperatively.json
writing `xaml-fontfamily-and-fontsize-as-pts-points-imperatively`...
xd-essentials-shadows-and-blur-effects-in-modern-ui-design-and-other-tweeted-links.json
writing `xd-essentials-shadows-and-blur-effects-in-modern-ui-design-and-other-tweeted-links`...
yes-finally-here-architecting-ng-apps-with-redux-rxjs-and-nhrx-and-other-tweeted-links.json
writing `yes-finally-here-architecting-ng-apps-with-redux-rxjs-and-nhrx-and-other-tweeted-links`...
you-asked-we-answered-msft-open-sources-wpf-windows-forms-and-windows-ui-xaml-library-and-other-tweeted-links.json
writing `you-asked-we-answered-msft-open-sources-wpf-windows-forms-and-windows-ui-xaml-library-and-other-tweeted-links`...
you-can-t-effectively-replace-cmd-scripts-with-ps1-scripts-without-these-key-powershell-ingredients.json
writing `you-can-t-effectively-replace-cmd-scripts-with-ps1-scripts-without-these-key-powershell-ingredients`...
you-can-t-impress-developers-so-don-t-try-and-other-very-historical-tweeted-links.json
writing `you-can-t-impress-developers-so-don-t-try-and-other-very-historical-tweeted-links`...
you-cannot-use-the-desktop-version-of-microsoft-word-on-files-in-an-onedrive-folder.json
writing `you-cannot-use-the-desktop-version-of-microsoft-word-on-files-in-an-onedrive-folder`...
your-first-angular-2-asp-net-core-project-in-visual-studio-code-and-other-tweeted-links.json
writing `your-first-angular-2-asp-net-core-project-in-visual-studio-code-and-other-tweeted-links`...
BryanWilhite commented 4 years ago

found 11 exceptions, all of them are Expecting whitespace. errors

BryanWilhite commented 4 years ago

changed test to see parsing failure details:

----- Test Execution Summary -----

Songhay.Publications.Tests.LegacyMigrationTests.ShouldMigrateLegacyFromAzS:
    Outcome: Passed
    Standard Output Messages:
    10-awesome-features-of-visual-studio-code-and-other-tweeted-links.json
writing `10-awesome-features-of-visual-studio-code-and-other-tweeted-links`...
14-flat-design-packs-for-your-next-project-and-other-tweeted-links.json
writing `14-flat-design-packs-for-your-next-project-and-other-tweeted-links`...
2016-testing-angular-2-and-other-tweeted-links.json
writing `2016-testing-angular-2-and-other-tweeted-links`...
5-reasons-why-the-windows-tablet-is-coming-to-a-microsoft-store-near-you-and-other-tweeted-links.json
writing `5-reasons-why-the-windows-tablet-is-coming-to-a-microsoft-store-near-you-and-other-tweeted-links`...
6-0-features-part-i-property-initializers-and-other-tweeted-links.json
writing `6-0-features-part-i-property-initializers-and-other-tweeted-links`...
a-2015-meeting-with-jpl-when-i-started-using-linq-in-interviews.json
writing `a-2015-meeting-with-jpl-when-i-started-using-linq-in-interviews`...
a-collection-of-some-of-the-best-data-visualisation-related-content-discovered-during-march-2018-and-other-tweeted-links.json
writing `a-collection-of-some-of-the-best-data-visualisation-related-content-discovered-during-march-2018-and-other-tweeted-links`...
a-complete-guide-to-svg-fallbacks-and-other-tweeted-links.json
writing `a-complete-guide-to-svg-fallbacks-and-other-tweeted-links`...
a-detailed-introduction-to-functional-reactive-programming-frp-and-other-tweeted-links.json
writing `a-detailed-introduction-to-functional-reactive-programming-frp-and-other-tweeted-links`...
a-friendly-introduction-to-machine-learning-and-other-tweeted-links.json
writing `a-friendly-introduction-to-machine-learning-and-other-tweeted-links`...
a-little-bit-about-basic-synchronization.json
writing `a-little-bit-about-basic-synchronization`...
a-modern-day-front-end-development-stack-and-other-tweeted-links.json
writing `a-modern-day-front-end-development-stack-and-other-tweeted-links`...
a-new-look-at-the-songhay-system-cores.json
writing `a-new-look-at-the-songhay-system-cores`...
a-nice-for-reference-just-to-know-what-all-those-m-l-c-and-a-commands-stand-for-in-svg-path-strings-and-other-tweeted-links.json
writing `a-nice-for-reference-just-to-know-what-all-those-m-l-c-and-a-commands-stand-for-in-svg-path-strings-and-other-tweeted-links`...
a-problem-google-has-created-for-itself-and-other-tweeted-links.json
writing `a-problem-google-has-created-for-itself-and-other-tweeted-links`...
a-selection-of-progressive-web-apps-and-other-tweeted-links.json
writing `a-selection-of-progressive-web-apps-and-other-tweeted-links`...
all-you-need-to-know-about-redis-and-other-tweeted-links.json
writing `all-you-need-to-know-about-redis-and-other-tweeted-links`...
an-intro-to-web-hooks-and-other-tweeted-links.json
writing `an-intro-to-web-hooks-and-other-tweeted-links`...
an-introduction-to-documentdb-programming-stored-procedures-triggers-and-udfs-and-other-tweeted-links.json
writing `an-introduction-to-documentdb-programming-stored-procedures-triggers-and-udfs-and-other-tweeted-links`...
an-introduction-to-the-fr-css-unit-and-other-tweeted-links.json
writing `an-introduction-to-the-fr-css-unit-and-other-tweeted-links`...
analyzing-the-hamburger-menu-in-web-design-and-other-tweeted-links.json
writing `analyzing-the-hamburger-menu-in-web-design-and-other-tweeted-links`...
andy-farnell-designing-sound-procedural-computational-audio-lecture-part-1-and-other-tweeted-links.json
writing `andy-farnell-designing-sound-procedural-computational-audio-lecture-part-1-and-other-tweeted-links`...
angular-1-x-2014-how-i-ve-improved-my-angular-apps-by-banning-ng-controller-and-other-tweeted-links.json
writing `angular-1-x-2014-how-i-ve-improved-my-angular-apps-by-banning-ng-controller-and-other-tweeted-links`...
angular-2-and-asp-net-core-a-webcast-and-other-tweeted-links.json
writing `angular-2-and-asp-net-core-a-webcast-and-other-tweeted-links`...
angular-2-for-angular-1-developers-meligy-and-other-tweeted-links.json
writing `angular-2-for-angular-1-developers-meligy-and-other-tweeted-links`...
angular-2-war-stories-and-other-tweeted-links.json
writing `angular-2-war-stories-and-other-tweeted-links`...
angular-5-is-out-and-other-tweeted-links.json
writing `angular-5-is-out-and-other-tweeted-links`...
angular-js-1-x-code-penning-my-way-to-a-new-blog-layout.json
writing `angular-js-1-x-code-penning-my-way-to-a-new-blog-layout`...
angular-js-1-x-grouping-and-sorting-json-driven-sets-with-underscore-js.json
writing `angular-js-1-x-grouping-and-sorting-json-driven-sets-with-underscore-js`...
WARNING: failed to parse for extract:
<p>The <a href="https://docs.angularjs.org/api/ng/filter/orderBy">Angular JS documentation</a> on <code>orderBy</code> surprisingly has all the information I need to sort data. It even shows how the <code>reverse</code> argument can be assigned to a variable. This allowed me to write markup like this:</p><pre xml:space="preserve">
&lt;div data-ng-repeat="i in groups | orderBy: 'groupName' : vm.indexGroupingSelected.sortDescending "&gt;…&lt;/div&gt;
    </pre><p>When I use the variable <code>vm</code>, I am conventionally telling myself (because I’m a Microsoft, <em>MVVM</em> guy) that I am using my Angular <em>View Model</em> in Controller Scope (<code>$scope.vm</code>). Since I would like to follow my conventions, it would make sense to have <code>data-ng-repeat="i in vm.groups… "</code> but I’ve found that Angular does not see “dotted” objects in <code>ng-repeat</code> (there may be some 1.x release after <code>1.2.6 taco-salsafication</code> that fixes this)—so I have no choice but to use <code>$scope.groups</code>.</p><p>Now, the angular documentation does <em>not</em> talk about how to fill <code>$scope.groups</code>—to me this is an Underscore thing. I use <code>_.chain()</code> (with <code>pairs()</code> and <code>map()</code>) in <code>$scope.vm.setGroups()</code> to fill <code>$scope.groups</code>:</p><pre xml:space="preserve">
setGroups: function() {
    $scope.groups = _($scope.vm.data)
        .chain()
        .groupBy(this.indexGroupingSelected.value)
        .pairs()
        .map(function(i) {
            return {
                groupName: i[0],
                group: i[1]
            };
        })
        .value();
}
    </pre><p>I need to use <code>pairs()</code> and <code>map()</code>) because the Underscore <code>_.groupBy()</code> function does <em>not</em> return an array; it returns a new object (which is weird to me—but I’m not a JavaScript scientist—see “<a href="http://songhayblog.azurewebsites.net/Entry/Show/underscore-js-grouping">Underscore.js Grouping in Angular JS</a>” for more details). So, <code>pairs()</code> gives me an array that I <code>map()</code> into an object that most compatible with Angular.</p><p>My two code blocks above use <code>$scope.vm.indexGroupingSelected</code>. My use of <em>Selected</em> in the name of this View Model property makes sense when we see this Angular declaration:</p><pre xml:space="preserve">
&lt;select
    data-ng-change='vm.setGroups()'
    data-ng-model="vm.indexGroupingSelected"
    data-ng-options="i as i.label for i in options"&gt;
&lt;/select&gt;
    </pre><p>Declaring <code>ng-model</code> in a <code>select</code> element binds the currently selected option in <code>$scope.options</code>. Again, I notice that I cannot use <code>$scope.vm.options</code>—I <em>have to</em> use <code>$scope.options</code>. In my Angular Controller, I fill my options like this:</p><pre xml:space="preserve">
$scope.options = [{
    label: 'by Date',
    sortDescending: true,
    value: 'dateGroup'
}, {
    label: 'by Topic',
    sortDescending: false,
    value: 'topic'
}];
    </pre><p>This use of <code>sortDescending</code> in the options is awesome to me. Because the Angular <code>orderBy</code> expression supports not only variables but also “dotting down” objects used as variables my life was made a bit easier. This Angular feature allows me to control sorting data in ascending or descending order <em>with </em>data.</p><p>Check out <a href="http://codepen.io/rasx/pen/XJYJye">the full CodePen</a>:</p><p data-height="268" data-theme-id="0" data-slug-hash="XJYJye" data-default-tab="result" data-user="rasx" class="codepen">See the Pen <a href="http://codepen.io/rasx/pen/XJYJye/">Songhay Studio: Day Path Index JSON</a> by Bryan Wilhite (<a href="http://codepen.io/rasx">@rasx</a>) on <a href="http://codepen.io">CodePen</a>.</p><p>Or get <a href="https://gist.github.com/BryanWilhite/4dfb1564fe88dba16625">the GitHub gist</a>:</p>
<!-- cSpell:disable="cSpell:disable" -->
<iframe class="rx-inline-frame"
    onload=" this.style.height="this.contentDocument.body.scrollHeight" +'px';"
    height="100%"  width="!*m120"     frameborder="0"  border="!*m156"     scrolling="no"
    src="./Inline/GitHubGist/4dfb1564fe88dba16625">
</iframe>
<!-- cSpell:enable="cSpell:enable" -->
<p>My ideas about Angular grouping owe their existence to “<a href="http://odetocode.com/blogs/scott/archive/2013/08/08/group-and-display-data-with-underscore-and-angularjs.aspx">Group and Display Data with Underscore and AngularJS</a>” by K. Scott Allen. I wrote a <a href="http://codepen.io/rasx/pen/BjCkH">basic grouping CodePen</a> to understand what was going on there. Then, I added the ability to change the grouping with a select element in an <a href="http://codepen.io/rasx/pen/XJJKYX?editors=101">‘intermediate’ grouping CodePen</a>.</p>
Message: 'this.contentDocument.body.scroll' is an unexpected token. Expecting whitespace. Line 36, position 33.
StackTrace:    at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content, ITestOutputHelper testOutputHelper) in e:\~sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 39
angular-js-and-checkbox-array-support.json
writing `angular-js-and-checkbox-array-support`...
angular-material-1-0-now-available-and-other-tweeted-links.json
writing `angular-material-1-0-now-available-and-other-tweeted-links`...
angular-testing-quick-start-and-other-tweeted-links.json
writing `angular-testing-quick-start-and-other-tweeted-links`...
angularjs-directive-for-syntax-highlighting-with-highlight-js-and-other-tweeted-links.json
writing `angularjs-directive-for-syntax-highlighting-with-highlight-js-and-other-tweeted-links`...
angularjs-extending-existing-services-using-decorator-and-other-tweeted-links.json
writing `angularjs-extending-existing-services-using-decorator-and-other-tweeted-links`...
angularjs-views-vs-directives-and-other-tweeted-links.json
writing `angularjs-views-vs-directives-and-other-tweeted-links`...
anime-js-polyvalent-javascript-animation-engine-and-other-tweeted-links.json
writing `anime-js-polyvalent-javascript-animation-engine-and-other-tweeted-links`...
announcing-azure-storage-data-movement-library-0-2-0-and-other-tweeted-links.json
writing `announcing-azure-storage-data-movement-library-0-2-0-and-other-tweeted-links`...
announcing-the-asp-net-webhooks-visual-studio-extension-preview-and-other-tweeted-links.json
writing `announcing-the-asp-net-webhooks-visual-studio-extension-preview-and-other-tweeted-links`...
announcing-typescript-2-8-rc-and-other-tweeted-links.json
writing `announcing-typescript-2-8-rc-and-other-tweeted-links`...
announcing-we-just-open-sourced-chakracore-at-github-and-other-tweeted-links.json
writing `announcing-we-just-open-sourced-chakracore-at-github-and-other-tweeted-links`...
another-slather-of-hardware-to-supposedly-make-my-life-better.json
writing `another-slather-of-hardware-to-supposedly-make-my-life-better`...
answer-how-to-use-iframe-in-angularjs-and-other-tweeted-links.json
writing `answer-how-to-use-iframe-in-angularjs-and-other-tweeted-links`...
apple-s-refusal-to-support-progressive-web-apps-is-a-detriment-to-future-of-the-web-and-other-tweeted-links.json
writing `apple-s-refusal-to-support-progressive-web-apps-is-a-detriment-to-future-of-the-web-and-other-tweeted-links`...
ashish-singh-complete-angular2-guide-reactive-forms-in-depth-part-1-and-other-tweeted-links.json
writing `ashish-singh-complete-angular2-guide-reactive-forms-in-depth-part-1-and-other-tweeted-links`...
asp-net-core-angular-client-app-q2-2018.json
writing `asp-net-core-angular-client-app-q2-2018`...
asp-net-web-api-logging-with-textwritertracelistener.json
writing `asp-net-web-api-logging-with-textwritertracelistener`...
asp-net-web-api-ready-state-4-2017.json
writing `asp-net-web-api-ready-state-4-2017`...
aspnet-blog-engines-and-squarespace.json
writing `aspnet-blog-engines-and-squarespace`...
aurelia-and-angular-2-0-code-side-by-side-and-other-tweeted-links.json
writing `aurelia-and-angular-2-0-code-side-by-side-and-other-tweeted-links`...
aurelia-logging-a-minimal-but-effective-logging-mechanism-and-other-tweeted-links.json
writing `aurelia-logging-a-minimal-but-effective-logging-mechanism-and-other-tweeted-links`...
aurelia-q-amp-a-and-other-tweeted-links.json
writing `aurelia-q-amp-a-and-other-tweeted-links`...
azure-container-service-is-now-generally-available-and-other-tweeted-links.json
writing `azure-container-service-is-now-generally-available-and-other-tweeted-links`...
azure-powershell-101-managing-azure-storage-from-the-command-line-shanselman-and-other-tweeted-links.json
writing `azure-powershell-101-managing-azure-storage-from-the-command-line-shanselman-and-other-tweeted-links`...
azure-search-best-practices-for-web-and-mobile-applications-and-other-tweeted-links.json
writing `azure-search-best-practices-for-web-and-mobile-applications-and-other-tweeted-links`...
behind-the-illusions-impossibly-high-performance-layout-animations-and-other-tweeted-links.json
writing `behind-the-illusions-impossibly-high-performance-layout-animations-and-other-tweeted-links`...
better-responsive-images-with-the-picture-element-and-other-tweeted-links.json
writing `better-responsive-images-with-the-picture-element-and-other-tweeted-links`...
bill-flora-and-erik-rath-the-microsoft-design-language.json
writing `bill-flora-and-erik-rath-the-microsoft-design-language`...
blackmagic-s-powerful-and-free-compositing-software-is-coming-to-mac-very-soon-and-other-tweeted-links.json
writing `blackmagic-s-powerful-and-free-compositing-software-is-coming-to-mac-very-soon-and-other-tweeted-links`...
bootstrap-4-alpha-and-other-tweeted-links.json
writing `bootstrap-4-alpha-and-other-tweeted-links`...
bryan-wilhite-service-oriented-user-interface-consultant.json
writing `bryan-wilhite-service-oriented-user-interface-consultant`...
build-a-digital-book-with-epub-and-other-tweeted-links.json
writing `build-a-digital-book-with-epub-and-other-tweeted-links`...
building-a-simple-url-shorten-service-with-redis-and-other-tweeted-links.json
writing `building-a-simple-url-shorten-service-with-redis-and-other-tweeted-links`...
building-an-asp-net-core-website-with-xamarin-forms-xaml-and-ooui-and-other-tweeted-links.json
writing `building-an-asp-net-core-website-with-xamarin-forms-xaml-and-ooui-and-other-tweeted-links`...
building-fluid-interfaces-and-other-tweeted-links.json
writing `building-fluid-interfaces-and-other-tweeted-links`...
chen-hui-jing-explains-how-she-plans-the-setup-for-a-css-grid-layout-and-other-tweeted-links.json
writing `chen-hui-jing-explains-how-she-plans-the-setup-for-a-css-grid-layout-and-other-tweeted-links`...
chocolatey-gui-is-the-way-to-go.json
writing `chocolatey-gui-is-the-way-to-go`...
colors-a-data-driven-collection-of-beautiful-color-palettes-and-other-tweeted-links.json
writing `colors-a-data-driven-collection-of-beautiful-color-palettes-and-other-tweeted-links`...
comparing-bootstrap-with-google-s-new-material-design-lite-and-other-tweeted-links.json
writing `comparing-bootstrap-with-google-s-new-material-design-lite-and-other-tweeted-links`...
complete-control-and-domination-over-my-ubuntu-bash-shell-history.json
writing `complete-control-and-domination-over-my-ubuntu-bash-shell-history`...
composite-uis-for-microservices-and-other-tweeted-links.json
writing `composite-uis-for-microservices-and-other-tweeted-links`...
composite-uis-for-microservices-server-composition-and-other-tweeted-links.json
writing `composite-uis-for-microservices-server-composition-and-other-tweeted-links`...
connecting-to-my-ubuntu-vm-on-azure.json
writing `connecting-to-my-ubuntu-vm-on-azure`...
cors-for-a-dummy.json
writing `cors-for-a-dummy`...
creating-custom-tag-helper-components-with-jass-bagga-and-other-tweeted-links.json
writing `creating-custom-tag-helper-components-with-jass-bagga-and-other-tweeted-links`...
css-grid-gotchas-and-stumbling-blocks-and-other-tweeted-links.json
writing `css-grid-gotchas-and-stumbling-blocks-and-other-tweeted-links`...
css-instead-of-svg-creating-animating-and-morphing-shapes-and-other-tweeted-links.json
writing `css-instead-of-svg-creating-animating-and-morphing-shapes-and-other-tweeted-links`...
css-supports-css-feature-queries-rachelandrew-and-other-tweeted-links.json
writing `css-supports-css-feature-queries-rachelandrew-and-other-tweeted-links`...
customizing-xaml-buttons-prepare-to-repeat-yourself.json
writing `customizing-xaml-buttons-prepare-to-repeat-yourself`...
dapper-entity-framework-and-hybrid-apps-and-other-tweeted-links.json
writing `dapper-entity-framework-and-hybrid-apps-and-other-tweeted-links`...
dar-backing-up-my-blog-blob-storage.json
writing `dar-backing-up-my-blog-blob-storage`...
dark-patterns-user-interfaces-designed-to-trick-people-and-other-tweeted-links.json
writing `dark-patterns-user-interfaces-designed-to-trick-people-and-other-tweeted-links`...
darkpatterns-org-offers-plenty-of-examples-of-deliberately-confusing-or-deceptive-user-interfaces-and-other-tweeted-links.json
writing `darkpatterns-org-offers-plenty-of-examples-of-deliberately-confusing-or-deceptive-user-interfaces-and-other-tweeted-links`...
data-pagination-with-webapi-and-angularjs-and-other-tweeted-links.json
writing `data-pagination-with-webapi-and-angularjs-and-other-tweeted-links`...
ddd-again-beyond-data-transfer-objects-and-extension-methods.json
writing `ddd-again-beyond-data-transfer-objects-and-extension-methods`...
debugging-react-native-with-typescript-and-visual-studio-code-and-other-tweeted-links.json
writing `debugging-react-native-with-typescript-and-visual-studio-code-and-other-tweeted-links`...
delicious-dump-azure-blob-storage-links.json
writing `delicious-dump-azure-blob-storage-links`...
delicious-dump-old-silverlight-links.json
writing `delicious-dump-old-silverlight-links`...
deploying-azure-functions-with-kudu-and-powershell-and-other-tweeted-links.json
writing `deploying-azure-functions-with-kudu-and-powershell-and-other-tweeted-links`...
design-diary-my-small-angular-js-1-x-patterns.json
writing `design-diary-my-small-angular-js-1-x-patterns`...
WARNING: failed to parse for extract:
<p>My recent work with <a href="http://codepen.io/rasx/pen/dPoPbV">the redesign/upgrade of kintespace.com</a> leaves me with a few Angular JS patterns that must be memorialized here, literally for my own (mental) health.</p><h3>Using a data Service with dirt-simple caching based on $q</h3><p>‘Dirt-simple’ caching is a system that loads data once and stores the data until the system restarted. I am sure there is a more academic name for this design—nevertheless, this is what ‘dirt-simple’ caching looks like as an Angular service:</p>
<!-- cSpell:disable="cSpell:disable" -->
<iframe class="rx-inline-frame"
    onload=" this.style.height="this.contentDocument.body.scrollHeight" +'px';"
    height="100%"  width="!*m120"     frameborder="0"  border="!*m156"     scrolling="no"
    src="./Inline/GitHubGist/22c7416b5bba10873546">
</iframe>
<!-- cSpell:enable="cSpell:enable" -->
<p>What we see in the gist is an Angular service with three methods: <code>cacheData()</code>, <code>getDataFromCache()</code>, and <code>loadIndex()</code>. This service is from an Angular app displays Index data so <code>loadIndex()</code> is called every time the App is loaded—and every time the Index partial View is requested.</p><p>These two lines of code represent the “secret sauce” of this dirt-simple design:</p><pre xml:space="preserve">
var cachedResponse = this.getDataFromCache(uri);
return cachedResponse? $q.when(cachedResponse) : $http.get(uri).then(…);
    </pre><p>That last line—that ternary operation featuring <code>$q.when()</code> (<a href="https://docs.angularjs.org/api/ng/service/$q">from Angular JS</a>) makes things dirt simple.</p><h3>Using ngView <em>and</em> custom directives</h3><p>I started using <code>ngView</code> to <em>avoid</em> delving into building my own directives. In “<a href="http://songhayblog.azurewebsites.net/">My Angular JS 1.x single-page layout</a>,” I am making myself familiar with the need to use <em>very</em> simple custom directives—typically header and footer directives, wrapping <code>ngView</code>—to give me a little headroom in layout expressiveness. Here’s an example of a header Directive:</p><pre xml:space="preserve">
var doHeaderDirective = function () {
    return {
        restrict: "E",
        scope: false,
        templateUrl: "./app/partials/headerFlow.html"
    };
};
    </pre><h3>Using a Client View Model to provide binding for a Directive outside of ngView scope</h3><p>The header Directive shown above, has its scope option set to <code>false</code> (which means it will inherit its Controller scope). But when the header is loaded outside of <code>ngView</code> what controller is associated with it? To answer this question, I’ve developed this pattern using <code>ngController</code>:</p><pre xml:space="preserve">
&lt;!DOCTYPE html&gt;
&lt;html data-ng-app="rxApp"&gt;
&lt;head&gt;…&lt;/head&gt;
&lt;body&gt;
&lt;div class="container" data-ng-controller="clientController"&gt;
    &lt;rx-header /&gt;
    &lt;div class="row" data-ng-view=""&gt;…&lt;/div&gt;
&lt;/div&gt;
&lt;rx-footer /&gt;
&lt;/body&gt;
&lt;/html&gt;
    </pre><p>I can define View Model inside of <code>clientController</code> that can be used for data binding, etc. <em>outside</em> of <code>ngView</code>. This may be obvious to many Angular folks but I can see how a beginner can fall in the trap of thinking one should use <code>ngView</code> <em>or</em> <code>ngController</code> instead of <em>both</em> of them.</p><h3>Using Angular UI pagination with Underscore-JS sorting</h3><p>My little <a href="https://gist.github.com/BryanWilhite/5a634fd6ce237d6d0107">gist about paging and sorting</a> shows key fragments of the design, featuring a Pagination Service driven by a Controller that uses <a href="http://underscorejs.org/">Underscore JS</a> to sort the data before passing it to this service. We of course <em>see</em> the pagination through the markup in the partial, <a href="http://angular-ui.github.io/bootstrap/">documented on GitHub</a>.</p><p>The Pagination Service has only one expectation for the data it uses: the data must be an array. The <code>start()</code> method starts pagination and it called from the controller:</p><pre xml:space="preserve">
$scope.clientVM.dataService.loadData("index-" + indexMetaId).then(function (response) {
    that.data = _(response.data.ChildDocuments)
        .chain()
        .filter(function (i) {
            return (!_.isUndefined(i) &amp;&amp; !_.isNull(i));
        }).sortBy(function (i) {
            return i.CreateDate;
        })
        .value()
        .reverse();
    that.pagination.start(that.data);
    that.pagination.isVisible = true;
    $scope.clientVM.isDataLoaded = true;
    $scope.clientVM.isSplash = false;
});
    </pre><h3>Using ngClass, $parent, $first and the Client View Model with ngRepeat</h3><p>The import discovery for me here is <code>ngClass</code>. I feel like I should have learned about <code>ngClass</code> before I started building Angular JS sites—this is a super-easy way to associate CSS class names with Controller logic (it is effectively the equivalent of <code>.addClass()</code>, <code>.hasClass()</code>, <code>.removeClass()</code>, <code>.toggleClass()</code> in jQuery).</p><p><a href="https://gist.github.com/BryanWilhite/0b0484102980acf5ccb2">This gist</a> sketches out how a repeated set of headers, associated with <code>ngView</code> routes, changes CSS classes based on the route:
    </p>
<!-- cSpell:disable="cSpell:disable" -->
<iframe class="rx-inline-frame"
    onload=" this.style.height="this.contentDocument.body.scrollHeight" +'px';"
    height="100%"  width="!*m120"     frameborder="0"  border="!*m156"     scrolling="no"
    src="./Inline/GitHubGist/0b0484102980acf5ccb2">
</iframe>
<!-- cSpell:enable="cSpell:enable" -->
<p>The use of <code>$parent</code> in the partial implies that the partial is loaded in <code>ngView</code> and <code>ClientVM</code> is the Client View Model of the <code>$parent</code> scope ‘above’ the controller of the <code>ngView</code>. (See “Using a Client View Model to provide binding for a Directive outside of <code>ngView</code> scope” above.)</p><p>The use of <code>$first</code> in the markup is passed to the <code>isFirst</code> parameter of <code>clientVM.isIndexSubsetHeaderSelected()</code>. It is used to make a default selection for initial load.</p><h3>Using a custom function for a filter with nqRepeat</h3><p>This declaration refers to a function, <code>vm.filterGroups()</code>:</p><pre xml:space="preserve">
data-ng-repeat="i in groups | filter:vm.filterGroups
    </pre><p>In this particular case, the filter function is part of a View Model that is entirely devoted to filtering:</p><pre xml:space="preserve">
$scope.vm = {
    filterExpression: null,
    filterGroup: function (data) {
        var filterExpression = $scope.vm.filterExpression;
        if (!filterExpression) {
            return true;
        }
        filterExpression = filterExpression.toLowerCase();
        var title = data.Title;
        var isContainedInTitle = (title &amp;&amp; title.toLowerCase().indexOf(filterExpression) === -1) ? false : true;
        return isContainedInTitle;
    },
    filterGroups: function (data) {
        if (!data.group) {
            return true;
        }
        var filteredItems = _(data.group).filter($scope.vm.filterGroup);
        var hasGroupItems = (filteredItems &amp;&amp; (filteredItems.length &gt; 0)) ? true : false;
        return hasGroupItems;
    },
};
    </pre><p>The <code>filterExpression</code> property is bound to an <code>input[type="text"]</code> element:</p><pre xml:space="preserve">
&lt;input data-ng-model="vm.filterExpression" type="text" class="form-control" placeholder="search"&gt;
    </pre><p>The Angular documentation clearly specifies the use of a “<a href="https://docs.angularjs.org/api/ng/filter/filter">predicate function</a>” for filter expressions.</p>
Message: 'this.contentDocument.body.scrollHeight' is an unexpected token. Expecting whitespace. Line 4, position 33.
StackTrace:    at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content, ITestOutputHelper testOutputHelper) in e:\~sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 39
design-notes-xhtml5-responsive-gallery.json
writing `design-notes-xhtml5-responsive-gallery`...
designing-a-usable-dashboard-and-other-tweeted-links.json
writing `designing-a-usable-dashboard-and-other-tweeted-links`...
designing-motion-smart-transitions-in-ui-design-and-other-tweeted-links.json
writing `designing-motion-smart-transitions-in-ui-design-and-other-tweeted-links`...
does-css-grid-replace-flexbox-and-other-tweeted-links.json
writing `does-css-grid-replace-flexbox-and-other-tweeted-links`...
douglas-crockford-envisions-a-post-javascript-world-and-other-tweeted-links.json
writing `douglas-crockford-envisions-a-post-javascript-world-and-other-tweeted-links`...
downplaying-empty-states-in-design-and-other-tweeted-links.json
writing `downplaying-empty-states-in-design-and-other-tweeted-links`...
dynamic-nested-reactive-forms-in-angular-and-other-tweeted-links.json
writing `dynamic-nested-reactive-forms-in-angular-and-other-tweeted-links`...
eagle-js-a-hackable-slideshow-framework-built-with-vue-js-and-other-tweeted-links.json
writing `eagle-js-a-hackable-slideshow-framework-built-with-vue-js-and-other-tweeted-links`...
ecmascript-2015-has-been-approved-and-other-tweeted-links.json
writing `ecmascript-2015-has-been-approved-and-other-tweeted-links`...
ecmascript-2017-the-final-feature-set-and-other-tweeted-links.json
writing `ecmascript-2017-the-final-feature-set-and-other-tweeted-links`...
embedding-code-pen-and-github-content-in-an-angular-template.json
writing `embedding-code-pen-and-github-content-in-an-angular-template`...
entity-framework-and-json-net.json
writing `entity-framework-and-json-net`...
epubcheck-on-linux-and-other-tweeted-links.json
writing `epubcheck-on-linux-and-other-tweeted-links`...
es2018-was-just-approved-and-other-tweeted-links.json
writing `es2018-was-just-approved-and-other-tweeted-links`...
every-angular-2-vs-react-article-out-there-and-other-tweeted-links.json
writing `every-angular-2-vs-react-article-out-there-and-other-tweeted-links`...
everyday-fonts-these-typefaces-always-work-and-other-tweeted-links.json
writing `everyday-fonts-these-typefaces-always-work-and-other-tweeted-links`...
everything-you-need-to-know-about-change-detection-in-angular-and-other-tweeted-links.json
writing `everything-you-need-to-know-about-change-detection-in-angular-and-other-tweeted-links`...
expression-and-implicit-animations-can-now-be-applied-directly-in-xaml-and-other-tweeted-links.json
writing `expression-and-implicit-animations-can-now-be-applied-directly-in-xaml-and-other-tweeted-links`...
fayde-inspired-by-silverlight-xaml-engine-using-javascript-and-rendering-to-the-html5-canvas-and-other-tweeted-links.json
writing `fayde-inspired-by-silverlight-xaml-engine-using-javascript-and-rendering-to-the-html5-canvas-and-other-tweeted-links`...
finally-we-have-a-legitimate-opensource-replacement-for-flash-and-other-tweeted-links.json
writing `finally-we-have-a-legitimate-opensource-replacement-for-flash-and-other-tweeted-links`...
first-encounter-with-scriptcs-scriptcsnet.json
writing `first-encounter-with-scriptcs-scriptcsnet`...
flexbox-the-animated-tutorial-and-other-tweeted-links.json
writing `flexbox-the-animated-tutorial-and-other-tweeted-links`...
flippant-remarks-about-behaviorsubject.json
writing `flippant-remarks-about-behaviorsubject`...
flippant-remarks-about-dgml-and-visual-studio-code-visualization.json
writing `flippant-remarks-about-dgml-and-visual-studio-code-visualization`...
flippant-remarks-about-karma-jasmine-in-angular.json
writing `flippant-remarks-about-karma-jasmine-in-angular`...
for-windows-10-i-have-a-bunch-of-free-as-in-baby-ubuntu-bash-shells-to-maintain.json
writing `for-windows-10-i-have-a-bunch-of-free-as-in-baby-ubuntu-bash-shells-to-maintain`...
free-database-of-the-entire-web-may-spawn-the-next-google-and-other-tweeted-links.json
writing `free-database-of-the-entire-web-may-spawn-the-next-google-and-other-tweeted-links`...
general-availability-azure-search-parses-json-blobs-and-other-tweeted-links.json
writing `general-availability-azure-search-parses-json-blobs-and-other-tweeted-links`...
generating-a-junction-not-technically-a-symbolic-link-in-windows-10.json
writing `generating-a-junction-not-technically-a-symbolic-link-in-windows-10`...
gestalt-theory-for-ux-design-and-other-tweeted-links.json
writing `gestalt-theory-for-ux-design-and-other-tweeted-links`...
get-started-with-angular-grid-in-5-minutes-and-other-tweeted-links.json
writing `get-started-with-angular-grid-in-5-minutes-and-other-tweeted-links`...
get-started-with-azure-search-in-the-portal-and-other-tweeted-links.json
writing `get-started-with-azure-search-in-the-portal-and-other-tweeted-links`...
get-the-tech-back-in-tech-and-other-tweeted-links.json
writing `get-the-tech-back-in-tech-and-other-tweeted-links`...
getting-started-with-asp-net-core-and-entity-framework-6-and-other-tweeted-links.json
writing `getting-started-with-asp-net-core-and-entity-framework-6-and-other-tweeted-links`...
getting-started-with-aurelia-cli-and-boostrap-and-other-tweeted-links.json
writing `getting-started-with-aurelia-cli-and-boostrap-and-other-tweeted-links`...
getting-started-with-ecmascript-6-and-other-tweeted-links.json
writing `getting-started-with-ecmascript-6-and-other-tweeted-links`...
getting-started-with-grunt-sass-and-task-runner-explorer-and-other-tweeted-links.json
writing `getting-started-with-grunt-sass-and-task-runner-explorer-and-other-tweeted-links`...
getting-started-with-net-on-linux-and-other-mostly-owin-or-web-api-tweeted-links.json
writing `getting-started-with-net-on-linux-and-other-mostly-owin-or-web-api-tweeted-links`...
getting-started-with-shader-effects-in-wpf-and-other-links.json
writing `getting-started-with-shader-effects-in-wpf-and-other-links`...
getting-started-with-vue-js-in-net-core-using-visual-studio-and-other-tweeted-links.json
writing `getting-started-with-vue-js-in-net-core-using-visual-studio-and-other-tweeted-links`...
getting-to-know-the-angular-cdk-drag-and-drop-feature-and-other-tweeted-links.json
writing `getting-to-know-the-angular-cdk-drag-and-drop-feature-and-other-tweeted-links`...
glide-js-a-dependency-free-es6-slider-and-carousel-and-other-tweeted-links.json
writing `glide-js-a-dependency-free-es6-slider-and-carousel-and-other-tweeted-links`...
going-mobile-with-react-native-and-other-tweeted-links.json
writing `going-mobile-with-react-native-and-other-tweeted-links`...
google-interview-cumsum-challenge.json
writing `google-interview-cumsum-challenge`...
greg-young-on-ddd-and-other-tweeted-links.json
writing `greg-young-on-ddd-and-other-tweeted-links`...
here-is-why-you-will-not-find-components-inside-angular-and-other-tweeted-links.json
writing `here-is-why-you-will-not-find-components-inside-angular-and-other-tweeted-links`...
here-s-all-of-the-specifics-about-the-windows-10-devices-event-on-october-6th-and-other-tweeted-links.json
writing `here-s-all-of-the-specifics-about-the-windows-10-devices-event-on-october-6th-and-other-tweeted-links`...
here-s-how-microsoft-will-support-bash-on-windows-10-and-other-tweeted-links.json
writing `here-s-how-microsoft-will-support-bash-on-windows-10-and-other-tweeted-links`...
hexi-flexi-a-css-grid-powered-scss-component-that-creates-a-hexagonal-lattice-and-other-tweeted-links.json
writing `hexi-flexi-a-css-grid-powered-scss-component-that-creates-a-hexagonal-lattice-and-other-tweeted-links`...
hiring-want-to-join-our-mono-coreclr-android-ios-team-and-other-tweeted-links.json
writing `hiring-want-to-join-our-mono-coreclr-android-ios-team-and-other-tweeted-links`...
how-do-you-manually-set-powershell-s-oneget-repository-source-to-chocolatey-and-other-tweeted-links.json
writing `how-do-you-manually-set-powershell-s-oneget-repository-source-to-chocolatey-and-other-tweeted-links`...
how-to-correctly-use-bootstrapjs-and-angularjs-together-and-other-tweeted-links.json
writing `how-to-correctly-use-bootstrapjs-and-angularjs-together-and-other-tweeted-links`...
how-to-create-katana-middleware-and-other-tweeted-links.json
writing `how-to-create-katana-middleware-and-other-tweeted-links`...
how-to-easily-create-modern-material-design-cards-with-html-and-css-and-other-tweeted-links.json
writing `how-to-easily-create-modern-material-design-cards-with-html-and-css-and-other-tweeted-links`...
how-to-improve-your-site-s-ux-and-other-tweeted-links.json
writing `how-to-improve-your-site-s-ux-and-other-tweeted-links`...
how-to-make-responsiveness-super-simple-with-css-variables-and-other-tweeted-links.json
writing `how-to-make-responsiveness-super-simple-with-css-variables-and-other-tweeted-links`...
how-to-make-the-switch-from-graphic-design-to-ux-ui-design-and-other-tweeted-links.json
writing `how-to-make-the-switch-from-graphic-design-to-ux-ui-design-and-other-tweeted-links`...
how-to-recreate-medium-s-article-layout-with-css-grid-and-other-tweeted-links.json
writing `how-to-recreate-medium-s-article-layout-with-css-grid-and-other-tweeted-links`...
how-to-use-odata-client-code-generator-to-generate-client-side-proxy-class-and-other-tweeted-links.json
writing `how-to-use-odata-client-code-generator-to-generate-client-side-proxy-class-and-other-tweeted-links`...
how-to-use-responsive-images-and-other-tweeted-links.json
writing `how-to-use-responsive-images-and-other-tweeted-links`...
huge-number-of-announcement-this-morning-at-build-and-other-tweeted-links.json
writing `huge-number-of-announcement-this-morning-at-build-and-other-tweeted-links`...
i-finally-finally-finally-converted-my-blog-to-angular-modern.json
writing `i-finally-finally-finally-converted-my-blog-to-angular-modern`...
i-just-published-implementing-search-in-graphql-and-other-tweeted-links.json
writing `i-just-published-implementing-search-in-graphql-and-other-tweeted-links`...
i-just-published-rxjs-avoiding-takeuntil-leaks-and-other-tweeted-links.json
writing `i-just-published-rxjs-avoiding-takeuntil-leaks-and-other-tweeted-links`...
i-prefer-not-using-multiple-iqueryable-t-join-calls-and-other-ef-notes.json
writing `i-prefer-not-using-multiple-iqueryable-t-join-calls-and-other-ef-notes`...
i-ve-moved-to-nblog-away-from-blogengine-net.json
writing `i-ve-moved-to-nblog-away-from-blogengine-net`...
i-ve-repeatedly-run-into-the-following-problem-with-bootstrap-s-modal-dialog-and-other-tweeted-links.json
writing `i-ve-repeatedly-run-into-the-following-problem-with-bootstrap-s-modal-dialog-and-other-tweeted-links`...
if-it-weren-t-for-apple-hybrid-app-development-would-be-the-winner-over-native-and-other-tweeted-links.json
writing `if-it-weren-t-for-apple-hybrid-app-development-would-be-the-winner-over-native-and-other-tweeted-links`...
if-you-re-not-already-using-modules-then-you-should-become-familiar-with-the-commonjs-format-and-other-tweeted-links.json
writing `if-you-re-not-already-using-modules-then-you-should-become-familiar-with-the-commonjs-format-and-other-tweeted-links`...
implementing-a-log-inspired-logging-service-in-angular-2-rc-4-and-other-tweeted-links.json
writing `implementing-a-log-inspired-logging-service-in-angular-2-rc-4-and-other-tweeted-links`...
implementing-an-asp-net-core-rc1-logging-provider-and-other-tweeted-links.json
writing `implementing-an-asp-net-core-rc1-logging-provider-and-other-tweeted-links`...
implementing-an-infinite-scroll-with-vue-js-and-other-tweeted-links.json
writing `implementing-an-infinite-scroll-with-vue-js-and-other-tweeted-links`...
implementing-inavigationcontentloader-with-an-abstract-class.json
writing `implementing-inavigationcontentloader-with-an-abstract-class`...
in-page-angular-js-compared-to-in-page-jquery.json
writing `in-page-angular-js-compared-to-in-page-jquery`...
in-response-to-electron-is-flash-for-the-desktop-and-other-tweeted-links.json
writing `in-response-to-electron-is-flash-for-the-desktop-and-other-tweeted-links`...
installed-choco-exe-on-the-azure-vm.json
writing `installed-choco-exe-on-the-azure-vm`...
integrate-shiny-apps-into-regular-webpages-with-responsive-iframe-resizing-and-other-tweeted-links.json
writing `integrate-shiny-apps-into-regular-webpages-with-responsive-iframe-resizing-and-other-tweeted-links`...
integrating-angularjs-amp-three-js-two-patterns-one-app-and-other-tweeted-links.json
writing `integrating-angularjs-amp-three-js-two-patterns-one-app-and-other-tweeted-links`...
inter-view-model-communication.json
writing `inter-view-model-communication`...
interactive-svg-mask-w-full-screen-image-and-other-tweeted-links.json
writing `interactive-svg-mask-w-full-screen-image-and-other-tweeted-links`...
internet-explorer-critical-security-flaw-and-other-tweeted-links.json
writing `internet-explorer-critical-security-flaw-and-other-tweeted-links`...
introducing-aurelia-in-action-and-other-tweeted-links.json
writing `introducing-aurelia-in-action-and-other-tweeted-links`...
introducing-azure-cool-blob-storage-and-other-tweeted-links.json
writing `introducing-azure-cool-blob-storage-and-other-tweeted-links`...
introducing-node-modules-and-bower-components-to-visual-studio-2013.json
writing `introducing-node-modules-and-bower-components-to-visual-studio-2013`...
introducing-npx-an-npm-package-runner-and-other-tweeted-links.json
writing `introducing-npx-an-npm-package-runner-and-other-tweeted-links`...
introducing-postman-for-windows-and-other-tweeted-links.json
writing `introducing-postman-for-windows-and-other-tweeted-links`...
introducing-visual-studio-code-and-other-tweeted-links.json
writing `introducing-visual-studio-code-and-other-tweeted-links`...
introducing-visual-studio-community-2013-and-other-tweeted-links.json
writing `introducing-visual-studio-community-2013-and-other-tweeted-links`...
introduction-material-design-google-design-guidelines-and-other-tweeted-links.json
writing `introduction-material-design-google-design-guidelines-and-other-tweeted-links`...
introduction-to-basics-of-angular-1-4-newrouter-and-other-tweeted-links.json
writing `introduction-to-basics-of-angular-1-4-newrouter-and-other-tweeted-links`...
introduction-to-claims-based-security-in-net4-5-with-c-part-1-and-other-tweeted-links.json
writing `introduction-to-claims-based-security-in-net4-5-with-c-part-1-and-other-tweeted-links`...
introduction-to-flexjs-yishay-weiss-and-other-tweeted-links.json
writing `introduction-to-flexjs-yishay-weiss-and-other-tweeted-links`...
introduction-to-prism-for-xamarin-forms-and-other-tweeted-links.json
writing `introduction-to-prism-for-xamarin-forms-and-other-tweeted-links`...
introduction-to-using-storybook-for-angular-and-other-tweeted-links.json
writing `introduction-to-using-storybook-for-angular-and-other-tweeted-links`...
is-it-possible-to-concatenate-sounds-and-other-tweeted-links.json
writing `is-it-possible-to-concatenate-sounds-and-other-tweeted-links`...
is-jquery-still-relevant-and-other-tweeted-links.json
writing `is-jquery-still-relevant-and-other-tweeted-links`...
it-s-finally-here-materialui-is-now-available-and-other-tweeted-links.json
writing `it-s-finally-here-materialui-is-now-available-and-other-tweeted-links`...
javascript-is-like-leaded-gasoline-toxic-bad-for-everyone-and-other-tweeted-links.json
writing `javascript-is-like-leaded-gasoline-toxic-bad-for-everyone-and-other-tweeted-links`...
jquery-3-0-stops-supporting-internet-explorer-workarounds-and-other-tweeted-links.json
writing `jquery-3-0-stops-supporting-internet-explorer-workarounds-and-other-tweeted-links`...
jupyter-central.json
writing `jupyter-central`...
line-of-sight-it-management-is-it-really-dead.json
writing `line-of-sight-it-management-is-it-really-dead`...
loading-net-configuration-files-as-xdocument-instances.json
writing `loading-net-configuration-files-as-xdocument-instances`...
looking-for-the-goldilocks-of-web-frameworks-and-other-tweeted-links.json
writing `looking-for-the-goldilocks-of-web-frameworks-and-other-tweeted-links`...
looking-forward-microsoft-support-for-secure-shell-ssh-and-other-tweeted-links.json
writing `looking-forward-microsoft-support-for-secure-shell-ssh-and-other-tweeted-links`...
loren-brichter-on-tweetie-2009-and-other-tweeted-links.json
writing `loren-brichter-on-tweetie-2009-and-other-tweeted-links`...
machine-learning-for-developers-and-other-tweeted-links.json
writing `machine-learning-for-developers-and-other-tweeted-links`...
mad-props-to-microsoft-for-their-pwa-push-and-other-tweeted-links.json
writing `mad-props-to-microsoft-for-their-pwa-push-and-other-tweeted-links`...
magix-sound-forge-pro-11-inherits-a-nasty-bug-from-sony.json
writing `magix-sound-forge-pro-11-inherits-a-nasty-bug-from-sony`...
managing-state-in-angular-using-akita-and-other-tweeted-links.json
writing `managing-state-in-angular-using-akita-and-other-tweeted-links`...
masonry-layout-isn-t-a-two-dimensional-grid-and-other-tweeted-links.json
writing `masonry-layout-isn-t-a-two-dimensional-grid-and-other-tweeted-links`...
material-design-in-xaml-toolkit-an-introduction-and-other-tweeted-links.json
writing `material-design-in-xaml-toolkit-an-introduction-and-other-tweeted-links`...
mathematica-and-my-calculus-work-from-1988.json
writing `mathematica-and-my-calculus-work-from-1988`...
mathematica-consulting-point-and-click-tableau-like-visuals-in-mathematica-and-other-tweeted-links.json
writing `mathematica-consulting-point-and-click-tableau-like-visuals-in-mathematica-and-other-tweeted-links`...
maybe-just-use-vanilla-javascript-and-other-tweeted-links.json
writing `maybe-just-use-vanilla-javascript-and-other-tweeted-links`...
megafunk-com-html5-gallery-design-released.json
writing `megafunk-com-html5-gallery-design-released`...
menuitemdatum-namevaluepair-and-chartdatapoints.json
writing `menuitemdatum-namevaluepair-and-chartdatapoints`...
microservices-an-application-revolution-powered-by-the-cloud-and-other-tweeted-links.json
writing `microservices-an-application-revolution-powered-by-the-cloud-and-other-tweeted-links`...
microsoft-confirms-its-new-edge-browser-won-t-support-silverlight-and-other-tweeted-links.json
writing `microsoft-confirms-its-new-edge-browser-won-t-support-silverlight-and-other-tweeted-links`...
microsoft-garage-releases-xaml-studio-and-other-tweeted-links.json
writing `microsoft-garage-releases-xaml-studio-and-other-tweeted-links`...
migration-to-ubuntu-14-04-64-bit.json
writing `migration-to-ubuntu-14-04-64-bit`...
migueldeicaza-anybody-ever-try-linq-to-mbox-with-mono-and-other-tweeted-links.json
writing `migueldeicaza-anybody-ever-try-linq-to-mbox-with-mono-and-other-tweeted-links`...
mobile-internet-comes-to-africa-in-a-big-way-and-other-tweeted-links.json
writing `mobile-internet-comes-to-africa-in-a-big-way-and-other-tweeted-links`...
most-common-mistakes-beginners-make-in-xamarin-forms-and-other-tweeted-links.json
writing `most-common-mistakes-beginners-make-in-xamarin-forms-and-other-tweeted-links`...
moving-songhay-system-to-net-4-5-2-with-serious-powershell.json
writing `moving-songhay-system-to-net-4-5-2-with-serious-powershell`...
moving-to-the-windows-8-timeframe.json
writing `moving-to-the-windows-8-timeframe`...
my-acer-liquid-m330-crap-phone.json
writing `my-acer-liquid-m330-crap-phone`...
my-angular-js-1-x-single-page-layout.json
writing `my-angular-js-1-x-single-page-layout`...
my-autofac-packages-drama.json
writing `my-autofac-packages-drama`...
my-codepen-io-angular-samples.json
writing `my-codepen-io-angular-samples`...
my-current-aurelia-inspired-web-app-technology-road-map.json
writing `my-current-aurelia-inspired-web-app-technology-road-map`...
my-expression-gallery-picks-unfashionably-late.json
writing `my-expression-gallery-picks-unfashionably-late`...
my-first-presentation-on-silverlight.json
writing `my-first-presentation-on-silverlight`...
my-introduction-to-the-odata-v4-timeframe-on-net.json
writing `my-introduction-to-the-odata-v4-timeframe-on-net`...
WARNING: failed to parse for extract:
<p>The Microsoft OData v4 world is built on top of these NuGet packages: <a href="https://www.nuget.org/packages/Microsoft.AspNet.OData/">Microsoft.AspNet.OData</a>, <a href="https://www.nuget.org/packages/Microsoft.OData.Core/">Microsoft.OData.Core</a> and <a href="https://www.nuget.org/packages/Microsoft.OData.Edm/">Microsoft.OData.Edm</a>. It is far too easy to slip into an older implementation or worse to mix versions, causing the problems outlined in “<a href="http://stackoverflow.com/questions/29975653/odatacontroller-returning-http-406-not-available/29975654?stw=2">ODataController returning HTTP 406 Not Available</a>.”</p><p>I have turned to <a href="https://gist.github.com/BryanWilhite/25046e8d35341ea88e23">a LINQPad file (as a GitHub gist)</a> to summarize my introduction to OData v4:</p>
<!-- cSpell:disable="cSpell:disable" -->
<iframe class="rx-inline-frame"
    onload=" this.style.height="this.contentDocument.body.scrollHeight" +'px';"
    height="100%"  width="!*m120"     frameborder="0"  border="!*m156"     scrolling="no"
    src="./Inline/GitHubGist/25046e8d35341ea88e23">
</iframe>
<!-- cSpell:enable="cSpell:enable" -->
<h3>Using OWIN Self-Hosting to test Web API</h3><p>The <code>Microsoft.Owin.SelfHost</code> (with <code>Microsoft.Owin</code>, <code>Microsoft.AspNet.WebApi.Owin</code>, and <code>Owin</code>) Nuget Package gives us an in-memory, tiny server. This means server code can be tested from a .NET web server that is completely independent of IIS or IIS Express. When I attempt to show this new technology to .NET veterans, oftentimes this technology is so radically different (and just too simple) that it’s hard to understand what’s being said! It may be better to show rather than tell. The gist above shows just how simple the standard <a href="http://owin.org/">OWIN</a> implementation is to use:</p><pre xml:space="preserve">
var baseAddress = "http://localhost:9000/"; 
var client = new HttpClient(); 
try
{
    using (WebApp.Start&lt;Startup&gt;(url: baseAddress)) 
    {
        HttpResponseMessage response;

        Action&lt;string&gt; callOwin = path =&gt;
        {
            response = client.GetAsync(baseAddress + path).Result; 
            response.Dump(); 
            response.Content.ReadAsStringAsync().Result.Dump(); 
        };
        callOwin("api/$metadata"); 
        callOwin("api/Product?$count=true"); 
        callOwin("api/Product(2)"); 
        callOwin("api/Product?$filter=Category+eq+'Bakery'+and+indexof(Name,'Tortillas')+ne+-1");
    }
}
finally
{
    client.Dispose();
}
    </pre><h3>OData EDM model building/routing</h3><p>The single call <code>WebApp.Start&lt;Startup&gt;()</code> our way into OWIN. The class definition <code>Startup</code> has one, conventional method, <code>Configuration()</code>, that handles <code>HttpConfiguration</code> just like the conventional ASP.NET MVC <code>*Config</code> static classes in the <code>App_Start</code> folder. Our OData concerns for <a href="http://chriswoodruff.com/2011/12/04/31-days-of-odata-day-3-odata-entity-data-model/">EDM model</a> building and routing are handled in this <code>Startup.Configuration()</code> method:</p><pre xml:space="preserve">
var builder = new ODataConventionModelBuilder();
builder
    .EntitySet&lt;Product&gt;("Product")
    .EntityType.DerivesFrom&lt;IProduct&gt;();
var model = builder.GetEdmModel();
config.MapODataServiceRoute("odata", "api", model);
    </pre><p>The EDM model building (with the <code>builder</code> variable) uses <code>EntityType.DerivesFrom&lt;&gt;()</code> to tell OData that the interface <code>IProduct</code> is implemented by <code>Product</code>. The assumption here is that OData clients should work with interface types rather than server model classes for the sake of simplicity and security through obscurity. Without this builder, the standard OData <code>./$metadata</code> call would return almost nothing or not work at all.</p><p>The <code>MapODataServiceRoute()</code> extension method (of <code>HttpConfiguration</code>) makes a standard OData call, like <code>./api/Product?$count=true</code>, possible by way of the route prefix <code>"api"</code> specified in the second argument of this extension method.</p><h3>The importance of MetadataController</h3><p>The <code>ControllerResolver</code> in our gist above is used in OWIN <code>Startup.Configuration()</code> to ultimately inject <code>ProductController</code> into <code>HttpConfiguration</code>. In my production ASP.NET MVC Web API application, AutoFac would handle this auto-magically. Notice also that <code>ControllerResolver</code> is ‘manually’ loading <code>MetadataController</code>. Without <code>MetadataController</code>, the <code>./$metadata</code> call would fail (it should be a 404 error).</p><h3>Extending from ODataController</h3><p>The <code>ProductController</code> extends from <code>ODataController</code>. One of the not-so-subtle implications with extending from <code>ODataController</code> is the intent to emit only types defined in the <code>$metadata</code> output. So, the use of <code>ODataController</code>, means the controller is confined to emitting Entity Data models.</p><h3>Related Links</h3><ul><li>“<a href="http://blogs.msdn.com/b/youssefm/archive/2013/02/19/paging-with-asp-net-web-api-odata.aspx">Paging with ASP.NET Web API OData</a>”</li><li>“<a href="http://janvanderhaegen.com/2015/04/30/supporting-odata-inlinecount-json-verbose-with-web-api-odata/">Supporting OData $inlinecount &amp; json verbose with Web API OData</a>”</li><li>“<a href="http://blogs.msdn.com/b/alexj/archive/2012/08/15/odata-support-in-asp-net-web-api.aspx">OData support in ASP.NET Web API</a>” [from 2012]</li><li>“<a href="http://damienbod.com/2014/06/10/getting-started-with-web-api-and-odata-v4/">Getting started with Web API and OData V4 Part 1</a>”</li><li>“<a href="https://roysvork.wordpress.com/2013/04/09/an-odata-journey-in-asp-net-web-api-part-2-introducing-linq-to-querystring/">An OData Journey in ASP.NET Web API Part 2 – Introducing Linq to Querystring</a>”</li><li>“<a href="http://stackoverflow.com/questions/29975653/odatacontroller-returning-http-406-not-available/29975654?stw=2">I was using OData 4 (System.Web.OData) in my WebApiConfig and OData 3 (System.Web.Http.OData) in my controller. Turns out, they don</a>”</li><li>“<a href="http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-v4/create-an-odata-v4-endpoint">Create an OData v4 Endpoint Using ASP.NET Web API 2.2</a>”</li><li>“<a href="http://blogs.msdn.com/b/davidhardin/archive/2014/12/17/web-api-odata-v4-pitfalls-and-lessons-learned.aspx">Web API OData V4 Lessons Learned</a>”</li><li>“<a href="http://stackoverflow.com/questions/25772485/metadata-with-webapi-odata-attribute-routing-not-working/25894806?stw=2">Turns out, OData implements one: System.Web.OData.MetadataController, which provides for the $metadata keyword.</a>”</li><li>“<a href="http://blogs.msdn.com/b/leohu/archive/2013/11/05/typeless-entity-object-support-in-webapi.aspx">Typeless Entity Object Support in WebApi</a>”</li><li>“<a href="http://weblogs.asp.net/jongalloway/does-asp-net-web-api-odata-filter-at-the-database-level-let-s-ask-intellitrace">Does ASP.NET Web API + OData filter at the database level? Let</a>”</li><li>“<a href="https://msdn.microsoft.com/en-us/library/ff478141.aspx">Open Data Protocol by Example</a>”</li><li>“<a href="http://blogs.msdn.com/b/odatateam/archive/2014/03/11/how-to-use-odata-client-code-generator-to-generate-client-side-proxy-class.aspx">How to use OData Client Code Generator to generate client-side proxy class</a>”</li><li>“<a href="http://jerther.blogspot.ca/2014/11/aspnet-web-api-2-help-pages-odata_28.html">ASP.Net: Web API 2 + Help Pages + OData</a>”</li><li>“<a href="http://blogs.msdn.com/b/alexj/archive/2013/05/10/parsing-odata-paths-select-and-expand-using-the-odatauriparser.aspx">Parsing OData Paths, $select and $expand using the ODataUriParser</a>”</li></ul>
Message: 'this.contentDocument.body.scrollHeight' is an unexpected token. Expecting whitespace. Line 4, position 33.
StackTrace:    at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content, ITestOutputHelper testOutputHelper) in e:\~sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 39
my-little-git-tricks.json
writing `my-little-git-tricks`...
my-xaml-navigation-system-in-layers.json
writing `my-xaml-navigation-system-in-layers`...
netflix-will-switch-from-silverlight-to-html5-and-other-tweeted-links.json
writing `netflix-will-switch-from-silverlight-to-html5-and-other-tweeted-links`...
new-azure-web-sites-features.json
writing `new-azure-web-sites-features`...
new-git-features-in-visual-studio-2017-and-other-tweeted-links.json
writing `new-git-features-in-visual-studio-2017-and-other-tweeted-links`...
new-in-the-wolfram-language-audio-and-other-tweeted-links.json
writing `new-in-the-wolfram-language-audio-and-other-tweeted-links`...
new-support-for-knockout-js-intellisense-inside-vs-2012-and-other-tweeted-links.json
writing `new-support-for-knockout-js-intellisense-inside-vs-2012-and-other-tweeted-links`...
ngrx-entity-complete-practical-guide-and-other-tweeted-links.json
writing `ngrx-entity-complete-practical-guide-and-other-tweeted-links`...
non-blocking-ui-s-with-interface-previews-themadray-and-other-tweeted-links.json
writing `non-blocking-ui-s-with-interface-previews-themadray-and-other-tweeted-links`...
not-sure-if-you-want-to-install-windows-10-or-not-and-other-tweeted-links.json
writing `not-sure-if-you-want-to-install-windows-10-or-not-and-other-tweeted-links`...
odataangularresources-is-a-fork-of-angular-s-resource-that-allows-odata-queries-in-a-fluent-way-and-other-tweeted-links.json
writing `odataangularresources-is-a-fork-of-angular-s-resource-that-allows-odata-queries-in-a-fluent-way-and-other-tweeted-links`...
ok-let-me-explain-it-s-going-to-be-angular-4-and-other-tweeted-links.json
writing `ok-let-me-explain-it-s-going-to-be-angular-4-and-other-tweeted-links`...
okay-studio-index-updated-to-getbootstrap-and-a-bunch-of-other-tweeted-links.json
writing `okay-studio-index-updated-to-getbootstrap-and-a-bunch-of-other-tweeted-links`...
package-mvcroutetester-mvc5-2-supports-attribute-mapping-cool-and-other-tweeted-links.json
writing `package-mvcroutetester-mvc5-2-supports-attribute-mapping-cool-and-other-tweeted-links`...
page-the-doctor-when-entity-framework-paging-goes-rogue-and-other-tweeted-links.json
writing `page-the-doctor-when-entity-framework-paging-goes-rogue-and-other-tweeted-links`...
particle-effects-in-wpf-and-other-tweeted-links.json
writing `particle-effects-in-wpf-and-other-tweeted-links`...
planning-and-creating-azure-search-indexes-and-other-tweeted-links.json
writing `planning-and-creating-azure-search-indexes-and-other-tweeted-links`...
polygonal-map-generation-html5-version-and-other-tweeted-links.json
writing `polygonal-map-generation-html5-version-and-other-tweeted-links`...
porting-a-silverlight-app-to-ios-and-other-tweeted-links.json
writing `porting-a-silverlight-app-to-ios-and-other-tweeted-links`...
powershell-on-linux-and-open-source-and-other-tweeted-links.json
writing `powershell-on-linux-and-open-source-and-other-tweeted-links`...
powershell-remove-webvirtualdirectory-notes.json
writing `powershell-remove-webvirtualdirectory-notes`...
powershell-so-far.json
writing `powershell-so-far`...
practical-svg-chriscoyier-and-other-tweeted-links.json
writing `practical-svg-chriscoyier-and-other-tweeted-links`...
preparing-and-exporting-svg-icons-in-sketch-and-other-tweeted-links.json
writing `preparing-and-exporting-svg-icons-in-sketch-and-other-tweeted-links`...
prism-wpf-and-unity-based-modular-application-step-by-step-and-other-tweeted-links.json
writing `prism-wpf-and-unity-based-modular-application-step-by-step-and-other-tweeted-links`...
pure-css-scrolling-background-switching-and-other-tweeted-links.json
writing `pure-css-scrolling-background-switching-and-other-tweeted-links`...
put-f-on-the-todo-list.json
writing `put-f-on-the-todo-list`...
putting-people-first-tips-and-advice-from-ux-pioneer-don-norman-and-other-tweeted-links.json
writing `putting-people-first-tips-and-advice-from-ux-pioneer-don-norman-and-other-tweeted-links`...
python-is-the-fastest-growing-language-due-to-a-feature-you-ve-never-heard-of-and-other-tweeted-links.json
writing `python-is-the-fastest-growing-language-due-to-a-feature-you-ve-never-heard-of-and-other-tweeted-links`...
rachel-andrew-laying-out-the-future-with-grid-and-flexbox-and-other-tweeted-links.json
writing `rachel-andrew-laying-out-the-future-with-grid-and-flexbox-and-other-tweeted-links`...
react-native-with-elm-and-other-tweeted-links.json
writing `react-native-with-elm-and-other-tweeted-links`...
ready-for-more-details-about-angular-new-engine-ivy-and-other-tweeted-links.json
writing `ready-for-more-details-about-angular-new-engine-ivy-and-other-tweeted-links`...
remembering-the-cli-and-the-multi-tasking-os.json
writing `remembering-the-cli-and-the-multi-tasking-os`...
remembering-victor-gaudioso.json
writing `remembering-victor-gaudioso`...
replacing-my-nblog-with-a-read-only-angular-js-seed-over-web-api.json
writing `replacing-my-nblog-with-a-read-only-angular-js-seed-over-web-api`...
ria-services-and-ef-entities.json
writing `ria-services-and-ef-entities`...
WARNING: failed to parse for extract:
<a href="http://www.amazon.com/exec/obidos/ASIN/1449312969/thekintespacec00A/" title="Buy this product at Amazon.com!"><img alt="Amazon.com product" src="http://kintespace.com/bitmaps/blog_ef4_dbcontext_book.jpg" style="float:right;margin:16px;" /></a><p>Currently, my <em>preferred</em> technical plan for Data Access depends on using RIA Services and Entity Framework (EF). This decision promises to lead me to a design that allows me to build Web services (for that SOA buzzword-ism) and have bright and clear data access patterns for Silverlight, “Metro” UI and HTML clients. In the recently-made-ancient Silverlight world, using the <code>DataForm</code> and RIA Services with EF entities gives me a modern, scalable equivalent to the classic design experience that made Microsoft Access world famous in the 1990s. My decision to use ASP.NET MVC/RIA Services/EF is also my 21<sup>st</sup>-century update to the ASP/<acronym title="Extensible Stylesheet Language Transformations">XSLT</acronym> Data Access stack I built in the 1990s. To mark the calendar correctly, I need to remind myself that RIA Services was announced in 2009—and like Silverlight—it matters little to me that the term “RIA Services” might be considered “dead” right about now—even to Nikhil Kothari himself.</p><a href="http://www.amazon.com/exec/obidos/ASIN/0596807260/thekintespacec00A/" title="Buy this product at Amazon.com!"><img alt="Amazon.com product" src="http://kintespace.com/bitmaps/blog_ef4_book.jpg" style="float:left;margin:16px;" /></a><p>What is important is that the patterns, practices and design-time/maintenance expectations surrounding this technology will live longer than the technology itself. In the same manner that I looked for a technical/practical equivalent (or superior) to Microsoft Access, I will look for the same with regard to RIA Services (<a href="http://www.asp.net/web-api">Web API</a>?). This implies that I should “never be happy” with any technology, keeping a critical eye on what’s desired for v-next. In keeping with such healthy criticism, these notes go into a few bits about my current relations with RIA Services/EF:</p><h3>RIA Services is not “dead” just because the brand name “Silverlight” is no longer premier.</h3><p>Here’s a bottom line: there’s a RIA services framework for JavaScript. (See “<a href="http://jeffhandley.com/archive/2011/04/13/RIAJS-jQuery-client-for-WCF-RIA-Services.aspx">RIA/JS—jQuery client for WCF RIA Services</a>”.) This implies that that RIA Services is giving developer’s something they need and it is not locked in the world of Silverlight. Lenni Lobel in “<a href="http://blog.tallan.com/2012/02/19/wcf-data-services-vs-wcf-ria-services-–-making-the-right-choice/">WCF Data Services vs. WCF RIA Services–Making the Right Choice</a>” makes a great opening argument:</p><blockquote><p>The answer extends a bit beyond the standard “it depends on your scenario” response, since WCF RIA Services offers a lot more than just data access functionality. It also features client-side self-tracking entities, client-side validation, automatic server-to-client code generation, and more.</p></blockquote><p>I’ll be looking for similar client-side greatness for the hot, new ASP.NET Web API—and even on the server side, I need to see an implementation (or a superior replacement) of what Microsoft calls a “<a href="http://msdn.microsoft.com/en-us/library/ee707373(v=VS.91).aspx">Domain Service</a>”:</p><blockquote><p>Domain services are Windows Communication Foundation (WCF) services that encapsulate the business logic of a WCF RIA Services application. A domain service exposes a set of related operations in the form of a service layer. When you define a domain service, you specify the data operations that are permitted through the domain service.</p></blockquote><p>So a future question coming from me might be, ‘How does ASP.NET Web API eliminate or incorporate the need for a Domain Service?’ Here’s <a href="http://forums.silverlight.net/p/245432/613499.aspx/1?WCF+Web+API+vs+RIA+Services+Endpoints+JSON+SOAP+OData+">a quote</a> from a Silverlight forums, all-star Colin Blair:</p><blockquote><p>In general, it is important to keep in mind that there is a single WCF team at Microsoft. WCF Web API, WCF RIA Services, and WCF Data Services are all interrelated technologies. What you are seeing in WCF Web API is a new iteration of the base WCF technology itself and it has been built using what was learned in WCF Data Services and WCF RIA Services. So, you are seeing some overlap there because some of what you see in WCF RIA Services V1 has migrated into WCF Web API.</p><p>What I expect to see is a WCF RIA Services V2 built using the WCF Web API but that is not going to happen until the WCF Web API is completed and it is currently still in preview. My recommendation is to stick with what you are currently doing, don't try to jump ahead of the WCF team.</p></blockquote><h3>Using RIA Services with EF drags EF behind the current version.</h3><p>The Entity Framework Team is working faster than Nikhil Kothari can have spare time for projects other than <a href="http://www.nikhilk.net/NewWindowsAzure.aspx">Windows-Azure-related tasks</a>. Nikhil certainly works faster than me! My effort to write what’s written here means I’ve caught up with him back in 2010! …so there’s this NuGet package, <code>RIAServices.EntityFramework</code>, that requires <code>EntityFramework</code> 4.1.10715.0. As of this writing, we have the latest Entity Framework 4.3.1.</p><h3>By default, an EF Entity cannot be a property of another object.</h3><p>Somewhere between these two articles, “<a href="http://blogs.msdn.com/b/digital_ruminations/archive/2009/11/18/composition-support-in-ria-services.aspx">Composition Support in RIA Services</a>” and “<a href="http://weblogs.asp.net/manavi/archive/2010/12/11/entity-association-mapping-with-code-first-part-1-one-to-one-associations.aspx">Associations in EF Code First CTP5: Part 1—Complex Types</a>,” my fuzziness around the complex type (or Complex Object) and the <a href="http://msdn.microsoft.com/en-us/library/ee707346(v=VS.91).aspx">compositional hierarchy</a> may sharpen into focus. It’s all a blur to me but I <em>feel</em> like the subject matter in these articles has something to do with RIA Services ignoring a property of a Complex Object when this property is an Entity type. Feelings change…</p><p>While I’m here it may also help very little to mention that RIA Services ignore the properties of a Complex Object that are interfaces as an interface simply cannot be serialized. To confuse myself further, I quote Colin Blair in “<a href="http://www.riaservicesblog.net/Blog/post/Interlude-e28093-Entities-do-not-have-children.aspx">Interlude–Entities do not have children</a>”:</p><blockquote><p>In RIA Services, every entity should be considered a top level entity. There is no such thing as a parent child relationship in RIA Services; all entities are equal to each other.</p></blockquote><p>This <a href="http://msdn.microsoft.com/en-us/library/ee382831(v=vs.110).aspx">quote</a> from <acronym title="Microsoft Developer Network">MSDN</acronym> may yet again make me dizzy:</p><blockquote><p>Complex types cannot participate in associations. Neither end of an association can be a complex type, and therefore navigation properties cannot be defined on complex types.</p></blockquote><p>What this last quote twists me toward is the definite possibility that a Complex Object cannot have “navigation properties” and since an Entity is likely to have such properties they cannot be members of a Complex Object. This stackoverflow.com post, “<a href="http://stackoverflow.com/questions/9335650/ria-services-invoke-operation-return-complex-type-with-entity-properties">RIA Services Invoke Operation return Complex Type with Entity properties</a>,” appears to support this twist.</p><h3>Do not forget to use System.ServiceModel.DomainServices.Client for the Client</h3><p>When you don’t use <code>System.ServiceModel.DomainServices.Client</code> on the Client, you will not be able to use LINQ extensions on <code>EntityQuery&lt;T&gt;</code>. …I don’t think most people still using RIA Services will run into this problem because this problem should appear when trying to re-factor a mature Silverlight project to support RIA Services. Following samples like “<a href="http://www.silverlight.net/learn/advanced-techniques/wcf-ria-services/wcf-ria-services-(silverlight-quickstart)">WCF RIA Services</a>” or “<a href="http://msdn.microsoft.com/en-us/library/ee707376(VS.91).aspx">Walkthrough: Creating a RIA Services Solution</a>” where you check “Enable WCF RIA Services” in the “New Silverlight Application dialog box” should give you a client-side reference to <code>System.ServiceModel.DomainServices.Client</code> for free.</p><h3>The standalone MetadataType classes can have members of type object for convenience.</h3><p>What’s important are matching member names, not types. Writing these classes by hand can be rather tedious so specifying object for each member is convenient. In “<a href="http://www.nikhilk.net/RIA-Services-Fluent-Metadata-API.aspx">Fluent API for .NET RIA Services Metadata</a>,” Nikhil Kothari suggests that we use a fluent (lambda-based) API instead of going through this tedium of building “ugly buddy” classes. And yes, according to a forum post, “<a href="http://forums.silverlight.net/p/242023/603456.aspx/1?Announcement+FluentMetadata+for+WCF+RIA+Services">Announcement: FluentMetadata for WCF RIA Services</a>,” there is NuGet package for this: <code>FluentMetadata</code>.</p><h3>For “Include” associations to work as expected use the attribute and the method call.</h3><p>This one may be obvious to many, many others. But Jeff Handley took some <a href="http://forums.silverlight.net/p/221917/532286.aspx">forum time</a> to post this:</p><blockquote><p><code>.Include()</code> within your Query method tells Entity Framework to include the data in the query.</p><p><code>[Include]</code> on your metadata tells RIA Services to include the child data in serialization.</p><p>RIA Services cannot infer whether or not to include child entities in serialization because some DALs support lazy loading of child entities.  So we don't traverse child properties for their data unless the [Include] attribute is present.</p></blockquote><h3>Don’t be ‘fooled’ by child entity counts of zero.</h3><p>Madeleine of South Africa in “<a href="http://madsdevblog.blogspot.com/2011/02/eager-loading-ef4-entities-with-ria.html">Eager loading EF4 entities with RIA services using Silverlight 4.0</a>” writes:</p><blockquote><p>The first stumbling block when trying to access these navigation properties from the client side was due to the fact that LazyLoading was enabled by default.</p></blockquote><p>So often “by default,” when you are debugging code with entities, the entity navigation properties will give zero counts for data that you know is there. You can insure that children are loaded by explicitly loading the children (with, say <code>.ToList()</code>—see “For ‘Include’ associations to work as expected use the attribute and the method call.” above).</p><h3>You want JSON from your RIA Service? …you’ll need to write a little *.svc file.</h3><p>For me, “<a href="http://blogs.msdn.com/b/davrous/archive/2010/12/03/how-to-open-a-wcf-ria-services-application-to-other-type-of-clients-the-soap-endpoint-3-5.aspx">How to open a WCF RIA Services application to other type of clients: the SOAP endpoint (3/5)</a>” by David Rousset of Microsoft France, sold me on RIA Services. The information in this article provides me with the ability to live in two worlds at the same time: the Microsoft world before 2010 (largely, the SOAP world) and the bright future world of 2010.</p><p>There is also a <acronym title="Representational State Transfer">REST</acronym> world that has been thriving before 2010—a <acronym title="JavaScript Object Notation">JSON</acronym>-based REST world. Sandrino Di Mattia in “<a href="http://blogs.realdolmen.com/experts/2010/09/01/things-you-can-do-with-wcf-ria-services-and-a-regular-svc-file/">Things you can do with WCF RIA Services and a regular .svc file</a>” and stackoverflow.com’s “<a href="http://stackoverflow.com/questions/5119924/problems-exposing-a-ria-services-as-soap-json-etc">Problems exposing a RIA services as SOAP, Json, etc</a>” delve into the details of exposing a RIA service as RESTful JSON. The stackoverflow.com folks provide a very important bit of information:</p><blockquote><p>An INVOKE-decorated method is exposed as JSON only if it has the property <code>HasSideEffect=false</code>.</p></blockquote><p>This attribute decoration is the equivalent of <code>[HttpGet]</code> (with <code>JsonRequestBehavior.AllowGet</code>) in ASP.NET MVC.</p><p>Sandrino’s work, by the way, helped me get rid of this error message:</p><pre xml:space="preserve">
Parser Error Message: The CLR Type 'System.ServiceModel.DomainServices.Hosting.DomainServiceHostFactory' could not be loaded during service compilation.
</pre><p>This was due to how the <code>&lt;%@ ServiceHost</code><code> …&gt;</code> declaration is written in the *.svc file.</p><p>This wonderful ability to expose JSON from a RIA Service via a *.svc file is , by the way again, the solution to the problem surfaced in “<a href="http://forums.silverlight.net/t/208798.aspx/1">Can Generic types be returned from RIA Service[?]</a>.”</p><p>Now that we know we can use a *.svc file with RIA Services, the following excerpt from <a href="http://goldytech.wordpress.com/2010/11/13/silverlight-enabled-wcf-service-deployment-on-iis/">a</a> is either out of date or questionable:</p><blockquote><p>Both WCF RIA service (Domain Service) and Silverlight enabled WCF service works on the core principles of WCF technology. The difference is that lot of code is generated by RIA Services framework and there is no physical .svc file in your project whereas in the Silverlight enabled WCF service you have .svc file with you and things are more under your control.</p></blockquote><h3>RIA Services only supports output caching for GET [Query] operations.</h3><p>This is not really a problem for me but Mathew Charles took some time in “<a href="http://blogs.msdn.com/b/digital_ruminations/archive/2011/01/05/ria-services-output-caching.aspx">RIA Services Output Caching</a>” to highlight an “important feature of RIA Services—our integration with ASP.NET output caching.” What’s notable for me from this article is that “…caching is only enabled for query methods, and only if they use <span style="font-variant:small-caps;">get</span>.” I have no idea (today) why one would need to cache a <span style="font-variant:small-caps;">post</span> operation but this is just today…</p><h3>Obscure error: The "CreateRiaClientFilesTask" task was not given a value for the required parameter…</h3><p>The “"CreateRiaClientFilesTask" task was not given a value for the required parameter” error was a problem for me. This is also a bit fuzzy to me but I think this problem was related to having Silverlight 5 stuff installing over the SL4 stuff. This issue is suggested in a <a href="http://social.microsoft.com/Forums/en-US/Offtopic/thread/01e396fe-2a01-4687-8914-9e8dab52ec7a/">forum post</a>—and another <a href="http://forums.silverlight.net/t/235423.aspx/1">forum post</a>.</p><h3>RIA Services had support for Windows Azure in 2011 but…</h3><p>I am not quite sure that RIA services just works with the latest version of Azure table storage (the 2012/Windows 8 time frame). I will start with articles like “<a href="http://blogs.msdn.com/b/kylemc/archive/2010/11/01/ria-services-and-windows-azure-table-storage.aspx">RIA Services and Windows Azure Table Storage</a>” by Kyle McClellan or Jeff Handley’s <a href="http://jeffhandley.com/archive/2011/04/13/MIX11Releases.aspx">2011 coverage</a> of this topic and then see how things go with the new Windows Azure.</p><h3>Related Resources</h3><ul><li>“<a href="http://msdn.microsoft.com/en-us/library/ee707344(v=VS.91).aspx">WCF RIA Services</a>”</li><li>“<a href=" http://code.msdn.microsoft.com/site/search?f[0].Type=Technology&amp;f[0].Value="WCF" RIA Services&amp;f[1].Type=Affiliation&amp;f[1].Value=Microsoft">MSDN Samples Gallery Getting Started—WCF RIA Services</a>”</li><li>“<a href="http://channel9.msdn.com/Events/MIX/MIX10/CL09">Developing with WCF RIA Services Quickly and Effectively</a>”</li><li>“<a href="http://blogs.msdn.com/b/brada/archive/2009/03/19/what-is-net-ria-services.aspx">What is .NET RIA Services?</a>”</li><li>“<a href="http://www.nikhilk.net/RIA-Services-MIX10-Slides-Code.aspx">MIX10 Talk—Slides and Code</a>”</li><li>“<a href="http://weblogs.asp.net/scottgu/archive/2010/05/17/silverlight-4-tools-for-vs-2010-and-wcf-ria-services-released.aspx">Silverlight 4 Tools for VS 2010 and WCF RIA Services Released</a>”</li><li>“<a href="http://www.nikhilk.net/RIA-Services-V1.aspx">RIA Services—v1 Shipped!</a>”</li><li>“<a href="http://www.codeproject.com/Articles/82298/A-Sample-Silverlight-4-Application-Using-MEF-MVVM">A Sample Silverlight 4 Application Using MEF, MVVM, and WCF RIA Services</a>”</li><li>“<a href="http://thedatafarm.com/blog/data-access/ria-services-and-entity-framework-pocos/">RIA Services and Entity Framework POCOs</a>”</li><li>“<a href="http://www.codeproject.com/Articles/133414/POCO-Entities-Through-RIA-Services">POCO Entities Through RIA Services</a>”</li><li>“<a href="http://msdn.microsoft.com/en-us/library/gg602754(v=vs.91).aspx">How to: Create a Domain Service that uses POCO-defined Entities</a>”</li><li>“<a href="http://varunpuranik.wordpress.com/2011/06/29/wcf-ria-services-support-for-ef-4-1-and-ef-code-first/">WCF RIA Services Support for EF 4.1 (and EF Code-First)</a>”</li><li>“<a href="http://jeffhandley.com/archive/2011/06/30/RIAServicesCodeFirst.aspx">RIA Services EF Code First Support</a>”</li><li>“<a href="http://www.silverlightshow.net/items/WCF-RIA-Services-Part-3-Updating-Data.aspx">WCF RIA Services Part 3: Updating Data</a>”</li><li>“<a href="http://jeffhandley.com/archive/2011/04/13/RIAJS-jQuery-client-for-WCF-RIA-Services.aspx">RIA/JS—jQuery client for WCF RIA Services</a>”</li><li>“<a href="http://blogs.msdn.com/b/brada/archive/2010/03/16/silverlight-4-ria-services-ready-for-business-exposing-odata-services.aspx">Silverlight 4 + RIA Services</a>”</li><li>“<a href="http://blogs.msdn.com/b/brada/archive/2010/04/12/silverlight-4-ria-services-ready-for-business-ajax-endpoint.aspx">Silverlight 4 + RIA Services—Ready for Business: Ajax Endpoint</a>”</li><li>“<a href="http://blog.larud.net/archive/2011/07/04/simple-wcf-ria-services-ef-4-1-scaffolding-aspx">Simple WCF Ria Services EF 4.1 Scaffolding</a>”</li><li>“<a href="http://www.codeproject.com/Articles/344078/ASP-NET-WebAPI-Getting-Started-with-MVC4-and-WebAP">ASP.NET WebAPI: Getting Started with MVC4 and WebAPI</a>”</li></ul>
Message: 'WCF' is an unexpected token. Expecting whitespace. Line 3, position 3125.
StackTrace:    at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content, ITestOutputHelper testOutputHelper) in e:\~sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 39
sager-np6165-unboxing.json
writing `sager-np6165-unboxing`...
saying-goodbye-to-dnx-and-hello-to-the-net-core-cli-and-other-tweeted-links.json
writing `saying-goodbye-to-dnx-and-hello-to-the-net-core-cli-and-other-tweeted-links`...
science-proves-flat-design-was-a-mistake-and-other-tweeted-links.json
writing `science-proves-flat-design-was-a-mistake-and-other-tweeted-links`...
scottgu-s-blog-announcing-open-source-of-net-core-framework-and-other-tweeted-links.json
writing `scottgu-s-blog-announcing-open-source-of-net-core-framework-and-other-tweeted-links`...
scottgu-s-blog-announcing-the-new-azure-app-service-and-other-tweeted-links.json
writing `scottgu-s-blog-announcing-the-new-azure-app-service-and-other-tweeted-links`...
scripting-with-mono-s-embedded-api-channel-9-and-other-tweeted-links.json
writing `scripting-with-mono-s-embedded-api-channel-9-and-other-tweeted-links`...
seriously-don-t-use-icon-fonts-and-other-tweeted-links.json
writing `seriously-don-t-use-icon-fonts-and-other-tweeted-links`...
seriously-needing-async-and-await-in-silverlight-5.json
writing `seriously-needing-async-and-await-in-silverlight-5`...
setting-up-an-azure-search-json-blob-indexer-with-api-version-2015-02-28-preview.json
writing `setting-up-an-azure-search-json-blob-indexer-with-api-version-2015-02-28-preview`...
WARNING: failed to parse for extract:
<p>I would like to thank <a href="https://twitter.com/chaosrealm4">Microsoft’s Eugene Shvets</a> for helping me out with setting up Azure Search for JSON blobs. What I am going to write here should be available <em>visually</em> in the Azure Portal soon after June 2016. I am going to share a few RESTful OData-flavored calls using an old shoe in the .NET closet called <code>HttpWebRequest</code>. To further reveal how old I am, kids, I am going to use <a href="https://msdn.microsoft.com/en-us/library/hh598957.aspx">Visual Studio Test</a> (to “confuse” you) in all of my code samples.</p><p>Once we use these REST calls to get search working, we can use the Azure Portal to run test searches. This is what it looks like:</p><a href="https://www.flickr.com/photos/wilhite/26980553034/in/dateposted-public/" title="Azure Search of JSON Blobs" style="display:block;margin:16px;margin-left:auto;margin-right:auto"><img alt="Azure Search of JSON Blobs" src="https://farm8.staticflickr.com/7294/26980553034_89827d84d4_z_d.jpg" /></a><p>There are three ‘components’ to get Azure search working:</p><ul><li>Data Source (of type <code>azureblob</code>)</li><li>Index (without a default field key of <code>id</code>)</li><li>Indexer (with configuration parameter <code>useJsonParser = true</code>)</li></ul><p>As of today, it is not possible to use the Azure Portal to generate an <code>azureblob</code> Data Source. It is also not possible to use the Portal to get an Indexer—and, while it <em>is</em> possible to get an Index in the Portal, it will have a default key of <code>id</code> which I cannot change in the UI. So, it’s best to make REST calls—likely the <em>same </em>calls made from the Portal.</p><h3>Learn to DELETE and GET a search ‘component’ before generating it…</h3><p>I am not a Test-Driven Development type of guy but I do have opinions and I like to be as clean and neat as possible. All of these quirks drive me to mention the need to <code>DELETE</code> the things I <code>POST</code> to Azure for the need to undo any mistake I might make. So here is my “confusing” way to <code>DELETE</code>:</p><pre xml:space="preserve">
[TestCategory("Integration")]
[TestMethod]
[TestProperty("apiBase", "https://my-azure.search.windows.net")]
[TestProperty("apiKey", "[copy and paste from Portal]")]
[TestProperty("apiTemplate", "{componentName}/{itemName}?api-version=2015-02-28-Preview")]
[TestProperty("componentName", "indexers")]
[TestProperty("itemName", "songhayblog-indexer")]
public void ShouldDeleteAzureSearchServiceComponent()
{
    var projectRoot = this.TestContext.ShouldGetProjectsFolder(this.GetType());
    #region test properties:
    var apiBase = this.TestContext.Properties["apiBase"].ToString();
    var apiKey = this.TestContext.Properties["apiKey"].ToString();
    var apiTemplate = new UriTemplate(this.TestContext.Properties["apiTemplate"].ToString());
    var componentName = this.TestContext.Properties["componentName"].ToString();
    var itemName = this.TestContext.Properties["itemName"].ToString();
    #endregion
    var uri = apiTemplate.BindByPosition(new Uri(apiBase, UriKind.Absolute), componentName, itemName);
    this.TestContext.WriteLine("uri: {0}", uri);
    var request = ((HttpWebRequest)WebRequest.Create(uri));
    request.Method = "DELETE";
    request.Accept = MimeTypes.ApplicationJson;
    request.ContentType = MimeTypes.ApplicationJson;
    request.Headers.Add("api-key", apiKey);
    var code = request.ToHttpStatusCode();
    this.TestContext.WriteLine("HttpStatusCode: {0}", code);
    Assert.IsTrue(code == HttpStatusCode.NoContent, "The expected status code is not here.");
}
    </pre><p>For details on where apiKey comes from, see “<a href="https://azure.microsoft.com/en-us/documentation/articles/search-query-rest-api/">Query your Azure Search index using the REST API</a>” by Ashish Makadia. So without the .NET ceremony a <code>DELETE</code> looks like this:</p><pre xml:space="preserve">
https://my-azure.search.windows.net/{componentName}/{itemName}?api-version=2015-02-28-Preview
    </pre><p>…where <code>componentName</code> represents our three ‘components’, <code>datasources</code>, <code>indexers</code> and <code>indexes</code>, and <code>itemName</code> is your name of the ‘component.’</p><p>When we change this line:</p><pre xml:space="preserve">
request.Method = "DELETE";
    </pre><p>…to this:</p><pre xml:space="preserve">
request.Method = "GET";
    </pre><p>Our <code>DELETE</code> changes to a <code>GET</code>—so the URI above can be used for <code>GET</code> operations to verify that our <code>POST </code>operations are working. I am sure, by the way, that <code>PUT</code> is supported here but I did not want to bother Eugene about this (see “<a href="https://msdn.microsoft.com/library/azure/dn798935.aspx">Azure Search Service REST</a>”—this might be of help).</p><h3>POST of a new Azure-Blob Data Source</h3><p>We have already seen that <code>DELETE</code> and <code>GET</code> operations can be shared. It should be no surprise that all of our <code>POST</code> operations are the same—the only thing that changes is the JSON “body.” In the screenshot below, I have highlighted the <code>json</code> variable—being passed to my not-required-at-all, custom extension method <code>WithRequestBody()</code>:</p><a href="https://www.flickr.com/photos/wilhite/26981648063/in/dateposted-public/" title="Azure Search of JSON Blobs" style="display:block;margin:16px;margin-left:auto;margin-right:auto"><img alt="Azure Search of JSON Blobs" src="https://farm8.staticflickr.com/7561/26981648063_180d8cf85f_z_d.jpg" /></a><p>So, the important piece is not shown above is the JSON in the <code>POST</code>:</p><pre xml:space="preserve">
{
    "name": "songhayblog-datasource",
    "type": "azureblob",
    "credentials": { "connectionString": "[copy and paste from Portal]" },
    "container": {
        "name": "songhayblog-azurewebsites-net",
        "query": "BlogEntry"
    }
}
    </pre><p>For details on where <code>connectionString</code> comes from, see “<a href="https://msblogs.wordpress.com/tag/connection-string-to-azure-storage-account/">Windows Azure—Configuring Storage Accounts</a>” by Biju Paulose. The rest of these JSON properties are covered by Eugene in “<a href="https://azure.microsoft.com/en-us/documentation/articles/search-howto-indexing-azure-blob-storage/">Indexing Documents in Azure Blob Storage with Azure Search</a>.”</p><p>The response from the Azure Search API looks like this:</p><a href="https://www.flickr.com/photos/wilhite/26980552954/in/dateposted-public/" title="Azure Search of JSON Blobs" style="display:block;margin:16px;margin-left:auto;margin-right:auto"><img alt="Azure Search of JSON Blobs" src="https://farm8.staticflickr.com/7709/26980552954_b9ae4b65e5_z_d.jpg" /></a><h3>POST of a new Azure-Blob Index</h3><p>This is the JSON payload for generating a new Index:</p><pre xml:space="preserve">
{
    "name": "songhayblog-index",
    "fields": [
        {
            "name": "Slug",
            "type": "Edm.String",
            "key": true,
            "searchable": false
        },
        {
            "name": "Content",
            "type": "Edm.String",
            "searchable": true
        },
        {
            "name": "Title",
            "type": "Edm.String",
            "searchable": true
        }
    ]
}
    </pre><p>The <code>fields</code> of this Index refer to the JSON shape that represents the <code>BlogEntry</code> object that defines the Blog entries for the Blog you are reading now:</p><pre xml:space="preserve">
{
  "Author": "Bryan Wilhite",
  "Content": "&lt;p&gt;I would like to thank &lt;a href=\"https://twitter.com/chaosrealm4\"&gt;Microsoft’s Eugene Shvets&lt;/a&gt; for helping me [XHTML truncated]",
  "InceptDate": "2016-06-13T21:42:54.1078686-07:00",
  "IsPublished": true,
  "ItemCategory": null,
  "ModificationDate": "0001-01-01T00:00:00",
  "Slug": "setting-up-an-azure-search-json-blob-indexer-with-api-version-2015-02-28-preview",
  "SortOrdinal": 0,
  "Tag": null,
  "Title": "Setting up an @Azure Search JSON blob Indexer with api-version=2015-02-28-Preview"
}
    </pre><h3>POST of a new Azure-Blob Indexer</h3><p>The Indexer is what ‘fills’ the Index, starting the “crawl” of the Azure Blob Container. In the <code>POST</code> JSON payload, we see it targeting the index named above, using a schedule interval I copied from Eugene:</p><pre xml:space="preserve">
{
    "name": "songhayblog-indexer",
    "dataSourceName": "songhayblog-datasource",
    "parameters": { "configuration": { "useJsonParser": true } },
    "targetIndexName": "songhayblog-index",
    "schedule": { "interval": "PT2H" }
}
    </pre><h3>In case you care about this HttpWebRequest stuff…</h3><p>My <code>HttpWebRequest</code> stuff here is not “confusing” it is more likely to be considered “old” (compared to the async-only <code>HttpClient</code>)—but experience informs me that this “old” stuff is backwards compatible. So I have made investments in a few extension methods around <code>HttpWebRequest</code> :</p>
<!-- cSpell:disable="cSpell:disable" -->
<iframe class="rx-inline-frame"
    onload=" this.style.height="this.contentDocument.body.scrollHeight" +'px';"
    height="100%"  width="!*m120"     frameborder="0"  border="!*m156"     scrolling="no"
    src="./Inline/GitHubGist/b04945418a6635e754e3">
</iframe>
<!-- cSpell:enable="cSpell:enable" -->
<h3>Related Links</h3><ul><li>“<a href="https://msdn.microsoft.com/library/azure/dn798935.aspx">Azure Search Service REST</a>”</li><li>“<a href="https://azure.microsoft.com/en-us/documentation/articles/search-howto-indexing-azure-blob-storage/">Indexing Documents in Azure Blob Storage with Azure Search</a>” by Eugene Shvets</li><li>“<a href="https://azure.microsoft.com/en-us/documentation/articles/search-get-started-portal/">Get started with Azure Search in the portal</a>” by Heidi Steen</li><li>“<a href="https://azure.microsoft.com/en-us/documentation/articles/search-query-rest-api/">Query your Azure Search index using the REST API</a>” by Ashish Makadia</li></ul>
Message: 'this.contentDocument.body.scrollHeight' is an unexpected token. Expecting whitespace. Line 92, position 33.
StackTrace:    at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content, ITestOutputHelper testOutputHelper) in e:\~sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 39
signalr-reaches-v1-alpha-and-other-tweeted-links.json
writing `signalr-reaches-v1-alpha-and-other-tweeted-links`...
silverlight-biggestbox-feature-complete-so-what.json
writing `silverlight-biggestbox-feature-complete-so-what`...
silverlight-entity-framework-and-ria-services-recipe.json
writing `silverlight-entity-framework-and-ria-services-recipe`...
silverlight-page-navigating-with-mvvm-light-messaging-and-songhay-navigationbookmarkdata.json
writing `silverlight-page-navigating-with-mvvm-light-messaging-and-songhay-navigationbookmarkdata`...
silverlight-poor-mans-task-wait-all.json
writing `silverlight-poor-mans-task-wait-all`...
some-ex-silverlight-guy-closure.json
writing `some-ex-silverlight-guy-closure`...
songhay-data-access-ready-for-codeplex-com.json
writing `songhay-data-access-ready-for-codeplex-com`...
songhay-data-access-ready-for-codeplexcom.json
writing `songhay-data-access-ready-for-codeplexcom`...
songhay-project-down-to-four-code-analysis-warnings.json
writing `songhay-project-down-to-four-code-analysis-warnings`...
songhay-silverlight-controls-analogdigit-my-first-custom-control.json
writing `songhay-silverlight-controls-analogdigit-my-first-custom-control`...
songhay-studio-a-bit-of-a-struggle-with-cookies-in-net.json
writing `songhay-studio-a-bit-of-a-struggle-with-cookies-in-net`...
songhay-studio-azure-table-storage-libraries-report.json
writing `songhay-studio-azure-table-storage-libraries-report`...
songhay-studio-cors-coverage.json
writing `songhay-studio-cors-coverage`...
songhay-studio-ergotron-neo-flex-mobile-mediacenter.json
writing `songhay-studio-ergotron-neo-flex-mobile-mediacenter`...
songhay-studio-finally-some-flippant-remarks-about-xaml-validation.json
writing `songhay-studio-finally-some-flippant-remarks-about-xaml-validation`...
WARNING: failed to parse for extract:
<p>I’ve been deprioritizing a look into <acronym title="Extensible Application Markup Language">XAML</acronym>-based Validation. Years ago I somehow got the impression that Validation was “confused” or “incomplete.” Now I can say that there are two broad categories of Validation:</p><ul><li>There is Validation for <code>System.Windows.Controls</code>.</li><li>There is Validation for <code>System.ComponentModel.DataAnnotations</code> via <code>INotifyDataErrorInfo</code>.</li></ul><p>There are probably more categories of XAML-based Validation but I flippantly consider those ‘legacy’ alternatives. My other wild assertion is that Windows-controls Validation is mutually exclusive to Component-Model Validation. For example, as of this writing, the <code>Validation.ClearInvalid()</code> or <code>Validation.AddErrorHandler()</code> methods for Windows have no effect on Component-Model errors.</p><p>The <code>Validation.ValidationAdornerSite</code> and <code>Validation.ValidationAdornerSiteFor</code> properties are almost useless to me because they <em>redirect</em> Validation adornment from, say, a <code>TextBox</code> to a <code>Label</code>. I would like to have the option of adorning one or more “sites” <em>including</em> the original <code>TextBox</code>.</p><p>I have prepared a <a href="https://wpfbiggestbox.codeplex.com/SourceControl/latest">basic, Component-Model Validation sample</a> for WPF. It’s in <a href="https://wpfbiggestbox.codeplex.com/">my BiggestBox on CodePlex</a>:</p><a href="https://wpfbiggestbox.codeplex.com/SourceControl/latest#Songhay.BiggestBox.Desktop.Modules.Validation/Views/BasicValidationView.xaml" title="Songhay BiggestBox on the Desktop - Basic Validation Sample" style="display:block;margin:16px;margin-left:auto;margin-right:auto;max-width:640px;"><img alt="Songhay BiggestBox on the Desktop - Basic Validation Sample" src="https://farm9.staticflickr.com/8734/16741944126_2e865d2c29_z_d.jpg" /></a><p>I also have a LINQPad exploration of Windows-controls Validation as a GitHub Gist:</p>
<!-- cSpell:disable="cSpell:disable" -->
<iframe class="rx-inline-frame"
    onload=" this.style.height="this.contentDocument.body.scrollHeight" +'px';"
    height="100%"  width="!*m120"     frameborder="0"  border="!*m156"     scrolling="no"
    src="./Inline/GitHubGist/32afb5672824160d56de">
</iframe>
<!-- cSpell:enable="cSpell:enable" -->

Message: 'this.contentDocument.body.scrollHeight' is an unexpected token. Expecting whitespace. Line 4, position 33.
StackTrace:    at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content, ITestOutputHelper testOutputHelper) in e:\~sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 39
songhay-studio-flippant-remarks-about-ubuntu-public-key-authentication.json
writing `songhay-studio-flippant-remarks-about-ubuntu-public-key-authentication`...
songhay-studio-getting-back-to-tf-exe.json
writing `songhay-studio-getting-back-to-tf-exe`...
songhay-studio-hardware-acquisition-strategy-one-year-later.json
writing `songhay-studio-hardware-acquisition-strategy-one-year-later`...
songhay-studio-hardware-acquisition-strategy.json
writing `songhay-studio-hardware-acquisition-strategy`...
songhay-studio-how-to-disable-click-once-for-a-secondary-exe-project.json
writing `songhay-studio-how-to-disable-click-once-for-a-secondary-exe-project`...
songhay-studio-it-s-no-longer-about-mstest-exe-it-s-vstest-console-exe.json
writing `songhay-studio-it-s-no-longer-about-mstest-exe-it-s-vstest-console-exe`...
songhay-studio-kintespace-com-design-notes.json
writing `songhay-studio-kintespace-com-design-notes`...
songhay-studio-mathematica-online-and-markdown-instead-of-word-in-visual-studio.json
writing `songhay-studio-mathematica-online-and-markdown-instead-of-word-in-visual-studio`...
songhay-studio-mef-imperative-exports-broke-prism-region-based-navigation-system.json
writing `songhay-studio-mef-imperative-exports-broke-prism-region-based-navigation-system`...
songhay-studio-menuitemdatum-revisited.json
writing `songhay-studio-menuitemdatum-revisited`...
songhay-studio-minimal-xamdatagrid-markup.json
writing `songhay-studio-minimal-xamdatagrid-markup`...
songhay-studio-more-slightly-better-flippant-remarks-about-net-validation.json
writing `songhay-studio-more-slightly-better-flippant-remarks-about-net-validation`...
WARNING: failed to parse for extract:
<p>My previous breakthrough <a href="http://songhayblog.azurewebsites.net/">note about validation</a> in .NET was written under the influence of the client-side need to implement <code>INotifyDataErrorInfo</code> without really paying proper respect for <code>System.ComponentModel.DataAnnotations.Validator</code>. I had to pay my respects eventually.</p><p>Here’s my big, respectful, swaggering, flippant remark about .NET validation: a <code>ValidationContext</code> is needed to pass to <code>Validator.TryValidate*()</code> methods to yield <code>IEnumerable&lt;ValidationResult&gt;</code>. This flippant remark reveals intent. I attempted to express this intent in my new <code>ValidationContextExtensions</code> class:</p>
<!-- cSpell:disable="cSpell:disable" -->
<iframe class="rx-inline-frame"
    onload=" this.style.height="this.contentDocument.body.scrollHeight" +'px';"
    height="100%"  width="!*m120"     frameborder="0"  border="!*m156"     scrolling="no"
    src="./Inline/GitHubGist/45b731536dbdd3938cde">
</iframe>
<!-- cSpell:enable="cSpell:enable" -->
<p>The <code>ToValidationResults()</code> extension methods (that yield <code>IEnumerable&lt;ValidationResult&gt;</code>) should—I repeat <em>should</em>—work with <code>INotifyDataErrorInfo.GetErrors()</code> (which works fine with <code>IEnumerable&lt;string&gt;</code>). Once I get a bit of time to verify this, it will confirm that my new <code>ValidationContextExtensions</code> class is the final piece of my Validation puzzle that works with .NET Data Annotations on the server side as well as the Client side.</p><p>I placed this new class in my Core library instead of my Data Access library because this is devoted to Model (or View Model) validation <em>in memory</em>, having nothing to do with the <em>access</em> of data across a boundary.</p>
Message: 'this.contentDocument.body.scrollHeight' is an unexpected token. Expecting whitespace. Line 4, position 33.
StackTrace:    at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content, ITestOutputHelper testOutputHelper) in e:\~sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 39
songhay-studio-my-logitech-trackball-mouse-drowned-by-my-daughter.json
writing `songhay-studio-my-logitech-trackball-mouse-drowned-by-my-daughter`...
songhay-studio-net-standard-with-songhay-standard-core.json
writing `songhay-studio-net-standard-with-songhay-standard-core`...
songhay-studio-powershell-revival.json
writing `songhay-studio-powershell-revival`...
songhay-studio-the-sapphire-radeon-r9-270x-appears-to-be-working.json
writing `songhay-studio-the-sapphire-radeon-r9-270x-appears-to-be-working`...
songhay-studio-ux-and-ddd-my-new-acronym-umbrella.json
writing `songhay-studio-ux-and-ddd-my-new-acronym-umbrella`...
songhay-studio-web-index-design-study.json
writing `songhay-studio-web-index-design-study`...
songhay-studio-zotac-geforce-gtx-580-not-working.json
writing `songhay-studio-zotac-geforce-gtx-580-not-working`...
songhay-system-the-conventional-way-to-derive-a-file-location.json
writing `songhay-system-the-conventional-way-to-derive-a-file-location`...
songhay-web-app-css-disorganization.json
writing `songhay-web-app-css-disorganization`...
songhaycore-project-down-to-eight-code-analysis-warnings.json
writing `songhaycore-project-down-to-eight-code-analysis-warnings`...
songhaydataaccessrunner-breakthrough.json
writing `songhaydataaccessrunner-breakthrough`...
special-characters-on-unity-desktop.json
writing `special-characters-on-unity-desktop`...
spectre-css-is-a-lightweight-responsive-and-modern-css-framework-and-other-tweeted-links.json
writing `spectre-css-is-a-lightweight-responsive-and-modern-css-framework-and-other-tweeted-links`...
speed-comparison-dapper-vs-entity-framework-and-other-tweeted-links.json
writing `speed-comparison-dapper-vs-entity-framework-and-other-tweeted-links`...
sql-server-for-linux-coming-in-mid-2017-and-other-tweeted-links.json
writing `sql-server-for-linux-coming-in-mid-2017-and-other-tweeted-links`...
studio-status-report-2018-08.json
writing `studio-status-report-2018-08`...
studio-status-report-2018-09.json
writing `studio-status-report-2018-09`...
studio-status-report-2018-10.json
writing `studio-status-report-2018-10`...
studio-status-report-2018-11.json
writing `studio-status-report-2018-11`...
studio-status-report-2018-12.json
writing `studio-status-report-2018-12`...
studio-status-report-2019-01.json
writing `studio-status-report-2019-01`...
studio-status-report-2019-02.json
writing `studio-status-report-2019-02`...
studio-status-report-2019-03.json
writing `studio-status-report-2019-03`...
studio-status-report-2019-04.json
writing `studio-status-report-2019-04`...
studio-status-report-2019-06.json
writing `studio-status-report-2019-06`...
studio-status-report-2019-07.json
writing `studio-status-report-2019-07`...
studio-status-report-2019-08.json
writing `studio-status-report-2019-08`...
studio-status-report-2019-09.json
writing `studio-status-report-2019-09`...
suggestions-for-structuring-a-large-aurelia-application-and-other-tweeted-links.json
writing `suggestions-for-structuring-a-large-aurelia-application-and-other-tweeted-links`...
support-your-app-with-background-tasks-uwp-app-developer-and-other-tweeted-links.json
writing `support-your-app-with-background-tasks-uwp-app-developer-and-other-tweeted-links`...
svg-can-do-that-and-other-tweeted-links.json
writing `svg-can-do-that-and-other-tweeted-links`...
svg-code-path-code-introduction-sarasoueidan-chriscoyier.json
writing `svg-code-path-code-introduction-sarasoueidan-chriscoyier`...
svg-how-to-create-interactive-graphics-for-your-website-and-other-tweeted-links.json
writing `svg-how-to-create-interactive-graphics-for-your-website-and-other-tweeted-links`...
svg-polygon-generator-and-other-tweeted-links.json
writing `svg-polygon-generator-and-other-tweeted-links`...
swashbuckle-5-0-seamlessly-adds-a-swagger-to-webapi-projects-and-other-tweeted-links.json
writing `swashbuckle-5-0-seamlessly-adds-a-swagger-to-webapi-projects-and-other-tweeted-links`...
swipe-tap-pinch-hammerjs-angular-animations-and-other-tweeted-links.json
writing `swipe-tap-pinch-hammerjs-angular-animations-and-other-tweeted-links`...
taking-pictures-from-html-and-other-tweeted-links.json
writing `taking-pictures-from-html-and-other-tweeted-links`...
talked-to-microsoft-at-longo-toyota.json
writing `talked-to-microsoft-at-longo-toyota`...
telerik-based-ux-with-silverlight-5.json
writing `telerik-based-ux-with-silverlight-5`...
term-rewriting-in-javascript-for-fun-and-world-domination-and-other-tweeted-links.json
writing `term-rewriting-in-javascript-for-fun-and-world-domination-and-other-tweeted-links`...
testing-with-the-angular-httpclient-api-and-other-tweeted-links.json
writing `testing-with-the-angular-httpclient-api-and-other-tweeted-links`...
tfs-2015-power-tools-are-available-and-other-tweeted-links.json
writing `tfs-2015-power-tools-are-available-and-other-tweeted-links`...
the-2012-enterprise-web-server-kit.json
writing `the-2012-enterprise-web-server-kit`...
the-2018-front-end-performance-checklist-and-other-tweeted-links.json
writing `the-2018-front-end-performance-checklist-and-other-tweeted-links`...
the-azure-api-management-publishing-tool-announced-and-other-tweeted-links.json
writing `the-azure-api-management-publishing-tool-announced-and-other-tweeted-links`...
the-british-library-puts-over-1-000-000-images-in-the-public-domain-and-other-tweeted-links.json
writing `the-british-library-puts-over-1-000-000-images-in-the-public-domain-and-other-tweeted-links`...
the-difference-and-relation-between-ui-and-ux-design-and-other-tweeted-links.json
writing `the-difference-and-relation-between-ui-and-ux-design-and-other-tweeted-links`...
the-fat-getter-and-other-mvvm-anti-patterns.json
writing `the-fat-getter-and-other-mvvm-anti-patterns`...
the-golden-age-of-ux-and-other-tweeted-links.json
writing `the-golden-age-of-ux-and-other-tweeted-links`...
the-guide-to-integrating-and-styling-icon-systems-svg-sprites-and-other-tweeted-links.json
writing `the-guide-to-integrating-and-styling-icon-systems-svg-sprites-and-other-tweeted-links`...
the-importance-of-the-experimental-transitioning-content-control.json
writing `the-importance-of-the-experimental-transitioning-content-control`...
the-javascript-phenomenon-is-a-mass-psychosis-and-other-tweeted-links.json
writing `the-javascript-phenomenon-is-a-mass-psychosis-and-other-tweeted-links`...
the-most-important-reason-people-chose-aurelia-is-full-support-for-typescript-built-in-and-other-tweeted-links.json
writing `the-most-important-reason-people-chose-aurelia-is-full-support-for-typescript-built-in-and-other-tweeted-links`...
the-mp3-clips-widget-lets-you-play-song-samples-from-amazon-s-drm-free-mp3-catalog-and-other-tweeted-links.json
writing `the-mp3-clips-widget-lets-you-play-song-samples-from-amazon-s-drm-free-mp3-catalog-and-other-tweeted-links`...
the-ornery-twitter-api-1-1-struggling-with-the-lack-of-fresh-documentation.json
writing `the-ornery-twitter-api-1-1-struggling-with-the-lack-of-fresh-documentation`...
WARNING: failed to parse for extract:
<p>The abstract “personality” of Twitter matches the curt, blunt tone coming from the current “leader” of Twitter, CEO Dick Costolo in “<a href="http://thenextweb.com/twitter/2013/09/09/twitters-ceo-says-an-effective-leader-doesnt-care-what-people-think-and-shouldnt-copy-others/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed:+TheNextWeb+(The+Next+Web+All+Stories">Twitter’s CEO says a leader doesn’t care what people think and shouldn’t copy others</a>” (by Ken Yeung). It took me a ridiculously large time to solve my problem with the Twitter API (version 1.1) because of Twitter culture not caring what I think (especially as a .NET developer).</p><p>I am not alone. Collectively, Twitter doesn’t care what Tom Scott of the <a href="http://www.tomscott.com/klouchebag/">“dead” KloucheBag</a> thinks either:</p><blockquote><p>They’re steadily squeezing out third-party clients like Tweetbot, Echofon and Dabr, and they’re removing unauthenticated API calls. The latter means that every Twitter app, no matter how minor, will require a “Sign in with Twitter” button.</p></blockquote><p>What Tom is saying here is not exactly true: what he might say after a little Twitter-soul searching is every Twitter app <em>that matters</em> will require a Twitter button. You see folks my app does not matter because it is built for me, alone. I am a registered developer with Twitter. I have registered my application with Twitter—and for my troubles I was given keys and secrets that I can send to Twitter and pretty much do what I want <em>as long as I am working with my own Twitter account</em>.</p><p>So: for a .NET developer like me who make apps that don’t matter I recommend installing the NuGet Package <code>LinqToTwitter</code> and then doing a little something like this (in ASP.NET MVC space):</p><pre xml:space="preserve">
[HttpPost]
public ActionResult TwitterItems()
{
    var authorizer = this.GetLinqToTwitterCredentialsAndAuthorizer();
    var ctx = new TwitterContext(authorizer);
    var query = ctx.Favorites
        .Where(i =&gt; i.Type == FavoritesType.Favorites)
        .Where(i =&gt; i.Count == 50)
        .Where(i =&gt; i.IncludeEntities == true);
    var count = query.Count();
    if (count == 0) throw new TwitterQueryException("No items were found.");
    var favorites = query.ToList();
    if (favorites == null) throw new TwitterQueryException("No items were found.");
    return this.Json(favorites);
}
</pre><p>I make it look so easy after all of my unknowns are known. But I can assure you it was a ridiculously comical nightmare to get to this level of simplicity—and it is all for an app that does not really matter (because it is designed for one Twitter account—<em>my</em> account).</p><h3>Twitter Documentation ‘Misleading’</h3><p>The Twitter REST API documentation should introduce itself to newbies by prioritizing “<a href="https://dev.twitter.com/docs/auth">Authentication &amp; Authorization</a>.” The opinion here is that it is ‘misleading’ to visually position this subject below or next to other REST API subjects. It should be made clear that, in the 1.1 API world, you can do <em>nothing</em> unless you get authentication and authorization working. The academic subtlety of a statement like “Be sure and read about <a href="https://dev.twitter.com/docs/auth">Authentication &amp; Authorization</a>” does not suggest that it is a prerequisite instead of an optional detail.</p><p>Once a Twitter application is defined I suggest starting with cURL by selecting the OAuth Tool for the application and press the <strong>See OAuth signature for this request</strong> button. Greg Williams details this in “<a href="http://greglib.org/using-twitters-oauth-tool/">Using Twitter’s OAuth Tool</a>.” From my Ubuntu command line, we have verification that Twitter is working with your account:</p><pre xml:space="preserve">
curl --get 'https://api.twitter.com/1.1/favorites/list.json' --data 'count=2&amp;screen_name=BryanWilhite' --header 'Authorization: OAuth oauth_consumer_key="[your key]", oauth_nonce="[nonce]", oauth_signature="[signature]", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1373088858", oauth_token="[token]", oauth_version="1.0"' –verbose
</pre><p>This cURL statement is altered from the one provided by Twitter as it is retrieving just two of my Favorites from my account with get operation, <code>--get 'https://api.twitter.com/1.1/favorites/list.json'</code>, with data parameter, <code>--data 'count=2&amp;screen_name=BryanWilhite'</code>. The rest of the cURL statement comes from Twitter.</p><p>This cURL command represents a request for a Twitter app that ‘does not matter’—it represents what Twitter calls an “<a href="https://dev.twitter.com/docs/auth/application-only-auth">application-only auth</a>” request opposed to an “<a href="https://dev.twitter.com/docs/auth/obtaining-access-tokens">OAuth signed</a>” request. But this classification feels ‘misleading’ to me because both requests use OAuth—right? No?</p><h3>“Authorizers” in LinqToTwitter</h3><p>Most of the ‘comical’ misery with Twitter comes in generating the Authorization header. You can literally see this by measuring how much our cURL command above is dominated by authorization data. In the world of <code>LinqToTwitter</code>, the ‘seed’ that generates the header is the <em>authorizer</em>.</p><p>It took me months to find that the authorizer for my limited needs is the <code>SingleUserAuthorizer</code> (which should be called—according to Twitter documentation—“application-only-authorizer”?) From my ASP.NET MVC example above we have:</p><pre xml:space="preserve">
ITwitterAuthorizer GetLinqToTwitterCredentialsAndAuthorizer()
{
    var data = new OpenAuthorizationData(ConfigurationManager.AppSettings);
    var authorizer = new SingleUserAuthorizer
    {
        Credentials = new InMemoryCredentials
        {
            ConsumerKey = data.ConsumerKey,
            ConsumerSecret = data.ConsumerSecret,
            OAuthToken = data.Token,
            AccessToken = data.TokenSecret
        },
    };
    return authorizer;
}
</pre><p>The <code>OpenAuthorizationData</code> instance is of a little housekeeping class I use to clearly define my keys and secrets.</p><h3>Related Links</h3><table class="WordWalkingStickTable"><tr><td><p>“<a href="http://stackoverflow.com/questions/7855347/how-to-get-tweets-html-with-linqtotwitter">How to get tweet’s HTML with LinqToTwitter?</a>”</p></td><td><p>I will need something like <code>TwitterExtensions</code> for a WPF version of my little project.</p></td></tr><tr><td><p>“<a href="http://linqtotwitter.codeplex.com/discussions/449076">How to get HTML instead of plain text (Status.Text)</a>”</p></td><td><p>“There’s an <code>Entities</code> property that contains metadata for various parts of a tweet, including the Start and End character positions. One of those is <code>UrlEntities</code>, which you can use to determine where the URLs are in the tweet. With that, you can write code to arrange the entities and work backwards through the tweet to transform the text into HTML.”</p></td></tr><tr><td><p>“<a href=" https://linqtotwitter.codeplex.com/wikipage?title="Single" User Authorization">Implementing Single User Authorization</a>”</p></td><td><p>“The <code>SingleUserAuthorizer</code> allows you to fill in all of your credentials at one time, bypassing the user-centric authorization process. It's designed for application-only operations…”</p></td></tr><tr><td><p>“<a href="http://stackoverflow.com/questions/2141251/how-do-i-tweet-using-the-dotnetopenauth-library">How do I tweet, using the DotNetOpenAuth library?</a>”</p></td><td><p>“…it would probably be much easier for you to download <code>LinqToTwitter</code>, which uses <code>DotNetOpenAuth</code> and offers an extensive Twitter library to do most/all the operations Twitter supports.”</p></td></tr><tr><td><p>“<a href="https://github.com/DotNetOpenAuth/DotNetOpenAuth/blob/master/samples/DotNetOpenAuth.ApplicationBlock/OAuth1/TwitterConsumer.cs">TwitterConsumer.cs</a>”</p></td><td><p>I tried and failed to get something like this working on a Windows Azure Websites server (see also: “<a href="http://stackoverflow.com/questions/15883368/2-legged-oauth-with-dotnetopenauth-and-twitter-getting-a-401-error">2-legged OAuth with DotNetOpenAuth and Twitter. Getting a 401 error</a>”).</p></td></tr><tr><td><p>“<a href="http://factoryjoe.com/blog/2010/05/16/combing-openid-and-oauth-with-openid-connect/">Two tastes better together: Combining OpenID and OAuth with OpenID Connect</a>”</p></td><td><p>“OpenID, by design, favors the user rather than the relying party. In contrast, technologies like Facebook and Twitter Connect emphasize the benefits to relying parties. So while it might seem like an inconvenience to custom-tailor your personal privacy settings on Facebook, the liberal defaults are meant to make Facebook users’ accounts more valuable to relying parties than other, more privacy-preserving account configurations.”</p></td></tr><tr><td><p>“<a href="https://www.simple-talk.com/cloud/platform-as-a-service/managing-session-state-in-windows-azure-what-are-the-options/">Managing session state in Windows Azure: What are the options?</a>”</p></td><td><p>When I was ignorant of the usefulness of <code>LinqToTwitter</code> and <code>SingleUserAuthorizer</code>, I assumed that I needed Session State support on Windows Azure to properly handle Twitter authentication and authorization. I thought that manually logging in to Twitter was the <em>only </em>way to access the REST API.</p></td></tr><tr><td><p>“<a href="http://www.arunrana.net/2011/12/how-to-maintain-session-state-in-window.html">How to maintain session state in Window Azure</a>”</p></td><td><p>It turns out that I was quite pleased with my success with implementing session state with <code>TableStorageSessionStateProvider</code>. So this digression from my Twitter problems should pay off later.</p></td></tr><tr><td><p>“<a href="http://msdn.microsoft.com/en-us/library/windowsazure/gg185668.aspx">Session State Provider for Windows Azure Cache</a>”</p></td><td><p>Table Storage worked for me: I do not recall getting this cache-based stuff up and running (see also: “<a href="http://www.dotnetcurry.com/ShowArticle.aspx?ID=865">Introducing Windows Azure Caching</a>”).</p></td></tr><tr><td><p>“<a href=" http://linqtotwitter.codeplex.com/wikipage?title="Implementing" OAuth for ASP.NET  MVC&amp;referringTitle="Learning" to use OAuth">Implementing OAuth for MVC Applications</a>”</p></td><td><p>Even though this documentation is from <code>LinqToTwitter</code> people it was total fail for me. I assume that I could not get it to work because I am running MVC on Windows Azure.</p></td></tr><tr><td><p>“<a href="http://stackoverflow.com/questions/12198734/getting-twitter-access-secret-using-dotnetopenauth-in-mvc4">Getting Twitter Access Secret using DotNetOpenAuth in MVC4</a>”</p></td><td><p>For a very large time I assumed that I could get things to working solely with <code>DotNetOpenAuth</code>. Nope. By the way, there is no official answer to this StackOverflow.com question. Also: it was this question that really helped me to distinguish between <em>authentication</em> and <em>authorization</em>: “The <code>DotNetOpenAuth.AspNet.Clients.TwitterClient</code> class only allows authentication, not authorization. So you wouldn't be able to post tweets as that user if you use that class. Instead, you can use <code>DotNetOpenAuth.ApplicationBlock.TwitterConsumer</code> [<a href="http://nuget.org/packages/DotNetOpenAuth.ApplicationBlock">http://nuget.org/packages/DotNetOpenAuth.ApplicationBlock</a>], which does not share this limitation and you can even copy the source code for this type into your application and extend it as necessary.”</p></td></tr><tr><td><p>“<a href="https://coderwall.com/p/j9essg">DotNetOpenAuth.AspNet Twitter,Facebook,Google,Microsoft,LinkedIn Authentication</a>”</p></td><td><p>I could not get this example to work on Windows Azure. I kept getting that 401 unauthorized error. This may be the right to mention that Twitter folk should save detailed error messages for developers available for viewing on dev.twitter.com.</p></td></tr><tr><td><p>“<a href="http://stackoverflow.com/questions/4002847/oauth-with-verification-in-net">OAuth with Verification in .NET</a>”</p></td><td><p>“I agree with you. The open-source OAuth support classes available for .NET apps are hard to understand, overly complicated (how many methods are exposed by <code>DotNetOpenAuth</code>?), poorly designed (look at the methods with 10 string parameters in the <code>OAuthBase.cs</code> module from that google link you provided—there’s no state management at all), or otherwise unsatisfactory.”</p></td></tr><tr><td><p>“<a href="http://ronzohan.blogspot.com/2013/01/how-to-connect-in-twitter-using-php.html">How to Connect in Twitter API Using PHP</a>”</p></td><td><p>Okay here is the punch line: the PHP code in this article modified slightly for my Windows Azure Websites server ran flawlessly. No problems whatsoever!</p></td></tr><tr><td><p>“<a href="http://netitude.bc3tech.net/2013/02/22/multi-service-authentication-the-easy-way/">Multi-service Authentication the Easy Way</a>”</p><p>“<a href="http://www.dotnetcurry.com/ShowArticle.aspx?ID=860">Enabling Twitter OAuth For An Azure Mobile Service (Zumo) in a Windows 8 Game</a>”</p></td><td><p>A bunch of Windows 8 and Windows Azure links related to OAuth.</p></td></tr><tr><td><p>“<a href="http://www.simonwhatley.co.uk/parsing-twitter-usernames-hashtags-and-urls-with-javascript">Parsing Twitter Usernames, Hashtags and URLs with JavaScript</a>”</p></td><td><p>I am using these techniques for the MVC version of my little app.</p></td></tr></table><p> </p>
Message: 'Single' is an unexpected token. Expecting whitespace. Line 35, position 1090.
StackTrace:    at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content, ITestOutputHelper testOutputHelper) in e:\~sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 39
the-powershell-clear-history-command-on-windows-10.json
writing `the-powershell-clear-history-command-on-windows-10`...
the-second-era-of-cloud-platforms-will-dwarf-the-first-and-other-tweeted-links.json
writing `the-second-era-of-cloud-platforms-will-dwarf-the-first-and-other-tweeted-links`...
the-silverlight-business-application-project-and-ntlm.json
writing `the-silverlight-business-application-project-and-ntlm`...
the-songhay-home-drive-on-a-new-vm.json
writing `the-songhay-home-drive-on-a-new-vm`...
the-songhay-system-by-net-namespaces.json
writing `the-songhay-system-by-net-namespaces`...
the-songhay-system-ubuntu-vms-in-review.json
writing `the-songhay-system-ubuntu-vms-in-review`...
the-svg-path-syntax-an-illustrated-guide-and-other-tweeted-links.json
writing `the-svg-path-syntax-an-illustrated-guide-and-other-tweeted-links`...
the-three-things-i-have-done-about-failing-in-job-interviews.json
writing `the-three-things-i-have-done-about-failing-in-job-interviews`...
the-troubles-with-javascript-modules-and-other-tweeted-links.json
writing `the-troubles-with-javascript-modules-and-other-tweeted-links`...
the-typography-of-bootstrap.json
writing `the-typography-of-bootstrap`...
the-youtube-api-and-oauth-confirmation.json
writing `the-youtube-api-and-oauth-confirmation`...
there-are-at-least-five-services-that-can-process-your-static-form-for-you-and-other-tweeted-links.json
writing `there-are-at-least-five-services-that-can-process-your-static-form-for-you-and-other-tweeted-links`...
this-year-s-8-smartest-ui-design-ideas-and-other-tweeted-links.json
writing `this-year-s-8-smartest-ui-design-ideas-and-other-tweeted-links`...
tip-how-to-quickly-format-someone-else-s-xaml.json
writing `tip-how-to-quickly-format-someone-else-s-xaml`...
tip-temporarily-converting-a-wpf-library-project-to-an-executable-winexe-project.json
writing `tip-temporarily-converting-a-wpf-library-project-to-an-executable-winexe-project`...
WARNING: failed to parse for extract:
<p>Developers that pattern after Prism can find themselves generating “modules” as Class Library projects. In Visual Studio 2012 (or earlier), when the <strong>Application &gt; Output type:</strong> is <strong>Class Library</strong> it will not be possible to add a new <code>Window</code><acronym title="Extensible Application Markup Language">XAML</acronym> file to the project. The <strong>New Item…</strong> dialog (with the WPF node selected) will only contain the <strong>User Control</strong> option.</p><p>To work around this situation, select <strong>Edit Project File</strong> and change <code>OutputType</code> to <code>WinExe</code> (from <code>Library</code>). You may also need to add a <code>&lt;ProjectTypeGuids&gt;</code> element shown below:</p>
<!-- cSpell:disable="cSpell:disable" -->
<iframe class="rx-inline-frame"
    onload=" this.style.height="this.contentDocument.body.scrollHeight" +'px';"
    height="100%"  width="!*m120"     frameborder="0"  border="!*m156"     scrolling="no"
    src="./Inline/GitHubGist/1dfd94aa4dd80de3decd">
</iframe>
<!-- cSpell:enable="cSpell:enable" -->
<p>Surely this issue is fixed in Visual Studio 2013? Right?</p>
Message: 'this.contentDocument.body.scrollHeight' is an unexpected token. Expecting whitespace. Line 4, position 33.
StackTrace:    at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content, ITestOutputHelper testOutputHelper) in e:\~sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 39
tom-preston-werner-created-jekyll-to-enable-people-to-blog-using-a-simple-static-html-website-and-other-tweeted-links.json
writing `tom-preston-werner-created-jekyll-to-enable-people-to-blog-using-a-simple-static-html-website-and-other-tweeted-links`...
top-5-tips-for-running-external-commands-in-powershell-and-other-tweeted-links.json
writing `top-5-tips-for-running-external-commands-in-powershell-and-other-tweeted-links`...
top-accessibility-complaints-from-people-with-disabilities-and-other-tweeted-links.json
writing `top-accessibility-complaints-from-people-with-disabilities-and-other-tweeted-links`...
tour-of-f-microsoft-docs-and-other-tweeted-links.json
writing `tour-of-f-microsoft-docs-and-other-tweeted-links`...
typescript-angular-2-s-secret-weapon-and-other-tweeted-links.json
writing `typescript-angular-2-s-secret-weapon-and-other-tweeted-links`...
underscore-js-grouping.json
writing `underscore-js-grouping`...
understanding-aspnet-core-initialization-and-other-tweeted-links.json
writing `understanding-aspnet-core-initialization-and-other-tweeted-links`...
understanding-the-microsoft-surface-a-sort-of-review-and-other-tweeted-links.json
writing `understanding-the-microsoft-surface-a-sort-of-review-and-other-tweeted-links`...
understanding-the-role-of-startup-cs-file-in-aspnet-core-and-other-tweeted-links.json
writing `understanding-the-role-of-startup-cs-file-in-aspnet-core-and-other-tweeted-links`...
understanding-the-user-in-user-experience-curated-by-uxceo-and-other-tweeted-links.json
writing `understanding-the-user-in-user-experience-curated-by-uxceo-and-other-tweeted-links`...
unit-testing-with-mvcroutetester-mvc5-2-webconfigtransformrunner-and-nuget-core.json
writing `unit-testing-with-mvcroutetester-mvc5-2-webconfigtransformrunner-and-nuget-core`...
WARNING: failed to parse for extract:
<p>After researching this, I understand why there are no articles entitled “Unit Testing with <code>WebConfigTransformRunner</code>.” This <a href="https://github.com/erichexter/WebConfigTransformRunner">NuGet package</a> contains an <code>*.exe</code>: it is not meant to be referenced in Visual Studio as a Class library. To make this matter even more challenging, Phil Haack and his crew have very little documentation on <code>NuGet.Core</code>—and getting Anthony Steele’s MVC Route Tester in play was no walk in park either.</p><p>So let me state the original desire, since the previous paragraph flippantly starts off somewhere in the middle: I want to unit-test XML document transforms (XDT) on my <code>Web.config</code> files and I want to test <em>attribute-based</em> MVC routes. I also want to use Visual Studio Test (<code>vstest.console.exe</code>) projects so automated-testing hipsters can howl at me with derisive laughter.</p><h3>Testing with MvcRouteTester.Mvc5.2</h3><p>Speaking of ease, my <code>ShouldRouteToIndexController()</code> Visual Studio Test method shows that I can test routes with just three lines of code:</p><pre xml:space="preserve">
[TestMethod]
[TestProperty("jsonPath", @"Songhay.Blog.Tests\ShouldRouteToIndexController.json")]
public void ShouldRouteToIndexController()
{
    var jsonPath = this.TestContext.Properties["jsonPath"].ToString();
    jsonPath = Path.Combine(this.TestContext.ShouldGetProjectsFolder(this.GetType()), jsonPath);
    this.TestContext.ShouldTestRoutes(typeof(IndexController), jsonPath);
}
    </pre><p>Some programmers like to brag about so few lines of code—and then we like to go further and proclaim it’s really just <em>one</em> line of code. In my example above, <code>TestContext.ShouldTestRoutes()</code>, an extension method I wrote, is <em>really</em> doing the test—all the other stuff is there to serve this single line. The intention is to load <code>ShouldRouteToIndexController.json</code> into <code>TestContext.ShouldTestRoutes()</code>, making this test very reusable and very data driven. The JSON data look like this:</p><pre xml:space="preserve">
[
    {
        "route": "/",
        "controller": "Index",
        "action": "Index",
        "isNonRoute": false
    },
    {
        "route": "/entry/show/FOO",
        "controller": "Index",
        "action": "RedirectToAngularSeed",
        "isNonRoute": false
    },
    {
        "route": "/entry/show",
        "controller": "Index",
        "action": null,
        "isNonRoute": true
    }
]
    </pre><p>These data are loaded into that big one-liner. I’ve the <a href="https://gist.github.com/BryanWilhite/d72a8cf8cfd07c0e3c91">GitHub Gist</a> of <code>TestContext.ShouldTestRoutes()</code>:</p>
<!-- cSpell:disable="cSpell:disable" -->
<iframe class="rx-inline-frame"
    onload=" this.style.height="this.contentDocument.body.scrollHeight" +'px';"
    height="100%"  width="!*m120"     frameborder="0"  border="!*m156"     scrolling="no"
    src="./Inline/GitHubGist/d72a8cf8cfd07c0e3c91">
</iframe>
<!-- cSpell:enable="cSpell:enable" -->
<p>My Gist would not be possible without Anthony Steele’s <a href="https://www.nuget.org/packages/MvcRouteTester.Mvc5.2/">MvcRouteTester.Mvc5.2</a>. It was a bit of an ordeal to realize that I needed this package because there are <em>four different versions</em> of MVC Route Tester. Anthony himself <a href="https://twitter.com/AnthonySteele/status/612189239900549120">is quite irritated by this</a> as he as to compile multiple versions of MVC Route Tester for <em>every</em> major version of ASP.NET MVC:</p><blockquote><p>The whole thing of needing a new build for each MVC version is a pain. We are in need of a very different approach...</p></blockquote><h3>Testing with WebConfigTransformRunner and Nuget.Core</h3><p>Eric Hexter gives us <code>WebConfigTransformRunner</code> as an <code>*.exe</code> via a NuGet package. Clearly this package is optimized for the command line. But I still wanted to use it for automated testing and clearly take my childish, one-line-of-code bragging rights. So I’ve wrapped up Eric’s runner in yet another reusable extension method <code>TestContext.ShouldTransformWebConfig()</code>, pictured below:</p><a href="https://www.flickr.com/photos/wilhite/18947684476/in/dateposted-public/" title="TestContext.ShouldTransformWebConfig()" style="display:block;margin:16px;margin-left:auto;margin-right:auto"><img alt="TestContext.ShouldTransformWebConfig()" src="https://farm1.staticflickr.com/544/18947684476_d90890ebb3_z_d.jpg" /></a><p>Before we show <a href="https://gist.github.com/BryanWilhite/c6126bfd6e37b676981f">the Gist of this extension method</a>, let’s have a look inside the collapsed region <code>test properties</code>:</p><a href="https://www.flickr.com/photos/wilhite/18786244970/in/dateposted-public/" title="TestContext.ShouldTransformWebConfig()" style="display:block;margin:16px;margin-left:auto;margin-right:auto"><img alt="TestContext.ShouldTransformWebConfig()" src="https://farm1.staticflickr.com/302/18786244970_c8a92eae6f_z_d.jpg" /></a><p><a href="https://gist.github.com/BryanWilhite/1baba5e63d57c608da83">I’ve written another extension method</a>, <code>ShouldGetNuGetPackageFile()</code>, calling on <code>NuGet.Core</code>:</p>
<!-- cSpell:disable="cSpell:disable" -->
<iframe class="rx-inline-frame"
    onload=" this.style.height="this.contentDocument.body.scrollHeight" +'px';"
    height="100%"  width="!*m120"     frameborder="0"  border="!*m156"     scrolling="no"
    src="./Inline/GitHubGist/1baba5e63d57c608da83">
</iframe>
<!-- cSpell:enable="cSpell:enable" -->
<p>This extension method would not be possible without <code>DefaultPackagePathResolver</code> in the <code>NuGet.Core</code> <a href="https://www.nuget.org/packages/NuGet.Core/">package</a>. It digs into the NuGet packages and finds the path to Hexter’s executable. This path fills the <code>pathToWebConfigTransformRunnerExe</code> argument in <a href="https://gist.github.com/BryanWilhite/c6126bfd6e37b676981f">the Gist</a> of the <code>ShouldTransformWebConfig()</code> extension method:</p>
<!-- cSpell:disable="cSpell:disable" -->
<iframe class="rx-inline-frame"
    onload=" this.style.height="this.contentDocument.body.scrollHeight" +'px';"
    height="100%"  width="!*m120"     frameborder="0"  border="!*m156"     scrolling="no"
    src="./Inline/GitHubGist/c6126bfd6e37b676981f">
</iframe>
<!-- cSpell:enable="cSpell:enable" -->
<p>I understand how one can be overcome by my use of extension methods. In my extension method <code>ShouldTransformWebConfig()</code>, we have—wow—another interesting extension method, <code>StartProcessAndWaitForExit()</code> which actually runs Hexter’s executable. I should have written this years ago! <a href="https://gist.github.com/BryanWilhite/d63e5d36f1e14dac867a.js">Here’s the gist</a> for <code>StartProcessAndWaitForExit()</code>:</p>
<!-- cSpell:disable="cSpell:disable" -->
<iframe class="rx-inline-frame"
    onload=" this.style.height="this.contentDocument.body.scrollHeight" +'px';"
    height="100%"  width="!*m120"     frameborder="0"  border="!*m156"     scrolling="no"
    src="./Inline/GitHubGist/d63e5d36f1e14dac867a">
</iframe>
<!-- cSpell:enable="cSpell:enable" -->
<p>After <code>WebConfigTransformRunner</code> runs, its output is tested with the contents of the <code>xPaths</code> argument. This type of argument makes the testing, again, data driven. Inside that collapsed region, <code>test properties</code>, my other, <em>other</em> extension method, <code>ShouldLoadListOfStrings()</code> (a simple wrapper for <code>File.ReadAllLines(path)</code>), loads simple text file, <code>ShouldTransformWebConfigXPaths.txt</code>, data-driving this test with these old-school XPath statements:</p><pre xml:space="preserve">
//system.webServer/staticContent/mimeMap[@fileExtension='.json']
//system.webServer/staticContent/mimeMap[@fileExtension='.opml']
    </pre><h3>Okay folks, one last extension method for today…</h3><p>Do notice that none of these automated tests used absolute paths. All of the paths to set up the tests were relative. This is possible (in part) because I set up my Visual Studio projects folder like this:</p><pre xml:space="preserve">
[root]
    \packages
    \Project.Shared
    \Project.Shared.Tests
    \Project.One
    \Project.One.Tests
    \Project.Two
    \Project.Two.Tests
    Solution.One.sln
    Solution.Two.sln
    </pre><p>I am sure that Microsoft have very great reasoning around why Visual Studio prefers to wrap each <code>*.sln</code> file in its own folder by default. But my intent is to share Project <em>source code</em> across multiple projects. Today I am under the impression that the best way to do this is with the folder layout above—so, for example, both solutions, <code>Solution.One</code> and <code>Solution.Two</code>, can easily share <code>Project.Shared</code>.</p><p>This conventional folder layout leads to my last extension method for today, <code>TestContext.ShouldGetProjectsFolder()</code>. It is used in both the tests mentioned in this article. This is a simple wrapper around one of my very old utility-class (or “helper” class) methods <code>FrameworkAssemblyUtility.GetAssemblyDirectory()</code> (a simple wrapper around <code>Path.GetDirectoryName(targetAssembly.Location)</code>):</p><pre xml:space="preserve">
/// &lt;summary&gt;
/// Test context extensions: should get projects folder.
/// &lt;/summary&gt;
/// &lt;param name="context"&gt;The context.&lt;/param&gt;
/// &lt;param name="typeInAssembly"&gt;The type in assembly.&lt;/param&gt;
public static string ShouldGetProjectsFolder(this TestContext context, Type typeInAssembly)
{
    Assert.IsNotNull(typeInAssembly, "The expected type instance is not here.");
    var assembly = typeInAssembly.Assembly;
    var path = FrameworkAssemblyUtility.GetAssemblyDirectory(assembly);
    path = path.Remove(path.IndexOf(typeInAssembly.Namespace));
    context.ShouldFindFolder(path);
    return path;
}
    </pre><p>I am embarrassed to admit that it took me <em>years</em> to really trim the cognitive load to write something as straight-forward as <code>ShouldGetProjectsFolder()</code>. It will be reused in all of my automated tests that depend on static files—I prefer this approach over the ceremony around <a href="https://msdn.microsoft.com/en-us/library/ms182475.aspx">Deployment Item</a> setup.</p>
Message: 'this.contentDocument.body.scrollHeight' is an unexpected token. Expecting whitespace. Line 34, position 33.
StackTrace:    at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content, ITestOutputHelper testOutputHelper) in e:\~sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 39
unusual-ways-of-boosting-up-app-performance-lambdas-and-linqs-and-other-tweeted-links.json
writing `unusual-ways-of-boosting-up-app-performance-lambdas-and-linqs-and-other-tweeted-links`...
upgrading-to-angular-v6-step-by-step-and-other-tweeted-links.json
writing `upgrading-to-angular-v6-step-by-step-and-other-tweeted-links`...
using-angularjs-for-data-visualisations-and-other-tweeted-links.json
writing `using-angularjs-for-data-visualisations-and-other-tweeted-links`...
using-aurelia-and-redux-together-for-good-times-all-around-and-other-tweeted-links.json
writing `using-aurelia-and-redux-together-for-good-times-all-around-and-other-tweeted-links`...
using-azure-cdn-with-cors-and-other-tweeted-links.json
writing `using-azure-cdn-with-cors-and-other-tweeted-links`...
using-background-audio-in-a-uwp-app-for-xbox-and-other-tweeted-links.json
writing `using-background-audio-in-a-uwp-app-for-xbox-and-other-tweeted-links`...
using-color-psychology-for-better-website-results-and-other-tweeted-links.json
writing `using-color-psychology-for-better-website-results-and-other-tweeted-links`...
using-gem-install-sass-pre-on-windows-10.json
writing `using-gem-install-sass-pre-on-windows-10`...
using-gulp-ruby-sass-on-an-ubuntu-virtual-machine-with-some-history.json
writing `using-gulp-ruby-sass-on-an-ubuntu-virtual-machine-with-some-history`...
WARNING: failed to parse for extract:
<p>My Ubuntu virtual machine (VM) is older than Node JS, grunt or gulp. Years ago I actually installed <a href="http://wylbur.us/2014-06-12-installing-sass-on-ubuntu-1404">ruby-based sass</a> and used it with many discomforts from the command line—without the benefit of <em>any</em> automated workflow. I cannot remember exactly but I recall choosing the ruby flavor of sass over what is now called <a href="https://github.com/sass/libsass">libsass</a> because (I think) the ruby version had more features in spite of it being slower.</p><p>Because my VM is so old (even though it is now upgraded to the latest LTS version of Ubuntu), when I went to install <code>gulp-ruby-sass</code>, just like any node-loving kid, I ignored one innocent <a href="https://www.npmjs.com/package/gulp-ruby-sass">comment on the website</a>:</p><blockquote><p>You must have Sass &gt;=3.4.</p></blockquote><p>Of course it took me hours to figure this out (in part because no errors our any output appeared) but I needed to <a href="http://askubuntu.com/questions/92468/how-do-i-update-to-the-latest-version-of-sass/92471?stw=2">run two commands</a> to get <code>gulp-ruby-sass</code> to work properly:</p><pre xml:space="preserve">
sudo gem uninstall -Iax haml-edge
sudo gem install sass --pre
    </pre><p>I’ve saved my <code>gulpfile.js</code> as a GitHub Gist, showing use of <code>gulp-rename</code> and <code>gulp-sourcemaps</code>:</p>
<!-- cSpell:disable="cSpell:disable" -->
<iframe class="rx-inline-frame"
    onload=" this.style.height="this.contentDocument.body.scrollHeight" +'px';"
    width="100%"  height="!*m119"     frameborder="0"  border="!*m156"     scrolling="no"
    src="./Inline/GitHubGist/c453a5b91f87ad8641eb">
</iframe>
<!-- cSpell:enable="cSpell:enable" -->
<p>This, by the way, is the Gulp file for a future version of kintespace.com.</p>
Message: 'this.contentDocument.body.scrollHeight' is an unexpected token. Expecting whitespace. Line 7, position 33.
StackTrace:    at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
   at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text)
   at Songhay.Publications.Tests.LegacyMigrationTests.GetExtract(String content, ITestOutputHelper testOutputHelper) in e:\~sourceRoot\Blog\shell\Songhay.Publications.Tests\LegacyMigrationTests.cs:line 39
using-page-objects-to-overcome-protractor-s-shortcomings-and-other-tweeted-links.json
writing `using-page-objects-to-overcome-protractor-s-shortcomings-and-other-tweeted-links`...
using-scriptcs-to-generate-epub-xhtml.json
writing `using-scriptcs-to-generate-epub-xhtml`...
using-swashbuckle-to-generate-arbitrary-xml-example-values.json
writing `using-swashbuckle-to-generate-arbitrary-xml-example-values`...
using-swashbuckle-to-support-swaggerfied-xml-production-and-consumption.json
writing `using-swashbuckle-to-support-swaggerfied-xml-production-and-consumption`...
using-web-assembly-to-speed-up-your-angular-application-and-other-tweeted-links.json
writing `using-web-assembly-to-speed-up-your-angular-application-and-other-tweeted-links`...
ux-improving-user-flow-through-page-transitions-and-other-tweeted-links.json
writing `ux-improving-user-flow-through-page-transitions-and-other-tweeted-links`...
visual-studio-ctp3-with-xunit-testing-for-vnext-projects-and-other-tweeted-links.json
writing `visual-studio-ctp3-with-xunit-testing-for-vnext-projects-and-other-tweeted-links`...
web-essentials-1-4-for-visual-studio-and-other-tweeted-links.json
writing `web-essentials-1-4-for-visual-studio-and-other-tweeted-links`...
what-is-github-pages-and-other-tweeted-links.json
writing `what-is-github-pages-and-other-tweeted-links`...
what-s-any-roadmap-toward-robust-odata-support-for-swashbuckle-swagger-and-other-tweeted-links.json
writing `what-s-any-roadmap-toward-robust-odata-support-for-swashbuckle-swagger-and-other-tweeted-links`...
what-s-new-and-coming-for-glimpse-and-other-tweeted-links.json
writing `what-s-new-and-coming-for-glimpse-and-other-tweeted-links`...
what-s-new-for-uwp-developers-in-visual-studio-2017-and-other-tweeted-links.json
writing `what-s-new-for-uwp-developers-in-visual-studio-2017-and-other-tweeted-links`...
what-s-new-in-reactiveui-6-0-and-other-tweeted-links.json
writing `what-s-new-in-reactiveui-6-0-and-other-tweeted-links`...
what-s-new-in-visual-studio-15-preview-5-for-universal-windows-developers-and-other-tweeted-links.json
writing `what-s-new-in-visual-studio-15-preview-5-for-universal-windows-developers-and-other-tweeted-links`...
what-s-new-in-vs-2015-update-2-for-universal-windows-developers-and-other-tweeted-links.json
writing `what-s-new-in-vs-2015-update-2-for-universal-windows-developers-and-other-tweeted-links`...
when-in-bower-doubt-delete-all-of-your-components-and-reinstall.json
writing `when-in-bower-doubt-delete-all-of-your-components-and-reinstall`...
where-will-ux-design-be-in-5-years-and-other-tweeted-links.json
writing `where-will-ux-design-be-in-5-years-and-other-tweeted-links`...
why-all-the-lambdas-and-other-tweeted-links.json
writing `why-all-the-lambdas-and-other-tweeted-links`...
why-does-c-use-utf-16-for-strings-and-other-tweeted-links.json
writing `why-does-c-use-utf-16-for-strings-and-other-tweeted-links`...
why-does-firefox-have-such-poor-responsive-image-support.json
writing `why-does-firefox-have-such-poor-responsive-image-support`...
why-does-git-commit-not-save-my-changes-and-other-tweeted-links.json
writing `why-does-git-commit-not-save-my-changes-and-other-tweeted-links`...
why-every-user-experience-designer-needs-to-think-about-ux-in-real-life-and-other-tweeted-links.json
writing `why-every-user-experience-designer-needs-to-think-about-ux-in-real-life-and-other-tweeted-links`...
why-graphql-advantages-disadvantages-and-alternatives-and-other-tweeted-links.json
writing `why-graphql-advantages-disadvantages-and-alternatives-and-other-tweeted-links`...
why-is-react-is-taking-over-front-end-development-and-other-tweeted-links.json
writing `why-is-react-is-taking-over-front-end-development-and-other-tweeted-links`...
why-static-website-generators-are-the-next-big-thing-and-other-tweeted-links.json
writing `why-static-website-generators-are-the-next-big-thing-and-other-tweeted-links`...
windows-10-anniversary-update-desktop-app-converter-preview-and-other-tweeted-links.json
writing `windows-10-anniversary-update-desktop-app-converter-preview-and-other-tweeted-links`...
windows-10-enterprise-anniversary-upgrade-log.json
writing `windows-10-enterprise-anniversary-upgrade-log`...
windows-10-looking-pretty-cool-and-other-tweeted-links.json
writing `windows-10-looking-pretty-cool-and-other-tweeted-links`...
windows-10-minimum-hardware-requirements-for-pc-and-other-tweeted-links.json
writing `windows-10-minimum-hardware-requirements-for-pc-and-other-tweeted-links`...
windows-10-vm-setup.json
writing `windows-10-vm-setup`...
windows-8-1-review-and-other-tweeted-links.json
writing `windows-8-1-review-and-other-tweeted-links`...
windows-8-operating-under-the-influence-and-other-old-ass-tweeted-links.json
writing `windows-8-operating-under-the-influence-and-other-old-ass-tweeted-links`...
with-angular-v6-it-s-now-as-easy-as-ng-add-and-other-tweeted-links.json
writing `with-angular-v6-it-s-now-as-easy-as-ng-add-and-other-tweeted-links`...
word-javascript-api-and-other-tweeted-links.json
writing `word-javascript-api-and-other-tweeted-links`...
working-in-markdown-leaving-behind-typing-a-typeface.json
writing `working-in-markdown-leaving-behind-typing-a-typeface`...
working-with-svg-a-primer-by-sarasoueidan-and-other-tweeted-links.json
writing `working-with-svg-a-primer-by-sarasoueidan-and-other-tweeted-links`...
wpf-prism-migrating-from-mef-to-unity.json
writing `wpf-prism-migrating-from-mef-to-unity`...
write-etl-jobs-in-pure-c-and-other-tweeted-links.json
writing `write-etl-jobs-in-pure-c-and-other-tweeted-links`...
xamarin-evolve-2014-session-recordings-now-available-and-other-tweeted-links.json
writing `xamarin-evolve-2014-session-recordings-now-available-and-other-tweeted-links`...
xamdatagrid-drag-drop-from-excel-to-wpf.json
writing `xamdatagrid-drag-drop-from-excel-to-wpf`...
xamdatagrid-saturation-bombing-a-race-condition.json
writing `xamdatagrid-saturation-bombing-a-race-condition`...
xaml-fontfamily-and-fontsize-as-pts-points-imperatively.json
writing `xaml-fontfamily-and-fontsize-as-pts-points-imperatively`...
xd-essentials-shadows-and-blur-effects-in-modern-ui-design-and-other-tweeted-links.json
writing `xd-essentials-shadows-and-blur-effects-in-modern-ui-design-and-other-tweeted-links`...
yes-finally-here-architecting-ng-apps-with-redux-rxjs-and-nhrx-and-other-tweeted-links.json
writing `yes-finally-here-architecting-ng-apps-with-redux-rxjs-and-nhrx-and-other-tweeted-links`...
you-asked-we-answered-msft-open-sources-wpf-windows-forms-and-windows-ui-xaml-library-and-other-tweeted-links.json
writing `you-asked-we-answered-msft-open-sources-wpf-windows-forms-and-windows-ui-xaml-library-and-other-tweeted-links`...
you-can-t-effectively-replace-cmd-scripts-with-ps1-scripts-without-these-key-powershell-ingredients.json
writing `you-can-t-effectively-replace-cmd-scripts-with-ps1-scripts-without-these-key-powershell-ingredients`...
you-can-t-impress-developers-so-don-t-try-and-other-very-historical-tweeted-links.json
writing `you-can-t-impress-developers-so-don-t-try-and-other-very-historical-tweeted-links`...
you-cannot-use-the-desktop-version-of-microsoft-word-on-files-in-an-onedrive-folder.json
writing `you-cannot-use-the-desktop-version-of-microsoft-word-on-files-in-an-onedrive-folder`...
your-first-angular-2-asp-net-core-project-in-visual-studio-code-and-other-tweeted-links.json
writing `your-first-angular-2-asp-net-core-project-in-visual-studio-code-and-other-tweeted-links`...
BryanWilhite commented 4 years ago

i see 👀 the issue: ConvertToXml is changing this:

"<!-- cSpell:disable -->\n<iframe class=\"rx-inline-frame\"\n    onload=\"this.style.height=this.contentDocument.body.scrollHeight +'px';\"\n    height=\"100%\" width=\"100%\"\n    frameborder=\"0\" border=\"0\"\n    scrolling=\"no\"\n    src=\"./Inline/GitHubGist/4dfb1564fe88dba16625\">\n</iframe>\n<!-- cSpell:enable -->\n"

to this:

<!-- cSpell:disable="cSpell:disable" -->
<iframe class="rx-inline-frame"
    onload=" this.style.height="this.contentDocument.body.scrollHeight" +'px';" 🖐 
    height="100%"  width="!*m120"     frameborder="0"  border="!*m156"     scrolling="no"
    src="./Inline/GitHubGist/4dfb1564fe88dba16625">
</iframe>
<!-- cSpell:enable="cSpell:enable" -->

specifically: onload=\"this.style.height=this.contentDocument.body.scrollHeight +'px';\" => onload=" this.style.height="this.contentDocument.body.scrollHeight" +'px';"

the code causing this issue:

//Find attributes without quotes:
me = new MatchEvaluator(EvaluateElementForMalformedAttribute);
BryanWilhite commented 4 years ago

using this:

public static string GetExtract(string content)
{
    content = Regex.Replace(content, @"<[^>]*>", string.Empty); // see https://stackoverflow.com/a/787951/22944
    content = content.Replace("&nbsp;", string.Empty); // TODO: this should be in HtmlUtility.ConvertToXml().
    var limit = 255;
    content = (content.Length > limit) ? string.Format("{0}...", content.Trim().Substring(0, limit - 1)) : content;
    content = Regex.Replace(content, @"[\r\n]", " "); // replace line breaks with space
    return content;
}
----- Test Execution Summary -----

Songhay.Publications.Tests.LegacyMigrationTests.ShouldMigrateLegacyFromAzS:
    Outcome: Passed
    Standard Output Messages:
    10-awesome-features-of-visual-studio-code-and-other-tweeted-links.json
writing `10-awesome-features-of-visual-studio-code-and-other-tweeted-links`...
14-flat-design-packs-for-your-next-project-and-other-tweeted-links.json
writing `14-flat-design-packs-for-your-next-project-and-other-tweeted-links`...
2016-testing-angular-2-and-other-tweeted-links.json
writing `2016-testing-angular-2-and-other-tweeted-links`...
5-reasons-why-the-windows-tablet-is-coming-to-a-microsoft-store-near-you-and-other-tweeted-links.json
writing `5-reasons-why-the-windows-tablet-is-coming-to-a-microsoft-store-near-you-and-other-tweeted-links`...
6-0-features-part-i-property-initializers-and-other-tweeted-links.json
writing `6-0-features-part-i-property-initializers-and-other-tweeted-links`...
a-2015-meeting-with-jpl-when-i-started-using-linq-in-interviews.json
writing `a-2015-meeting-with-jpl-when-i-started-using-linq-in-interviews`...
a-collection-of-some-of-the-best-data-visualisation-related-content-discovered-during-march-2018-and-other-tweeted-links.json
writing `a-collection-of-some-of-the-best-data-visualisation-related-content-discovered-during-march-2018-and-other-tweeted-links`...
a-complete-guide-to-svg-fallbacks-and-other-tweeted-links.json
writing `a-complete-guide-to-svg-fallbacks-and-other-tweeted-links`...
a-detailed-introduction-to-functional-reactive-programming-frp-and-other-tweeted-links.json
writing `a-detailed-introduction-to-functional-reactive-programming-frp-and-other-tweeted-links`...
a-friendly-introduction-to-machine-learning-and-other-tweeted-links.json
writing `a-friendly-introduction-to-machine-learning-and-other-tweeted-links`...
a-little-bit-about-basic-synchronization.json
writing `a-little-bit-about-basic-synchronization`...
a-modern-day-front-end-development-stack-and-other-tweeted-links.json
writing `a-modern-day-front-end-development-stack-and-other-tweeted-links`...
a-new-look-at-the-songhay-system-cores.json
writing `a-new-look-at-the-songhay-system-cores`...
a-nice-for-reference-just-to-know-what-all-those-m-l-c-and-a-commands-stand-for-in-svg-path-strings-and-other-tweeted-links.json
writing `a-nice-for-reference-just-to-know-what-all-those-m-l-c-and-a-commands-stand-for-in-svg-path-strings-and-other-tweeted-links`...
a-problem-google-has-created-for-itself-and-other-tweeted-links.json
writing `a-problem-google-has-created-for-itself-and-other-tweeted-links`...
a-selection-of-progressive-web-apps-and-other-tweeted-links.json
writing `a-selection-of-progressive-web-apps-and-other-tweeted-links`...
all-you-need-to-know-about-redis-and-other-tweeted-links.json
writing `all-you-need-to-know-about-redis-and-other-tweeted-links`...
an-intro-to-web-hooks-and-other-tweeted-links.json
writing `an-intro-to-web-hooks-and-other-tweeted-links`...
an-introduction-to-documentdb-programming-stored-procedures-triggers-and-udfs-and-other-tweeted-links.json
writing `an-introduction-to-documentdb-programming-stored-procedures-triggers-and-udfs-and-other-tweeted-links`...
an-introduction-to-the-fr-css-unit-and-other-tweeted-links.json
writing `an-introduction-to-the-fr-css-unit-and-other-tweeted-links`...
analyzing-the-hamburger-menu-in-web-design-and-other-tweeted-links.json
writing `analyzing-the-hamburger-menu-in-web-design-and-other-tweeted-links`...
andy-farnell-designing-sound-procedural-computational-audio-lecture-part-1-and-other-tweeted-links.json
writing `andy-farnell-designing-sound-procedural-computational-audio-lecture-part-1-and-other-tweeted-links`...
angular-1-x-2014-how-i-ve-improved-my-angular-apps-by-banning-ng-controller-and-other-tweeted-links.json
writing `angular-1-x-2014-how-i-ve-improved-my-angular-apps-by-banning-ng-controller-and-other-tweeted-links`...
angular-2-and-asp-net-core-a-webcast-and-other-tweeted-links.json
writing `angular-2-and-asp-net-core-a-webcast-and-other-tweeted-links`...
angular-2-for-angular-1-developers-meligy-and-other-tweeted-links.json
writing `angular-2-for-angular-1-developers-meligy-and-other-tweeted-links`...
angular-2-war-stories-and-other-tweeted-links.json
writing `angular-2-war-stories-and-other-tweeted-links`...
angular-5-is-out-and-other-tweeted-links.json
writing `angular-5-is-out-and-other-tweeted-links`...
angular-js-1-x-code-penning-my-way-to-a-new-blog-layout.json
writing `angular-js-1-x-code-penning-my-way-to-a-new-blog-layout`...
angular-js-1-x-grouping-and-sorting-json-driven-sets-with-underscore-js.json
writing `angular-js-1-x-grouping-and-sorting-json-driven-sets-with-underscore-js`...
angular-js-and-checkbox-array-support.json
writing `angular-js-and-checkbox-array-support`...
angular-material-1-0-now-available-and-other-tweeted-links.json
writing `angular-material-1-0-now-available-and-other-tweeted-links`...
angular-testing-quick-start-and-other-tweeted-links.json
writing `angular-testing-quick-start-and-other-tweeted-links`...
angularjs-directive-for-syntax-highlighting-with-highlight-js-and-other-tweeted-links.json
writing `angularjs-directive-for-syntax-highlighting-with-highlight-js-and-other-tweeted-links`...
angularjs-extending-existing-services-using-decorator-and-other-tweeted-links.json
writing `angularjs-extending-existing-services-using-decorator-and-other-tweeted-links`...
angularjs-views-vs-directives-and-other-tweeted-links.json
writing `angularjs-views-vs-directives-and-other-tweeted-links`...
anime-js-polyvalent-javascript-animation-engine-and-other-tweeted-links.json
writing `anime-js-polyvalent-javascript-animation-engine-and-other-tweeted-links`...
announcing-azure-storage-data-movement-library-0-2-0-and-other-tweeted-links.json
writing `announcing-azure-storage-data-movement-library-0-2-0-and-other-tweeted-links`...
announcing-the-asp-net-webhooks-visual-studio-extension-preview-and-other-tweeted-links.json
writing `announcing-the-asp-net-webhooks-visual-studio-extension-preview-and-other-tweeted-links`...
announcing-typescript-2-8-rc-and-other-tweeted-links.json
writing `announcing-typescript-2-8-rc-and-other-tweeted-links`...
announcing-we-just-open-sourced-chakracore-at-github-and-other-tweeted-links.json
writing `announcing-we-just-open-sourced-chakracore-at-github-and-other-tweeted-links`...
another-slather-of-hardware-to-supposedly-make-my-life-better.json
writing `another-slather-of-hardware-to-supposedly-make-my-life-better`...
answer-how-to-use-iframe-in-angularjs-and-other-tweeted-links.json
writing `answer-how-to-use-iframe-in-angularjs-and-other-tweeted-links`...
apple-s-refusal-to-support-progressive-web-apps-is-a-detriment-to-future-of-the-web-and-other-tweeted-links.json
writing `apple-s-refusal-to-support-progressive-web-apps-is-a-detriment-to-future-of-the-web-and-other-tweeted-links`...
ashish-singh-complete-angular2-guide-reactive-forms-in-depth-part-1-and-other-tweeted-links.json
writing `ashish-singh-complete-angular2-guide-reactive-forms-in-depth-part-1-and-other-tweeted-links`...
asp-net-core-angular-client-app-q2-2018.json
writing `asp-net-core-angular-client-app-q2-2018`...
asp-net-web-api-logging-with-textwritertracelistener.json
writing `asp-net-web-api-logging-with-textwritertracelistener`...
asp-net-web-api-ready-state-4-2017.json
writing `asp-net-web-api-ready-state-4-2017`...
aspnet-blog-engines-and-squarespace.json
writing `aspnet-blog-engines-and-squarespace`...
aurelia-and-angular-2-0-code-side-by-side-and-other-tweeted-links.json
writing `aurelia-and-angular-2-0-code-side-by-side-and-other-tweeted-links`...
aurelia-logging-a-minimal-but-effective-logging-mechanism-and-other-tweeted-links.json
writing `aurelia-logging-a-minimal-but-effective-logging-mechanism-and-other-tweeted-links`...
aurelia-q-amp-a-and-other-tweeted-links.json
writing `aurelia-q-amp-a-and-other-tweeted-links`...
azure-container-service-is-now-generally-available-and-other-tweeted-links.json
writing `azure-container-service-is-now-generally-available-and-other-tweeted-links`...
azure-powershell-101-managing-azure-storage-from-the-command-line-shanselman-and-other-tweeted-links.json
writing `azure-powershell-101-managing-azure-storage-from-the-command-line-shanselman-and-other-tweeted-links`...
azure-search-best-practices-for-web-and-mobile-applications-and-other-tweeted-links.json
writing `azure-search-best-practices-for-web-and-mobile-applications-and-other-tweeted-links`...
behind-the-illusions-impossibly-high-performance-layout-animations-and-other-tweeted-links.json
writing `behind-the-illusions-impossibly-high-performance-layout-animations-and-other-tweeted-links`...
better-responsive-images-with-the-picture-element-and-other-tweeted-links.json
writing `better-responsive-images-with-the-picture-element-and-other-tweeted-links`...
bill-flora-and-erik-rath-the-microsoft-design-language.json
writing `bill-flora-and-erik-rath-the-microsoft-design-language`...
blackmagic-s-powerful-and-free-compositing-software-is-coming-to-mac-very-soon-and-other-tweeted-links.json
writing `blackmagic-s-powerful-and-free-compositing-software-is-coming-to-mac-very-soon-and-other-tweeted-links`...
bootstrap-4-alpha-and-other-tweeted-links.json
writing `bootstrap-4-alpha-and-other-tweeted-links`...
bryan-wilhite-service-oriented-user-interface-consultant.json
writing `bryan-wilhite-service-oriented-user-interface-consultant`...
build-a-digital-book-with-epub-and-other-tweeted-links.json
writing `build-a-digital-book-with-epub-and-other-tweeted-links`...
building-a-simple-url-shorten-service-with-redis-and-other-tweeted-links.json
writing `building-a-simple-url-shorten-service-with-redis-and-other-tweeted-links`...
building-an-asp-net-core-website-with-xamarin-forms-xaml-and-ooui-and-other-tweeted-links.json
writing `building-an-asp-net-core-website-with-xamarin-forms-xaml-and-ooui-and-other-tweeted-links`...
building-fluid-interfaces-and-other-tweeted-links.json
writing `building-fluid-interfaces-and-other-tweeted-links`...
chen-hui-jing-explains-how-she-plans-the-setup-for-a-css-grid-layout-and-other-tweeted-links.json
writing `chen-hui-jing-explains-how-she-plans-the-setup-for-a-css-grid-layout-and-other-tweeted-links`...
chocolatey-gui-is-the-way-to-go.json
writing `chocolatey-gui-is-the-way-to-go`...
colors-a-data-driven-collection-of-beautiful-color-palettes-and-other-tweeted-links.json
writing `colors-a-data-driven-collection-of-beautiful-color-palettes-and-other-tweeted-links`...
comparing-bootstrap-with-google-s-new-material-design-lite-and-other-tweeted-links.json
writing `comparing-bootstrap-with-google-s-new-material-design-lite-and-other-tweeted-links`...
complete-control-and-domination-over-my-ubuntu-bash-shell-history.json
writing `complete-control-and-domination-over-my-ubuntu-bash-shell-history`...
composite-uis-for-microservices-and-other-tweeted-links.json
writing `composite-uis-for-microservices-and-other-tweeted-links`...
composite-uis-for-microservices-server-composition-and-other-tweeted-links.json
writing `composite-uis-for-microservices-server-composition-and-other-tweeted-links`...
connecting-to-my-ubuntu-vm-on-azure.json
writing `connecting-to-my-ubuntu-vm-on-azure`...
cors-for-a-dummy.json
writing `cors-for-a-dummy`...
creating-custom-tag-helper-components-with-jass-bagga-and-other-tweeted-links.json
writing `creating-custom-tag-helper-components-with-jass-bagga-and-other-tweeted-links`...
css-grid-gotchas-and-stumbling-blocks-and-other-tweeted-links.json
writing `css-grid-gotchas-and-stumbling-blocks-and-other-tweeted-links`...
css-instead-of-svg-creating-animating-and-morphing-shapes-and-other-tweeted-links.json
writing `css-instead-of-svg-creating-animating-and-morphing-shapes-and-other-tweeted-links`...
css-supports-css-feature-queries-rachelandrew-and-other-tweeted-links.json
writing `css-supports-css-feature-queries-rachelandrew-and-other-tweeted-links`...
customizing-xaml-buttons-prepare-to-repeat-yourself.json
writing `customizing-xaml-buttons-prepare-to-repeat-yourself`...
dapper-entity-framework-and-hybrid-apps-and-other-tweeted-links.json
writing `dapper-entity-framework-and-hybrid-apps-and-other-tweeted-links`...
dar-backing-up-my-blog-blob-storage.json
writing `dar-backing-up-my-blog-blob-storage`...
dark-patterns-user-interfaces-designed-to-trick-people-and-other-tweeted-links.json
writing `dark-patterns-user-interfaces-designed-to-trick-people-and-other-tweeted-links`...
darkpatterns-org-offers-plenty-of-examples-of-deliberately-confusing-or-deceptive-user-interfaces-and-other-tweeted-links.json
writing `darkpatterns-org-offers-plenty-of-examples-of-deliberately-confusing-or-deceptive-user-interfaces-and-other-tweeted-links`...
data-pagination-with-webapi-and-angularjs-and-other-tweeted-links.json
writing `data-pagination-with-webapi-and-angularjs-and-other-tweeted-links`...
ddd-again-beyond-data-transfer-objects-and-extension-methods.json
writing `ddd-again-beyond-data-transfer-objects-and-extension-methods`...
debugging-react-native-with-typescript-and-visual-studio-code-and-other-tweeted-links.json
writing `debugging-react-native-with-typescript-and-visual-studio-code-and-other-tweeted-links`...
delicious-dump-azure-blob-storage-links.json
writing `delicious-dump-azure-blob-storage-links`...
delicious-dump-old-silverlight-links.json
writing `delicious-dump-old-silverlight-links`...
deploying-azure-functions-with-kudu-and-powershell-and-other-tweeted-links.json
writing `deploying-azure-functions-with-kudu-and-powershell-and-other-tweeted-links`...
design-diary-my-small-angular-js-1-x-patterns.json
writing `design-diary-my-small-angular-js-1-x-patterns`...
design-notes-xhtml5-responsive-gallery.json
writing `design-notes-xhtml5-responsive-gallery`...
designing-a-usable-dashboard-and-other-tweeted-links.json
writing `designing-a-usable-dashboard-and-other-tweeted-links`...
designing-motion-smart-transitions-in-ui-design-and-other-tweeted-links.json
writing `designing-motion-smart-transitions-in-ui-design-and-other-tweeted-links`...
does-css-grid-replace-flexbox-and-other-tweeted-links.json
writing `does-css-grid-replace-flexbox-and-other-tweeted-links`...
douglas-crockford-envisions-a-post-javascript-world-and-other-tweeted-links.json
writing `douglas-crockford-envisions-a-post-javascript-world-and-other-tweeted-links`...
downplaying-empty-states-in-design-and-other-tweeted-links.json
writing `downplaying-empty-states-in-design-and-other-tweeted-links`...
dynamic-nested-reactive-forms-in-angular-and-other-tweeted-links.json
writing `dynamic-nested-reactive-forms-in-angular-and-other-tweeted-links`...
eagle-js-a-hackable-slideshow-framework-built-with-vue-js-and-other-tweeted-links.json
writing `eagle-js-a-hackable-slideshow-framework-built-with-vue-js-and-other-tweeted-links`...
ecmascript-2015-has-been-approved-and-other-tweeted-links.json
writing `ecmascript-2015-has-been-approved-and-other-tweeted-links`...
ecmascript-2017-the-final-feature-set-and-other-tweeted-links.json
writing `ecmascript-2017-the-final-feature-set-and-other-tweeted-links`...
embedding-code-pen-and-github-content-in-an-angular-template.json
writing `embedding-code-pen-and-github-content-in-an-angular-template`...
entity-framework-and-json-net.json
writing `entity-framework-and-json-net`...
epubcheck-on-linux-and-other-tweeted-links.json
writing `epubcheck-on-linux-and-other-tweeted-links`...
es2018-was-just-approved-and-other-tweeted-links.json
writing `es2018-was-just-approved-and-other-tweeted-links`...
every-angular-2-vs-react-article-out-there-and-other-tweeted-links.json
writing `every-angular-2-vs-react-article-out-there-and-other-tweeted-links`...
everyday-fonts-these-typefaces-always-work-and-other-tweeted-links.json
writing `everyday-fonts-these-typefaces-always-work-and-other-tweeted-links`...
everything-you-need-to-know-about-change-detection-in-angular-and-other-tweeted-links.json
writing `everything-you-need-to-know-about-change-detection-in-angular-and-other-tweeted-links`...
expression-and-implicit-animations-can-now-be-applied-directly-in-xaml-and-other-tweeted-links.json
writing `expression-and-implicit-animations-can-now-be-applied-directly-in-xaml-and-other-tweeted-links`...
fayde-inspired-by-silverlight-xaml-engine-using-javascript-and-rendering-to-the-html5-canvas-and-other-tweeted-links.json
writing `fayde-inspired-by-silverlight-xaml-engine-using-javascript-and-rendering-to-the-html5-canvas-and-other-tweeted-links`...
finally-we-have-a-legitimate-opensource-replacement-for-flash-and-other-tweeted-links.json
writing `finally-we-have-a-legitimate-opensource-replacement-for-flash-and-other-tweeted-links`...
first-encounter-with-scriptcs-scriptcsnet.json
writing `first-encounter-with-scriptcs-scriptcsnet`...
flexbox-the-animated-tutorial-and-other-tweeted-links.json
writing `flexbox-the-animated-tutorial-and-other-tweeted-links`...
flippant-remarks-about-behaviorsubject.json
writing `flippant-remarks-about-behaviorsubject`...
flippant-remarks-about-dgml-and-visual-studio-code-visualization.json
writing `flippant-remarks-about-dgml-and-visual-studio-code-visualization`...
flippant-remarks-about-karma-jasmine-in-angular.json
writing `flippant-remarks-about-karma-jasmine-in-angular`...
for-windows-10-i-have-a-bunch-of-free-as-in-baby-ubuntu-bash-shells-to-maintain.json
writing `for-windows-10-i-have-a-bunch-of-free-as-in-baby-ubuntu-bash-shells-to-maintain`...
free-database-of-the-entire-web-may-spawn-the-next-google-and-other-tweeted-links.json
writing `free-database-of-the-entire-web-may-spawn-the-next-google-and-other-tweeted-links`...
general-availability-azure-search-parses-json-blobs-and-other-tweeted-links.json
writing `general-availability-azure-search-parses-json-blobs-and-other-tweeted-links`...
generating-a-junction-not-technically-a-symbolic-link-in-windows-10.json
writing `generating-a-junction-not-technically-a-symbolic-link-in-windows-10`...
gestalt-theory-for-ux-design-and-other-tweeted-links.json
writing `gestalt-theory-for-ux-design-and-other-tweeted-links`...
get-started-with-angular-grid-in-5-minutes-and-other-tweeted-links.json
writing `get-started-with-angular-grid-in-5-minutes-and-other-tweeted-links`...
get-started-with-azure-search-in-the-portal-and-other-tweeted-links.json
writing `get-started-with-azure-search-in-the-portal-and-other-tweeted-links`...
get-the-tech-back-in-tech-and-other-tweeted-links.json
writing `get-the-tech-back-in-tech-and-other-tweeted-links`...
getting-started-with-asp-net-core-and-entity-framework-6-and-other-tweeted-links.json
writing `getting-started-with-asp-net-core-and-entity-framework-6-and-other-tweeted-links`...
getting-started-with-aurelia-cli-and-boostrap-and-other-tweeted-links.json
writing `getting-started-with-aurelia-cli-and-boostrap-and-other-tweeted-links`...
getting-started-with-ecmascript-6-and-other-tweeted-links.json
writing `getting-started-with-ecmascript-6-and-other-tweeted-links`...
getting-started-with-grunt-sass-and-task-runner-explorer-and-other-tweeted-links.json
writing `getting-started-with-grunt-sass-and-task-runner-explorer-and-other-tweeted-links`...
getting-started-with-net-on-linux-and-other-mostly-owin-or-web-api-tweeted-links.json
writing `getting-started-with-net-on-linux-and-other-mostly-owin-or-web-api-tweeted-links`...
getting-started-with-shader-effects-in-wpf-and-other-links.json
writing `getting-started-with-shader-effects-in-wpf-and-other-links`...
getting-started-with-vue-js-in-net-core-using-visual-studio-and-other-tweeted-links.json
writing `getting-started-with-vue-js-in-net-core-using-visual-studio-and-other-tweeted-links`...
getting-to-know-the-angular-cdk-drag-and-drop-feature-and-other-tweeted-links.json
writing `getting-to-know-the-angular-cdk-drag-and-drop-feature-and-other-tweeted-links`...
glide-js-a-dependency-free-es6-slider-and-carousel-and-other-tweeted-links.json
writing `glide-js-a-dependency-free-es6-slider-and-carousel-and-other-tweeted-links`...
going-mobile-with-react-native-and-other-tweeted-links.json
writing `going-mobile-with-react-native-and-other-tweeted-links`...
google-interview-cumsum-challenge.json
writing `google-interview-cumsum-challenge`...
greg-young-on-ddd-and-other-tweeted-links.json
writing `greg-young-on-ddd-and-other-tweeted-links`...
here-is-why-you-will-not-find-components-inside-angular-and-other-tweeted-links.json
writing `here-is-why-you-will-not-find-components-inside-angular-and-other-tweeted-links`...
here-s-all-of-the-specifics-about-the-windows-10-devices-event-on-october-6th-and-other-tweeted-links.json
writing `here-s-all-of-the-specifics-about-the-windows-10-devices-event-on-october-6th-and-other-tweeted-links`...
here-s-how-microsoft-will-support-bash-on-windows-10-and-other-tweeted-links.json
writing `here-s-how-microsoft-will-support-bash-on-windows-10-and-other-tweeted-links`...
hexi-flexi-a-css-grid-powered-scss-component-that-creates-a-hexagonal-lattice-and-other-tweeted-links.json
writing `hexi-flexi-a-css-grid-powered-scss-component-that-creates-a-hexagonal-lattice-and-other-tweeted-links`...
hiring-want-to-join-our-mono-coreclr-android-ios-team-and-other-tweeted-links.json
writing `hiring-want-to-join-our-mono-coreclr-android-ios-team-and-other-tweeted-links`...
how-do-you-manually-set-powershell-s-oneget-repository-source-to-chocolatey-and-other-tweeted-links.json
writing `how-do-you-manually-set-powershell-s-oneget-repository-source-to-chocolatey-and-other-tweeted-links`...
how-to-correctly-use-bootstrapjs-and-angularjs-together-and-other-tweeted-links.json
writing `how-to-correctly-use-bootstrapjs-and-angularjs-together-and-other-tweeted-links`...
how-to-create-katana-middleware-and-other-tweeted-links.json
writing `how-to-create-katana-middleware-and-other-tweeted-links`...
how-to-easily-create-modern-material-design-cards-with-html-and-css-and-other-tweeted-links.json
writing `how-to-easily-create-modern-material-design-cards-with-html-and-css-and-other-tweeted-links`...
how-to-improve-your-site-s-ux-and-other-tweeted-links.json
writing `how-to-improve-your-site-s-ux-and-other-tweeted-links`...
how-to-make-responsiveness-super-simple-with-css-variables-and-other-tweeted-links.json
writing `how-to-make-responsiveness-super-simple-with-css-variables-and-other-tweeted-links`...
how-to-make-the-switch-from-graphic-design-to-ux-ui-design-and-other-tweeted-links.json
writing `how-to-make-the-switch-from-graphic-design-to-ux-ui-design-and-other-tweeted-links`...
how-to-recreate-medium-s-article-layout-with-css-grid-and-other-tweeted-links.json
writing `how-to-recreate-medium-s-article-layout-with-css-grid-and-other-tweeted-links`...
how-to-use-odata-client-code-generator-to-generate-client-side-proxy-class-and-other-tweeted-links.json
writing `how-to-use-odata-client-code-generator-to-generate-client-side-proxy-class-and-other-tweeted-links`...
how-to-use-responsive-images-and-other-tweeted-links.json
writing `how-to-use-responsive-images-and-other-tweeted-links`...
huge-number-of-announcement-this-morning-at-build-and-other-tweeted-links.json
writing `huge-number-of-announcement-this-morning-at-build-and-other-tweeted-links`...
i-finally-finally-finally-converted-my-blog-to-angular-modern.json
writing `i-finally-finally-finally-converted-my-blog-to-angular-modern`...
i-just-published-implementing-search-in-graphql-and-other-tweeted-links.json
writing `i-just-published-implementing-search-in-graphql-and-other-tweeted-links`...
i-just-published-rxjs-avoiding-takeuntil-leaks-and-other-tweeted-links.json
writing `i-just-published-rxjs-avoiding-takeuntil-leaks-and-other-tweeted-links`...
i-prefer-not-using-multiple-iqueryable-t-join-calls-and-other-ef-notes.json
writing `i-prefer-not-using-multiple-iqueryable-t-join-calls-and-other-ef-notes`...
i-ve-moved-to-nblog-away-from-blogengine-net.json
writing `i-ve-moved-to-nblog-away-from-blogengine-net`...
i-ve-repeatedly-run-into-the-following-problem-with-bootstrap-s-modal-dialog-and-other-tweeted-links.json
writing `i-ve-repeatedly-run-into-the-following-problem-with-bootstrap-s-modal-dialog-and-other-tweeted-links`...
if-it-weren-t-for-apple-hybrid-app-development-would-be-the-winner-over-native-and-other-tweeted-links.json
writing `if-it-weren-t-for-apple-hybrid-app-development-would-be-the-winner-over-native-and-other-tweeted-links`...
if-you-re-not-already-using-modules-then-you-should-become-familiar-with-the-commonjs-format-and-other-tweeted-links.json
writing `if-you-re-not-already-using-modules-then-you-should-become-familiar-with-the-commonjs-format-and-other-tweeted-links`...
implementing-a-log-inspired-logging-service-in-angular-2-rc-4-and-other-tweeted-links.json
writing `implementing-a-log-inspired-logging-service-in-angular-2-rc-4-and-other-tweeted-links`...
implementing-an-asp-net-core-rc1-logging-provider-and-other-tweeted-links.json
writing `implementing-an-asp-net-core-rc1-logging-provider-and-other-tweeted-links`...
implementing-an-infinite-scroll-with-vue-js-and-other-tweeted-links.json
writing `implementing-an-infinite-scroll-with-vue-js-and-other-tweeted-links`...
implementing-inavigationcontentloader-with-an-abstract-class.json
writing `implementing-inavigationcontentloader-with-an-abstract-class`...
in-page-angular-js-compared-to-in-page-jquery.json
writing `in-page-angular-js-compared-to-in-page-jquery`...
in-response-to-electron-is-flash-for-the-desktop-and-other-tweeted-links.json
writing `in-response-to-electron-is-flash-for-the-desktop-and-other-tweeted-links`...
installed-choco-exe-on-the-azure-vm.json
writing `installed-choco-exe-on-the-azure-vm`...
integrate-shiny-apps-into-regular-webpages-with-responsive-iframe-resizing-and-other-tweeted-links.json
writing `integrate-shiny-apps-into-regular-webpages-with-responsive-iframe-resizing-and-other-tweeted-links`...
integrating-angularjs-amp-three-js-two-patterns-one-app-and-other-tweeted-links.json
writing `integrating-angularjs-amp-three-js-two-patterns-one-app-and-other-tweeted-links`...
inter-view-model-communication.json
writing `inter-view-model-communication`...
interactive-svg-mask-w-full-screen-image-and-other-tweeted-links.json
writing `interactive-svg-mask-w-full-screen-image-and-other-tweeted-links`...
internet-explorer-critical-security-flaw-and-other-tweeted-links.json
writing `internet-explorer-critical-security-flaw-and-other-tweeted-links`...
introducing-aurelia-in-action-and-other-tweeted-links.json
writing `introducing-aurelia-in-action-and-other-tweeted-links`...
introducing-azure-cool-blob-storage-and-other-tweeted-links.json
writing `introducing-azure-cool-blob-storage-and-other-tweeted-links`...
introducing-node-modules-and-bower-components-to-visual-studio-2013.json
writing `introducing-node-modules-and-bower-components-to-visual-studio-2013`...
introducing-npx-an-npm-package-runner-and-other-tweeted-links.json
writing `introducing-npx-an-npm-package-runner-and-other-tweeted-links`...
introducing-postman-for-windows-and-other-tweeted-links.json
writing `introducing-postman-for-windows-and-other-tweeted-links`...
introducing-visual-studio-code-and-other-tweeted-links.json
writing `introducing-visual-studio-code-and-other-tweeted-links`...
introducing-visual-studio-community-2013-and-other-tweeted-links.json
writing `introducing-visual-studio-community-2013-and-other-tweeted-links`...
introduction-material-design-google-design-guidelines-and-other-tweeted-links.json
writing `introduction-material-design-google-design-guidelines-and-other-tweeted-links`...
introduction-to-basics-of-angular-1-4-newrouter-and-other-tweeted-links.json
writing `introduction-to-basics-of-angular-1-4-newrouter-and-other-tweeted-links`...
introduction-to-claims-based-security-in-net4-5-with-c-part-1-and-other-tweeted-links.json
writing `introduction-to-claims-based-security-in-net4-5-with-c-part-1-and-other-tweeted-links`...
introduction-to-flexjs-yishay-weiss-and-other-tweeted-links.json
writing `introduction-to-flexjs-yishay-weiss-and-other-tweeted-links`...
introduction-to-prism-for-xamarin-forms-and-other-tweeted-links.json
writing `introduction-to-prism-for-xamarin-forms-and-other-tweeted-links`...
introduction-to-using-storybook-for-angular-and-other-tweeted-links.json
writing `introduction-to-using-storybook-for-angular-and-other-tweeted-links`...
is-it-possible-to-concatenate-sounds-and-other-tweeted-links.json
writing `is-it-possible-to-concatenate-sounds-and-other-tweeted-links`...
is-jquery-still-relevant-and-other-tweeted-links.json
writing `is-jquery-still-relevant-and-other-tweeted-links`...
it-s-finally-here-materialui-is-now-available-and-other-tweeted-links.json
writing `it-s-finally-here-materialui-is-now-available-and-other-tweeted-links`...
javascript-is-like-leaded-gasoline-toxic-bad-for-everyone-and-other-tweeted-links.json
writing `javascript-is-like-leaded-gasoline-toxic-bad-for-everyone-and-other-tweeted-links`...
jquery-3-0-stops-supporting-internet-explorer-workarounds-and-other-tweeted-links.json
writing `jquery-3-0-stops-supporting-internet-explorer-workarounds-and-other-tweeted-links`...
jupyter-central.json
writing `jupyter-central`...
line-of-sight-it-management-is-it-really-dead.json
writing `line-of-sight-it-management-is-it-really-dead`...
loading-net-configuration-files-as-xdocument-instances.json
writing `loading-net-configuration-files-as-xdocument-instances`...
looking-for-the-goldilocks-of-web-frameworks-and-other-tweeted-links.json
writing `looking-for-the-goldilocks-of-web-frameworks-and-other-tweeted-links`...
looking-forward-microsoft-support-for-secure-shell-ssh-and-other-tweeted-links.json
writing `looking-forward-microsoft-support-for-secure-shell-ssh-and-other-tweeted-links`...
loren-brichter-on-tweetie-2009-and-other-tweeted-links.json
writing `loren-brichter-on-tweetie-2009-and-other-tweeted-links`...
machine-learning-for-developers-and-other-tweeted-links.json
writing `machine-learning-for-developers-and-other-tweeted-links`...
mad-props-to-microsoft-for-their-pwa-push-and-other-tweeted-links.json
writing `mad-props-to-microsoft-for-their-pwa-push-and-other-tweeted-links`...
magix-sound-forge-pro-11-inherits-a-nasty-bug-from-sony.json
writing `magix-sound-forge-pro-11-inherits-a-nasty-bug-from-sony`...
managing-state-in-angular-using-akita-and-other-tweeted-links.json
writing `managing-state-in-angular-using-akita-and-other-tweeted-links`...
masonry-layout-isn-t-a-two-dimensional-grid-and-other-tweeted-links.json
writing `masonry-layout-isn-t-a-two-dimensional-grid-and-other-tweeted-links`...
material-design-in-xaml-toolkit-an-introduction-and-other-tweeted-links.json
writing `material-design-in-xaml-toolkit-an-introduction-and-other-tweeted-links`...
mathematica-and-my-calculus-work-from-1988.json
writing `mathematica-and-my-calculus-work-from-1988`...
mathematica-consulting-point-and-click-tableau-like-visuals-in-mathematica-and-other-tweeted-links.json
writing `mathematica-consulting-point-and-click-tableau-like-visuals-in-mathematica-and-other-tweeted-links`...
maybe-just-use-vanilla-javascript-and-other-tweeted-links.json
writing `maybe-just-use-vanilla-javascript-and-other-tweeted-links`...
megafunk-com-html5-gallery-design-released.json
writing `megafunk-com-html5-gallery-design-released`...
menuitemdatum-namevaluepair-and-chartdatapoints.json
writing `menuitemdatum-namevaluepair-and-chartdatapoints`...
microservices-an-application-revolution-powered-by-the-cloud-and-other-tweeted-links.json
writing `microservices-an-application-revolution-powered-by-the-cloud-and-other-tweeted-links`...
microsoft-confirms-its-new-edge-browser-won-t-support-silverlight-and-other-tweeted-links.json
writing `microsoft-confirms-its-new-edge-browser-won-t-support-silverlight-and-other-tweeted-links`...
microsoft-garage-releases-xaml-studio-and-other-tweeted-links.json
writing `microsoft-garage-releases-xaml-studio-and-other-tweeted-links`...
migration-to-ubuntu-14-04-64-bit.json
writing `migration-to-ubuntu-14-04-64-bit`...
migueldeicaza-anybody-ever-try-linq-to-mbox-with-mono-and-other-tweeted-links.json
writing `migueldeicaza-anybody-ever-try-linq-to-mbox-with-mono-and-other-tweeted-links`...
mobile-internet-comes-to-africa-in-a-big-way-and-other-tweeted-links.json
writing `mobile-internet-comes-to-africa-in-a-big-way-and-other-tweeted-links`...
most-common-mistakes-beginners-make-in-xamarin-forms-and-other-tweeted-links.json
writing `most-common-mistakes-beginners-make-in-xamarin-forms-and-other-tweeted-links`...
moving-songhay-system-to-net-4-5-2-with-serious-powershell.json
writing `moving-songhay-system-to-net-4-5-2-with-serious-powershell`...
moving-to-the-windows-8-timeframe.json
writing `moving-to-the-windows-8-timeframe`...
my-acer-liquid-m330-crap-phone.json
writing `my-acer-liquid-m330-crap-phone`...
my-angular-js-1-x-single-page-layout.json
writing `my-angular-js-1-x-single-page-layout`...
my-autofac-packages-drama.json
writing `my-autofac-packages-drama`...
my-codepen-io-angular-samples.json
writing `my-codepen-io-angular-samples`...
my-current-aurelia-inspired-web-app-technology-road-map.json
writing `my-current-aurelia-inspired-web-app-technology-road-map`...
my-expression-gallery-picks-unfashionably-late.json
writing `my-expression-gallery-picks-unfashionably-late`...
my-first-presentation-on-silverlight.json
writing `my-first-presentation-on-silverlight`...
my-introduction-to-the-odata-v4-timeframe-on-net.json
writing `my-introduction-to-the-odata-v4-timeframe-on-net`...
my-little-git-tricks.json
writing `my-little-git-tricks`...
my-xaml-navigation-system-in-layers.json
writing `my-xaml-navigation-system-in-layers`...
netflix-will-switch-from-silverlight-to-html5-and-other-tweeted-links.json
writing `netflix-will-switch-from-silverlight-to-html5-and-other-tweeted-links`...
new-azure-web-sites-features.json
writing `new-azure-web-sites-features`...
new-git-features-in-visual-studio-2017-and-other-tweeted-links.json
writing `new-git-features-in-visual-studio-2017-and-other-tweeted-links`...
new-in-the-wolfram-language-audio-and-other-tweeted-links.json
writing `new-in-the-wolfram-language-audio-and-other-tweeted-links`...
new-support-for-knockout-js-intellisense-inside-vs-2012-and-other-tweeted-links.json
writing `new-support-for-knockout-js-intellisense-inside-vs-2012-and-other-tweeted-links`...
ngrx-entity-complete-practical-guide-and-other-tweeted-links.json
writing `ngrx-entity-complete-practical-guide-and-other-tweeted-links`...
non-blocking-ui-s-with-interface-previews-themadray-and-other-tweeted-links.json
writing `non-blocking-ui-s-with-interface-previews-themadray-and-other-tweeted-links`...
not-sure-if-you-want-to-install-windows-10-or-not-and-other-tweeted-links.json
writing `not-sure-if-you-want-to-install-windows-10-or-not-and-other-tweeted-links`...
odataangularresources-is-a-fork-of-angular-s-resource-that-allows-odata-queries-in-a-fluent-way-and-other-tweeted-links.json
writing `odataangularresources-is-a-fork-of-angular-s-resource-that-allows-odata-queries-in-a-fluent-way-and-other-tweeted-links`...
ok-let-me-explain-it-s-going-to-be-angular-4-and-other-tweeted-links.json
writing `ok-let-me-explain-it-s-going-to-be-angular-4-and-other-tweeted-links`...
okay-studio-index-updated-to-getbootstrap-and-a-bunch-of-other-tweeted-links.json
writing `okay-studio-index-updated-to-getbootstrap-and-a-bunch-of-other-tweeted-links`...
package-mvcroutetester-mvc5-2-supports-attribute-mapping-cool-and-other-tweeted-links.json
writing `package-mvcroutetester-mvc5-2-supports-attribute-mapping-cool-and-other-tweeted-links`...
page-the-doctor-when-entity-framework-paging-goes-rogue-and-other-tweeted-links.json
writing `page-the-doctor-when-entity-framework-paging-goes-rogue-and-other-tweeted-links`...
particle-effects-in-wpf-and-other-tweeted-links.json
writing `particle-effects-in-wpf-and-other-tweeted-links`...
planning-and-creating-azure-search-indexes-and-other-tweeted-links.json
writing `planning-and-creating-azure-search-indexes-and-other-tweeted-links`...
polygonal-map-generation-html5-version-and-other-tweeted-links.json
writing `polygonal-map-generation-html5-version-and-other-tweeted-links`...
porting-a-silverlight-app-to-ios-and-other-tweeted-links.json
writing `porting-a-silverlight-app-to-ios-and-other-tweeted-links`...
powershell-on-linux-and-open-source-and-other-tweeted-links.json
writing `powershell-on-linux-and-open-source-and-other-tweeted-links`...
powershell-remove-webvirtualdirectory-notes.json
writing `powershell-remove-webvirtualdirectory-notes`...
powershell-so-far.json
writing `powershell-so-far`...
practical-svg-chriscoyier-and-other-tweeted-links.json
writing `practical-svg-chriscoyier-and-other-tweeted-links`...
preparing-and-exporting-svg-icons-in-sketch-and-other-tweeted-links.json
writing `preparing-and-exporting-svg-icons-in-sketch-and-other-tweeted-links`...
prism-wpf-and-unity-based-modular-application-step-by-step-and-other-tweeted-links.json
writing `prism-wpf-and-unity-based-modular-application-step-by-step-and-other-tweeted-links`...
pure-css-scrolling-background-switching-and-other-tweeted-links.json
writing `pure-css-scrolling-background-switching-and-other-tweeted-links`...
put-f-on-the-todo-list.json
writing `put-f-on-the-todo-list`...
putting-people-first-tips-and-advice-from-ux-pioneer-don-norman-and-other-tweeted-links.json
writing `putting-people-first-tips-and-advice-from-ux-pioneer-don-norman-and-other-tweeted-links`...
python-is-the-fastest-growing-language-due-to-a-feature-you-ve-never-heard-of-and-other-tweeted-links.json
writing `python-is-the-fastest-growing-language-due-to-a-feature-you-ve-never-heard-of-and-other-tweeted-links`...
rachel-andrew-laying-out-the-future-with-grid-and-flexbox-and-other-tweeted-links.json
writing `rachel-andrew-laying-out-the-future-with-grid-and-flexbox-and-other-tweeted-links`...
react-native-with-elm-and-other-tweeted-links.json
writing `react-native-with-elm-and-other-tweeted-links`...
ready-for-more-details-about-angular-new-engine-ivy-and-other-tweeted-links.json
writing `ready-for-more-details-about-angular-new-engine-ivy-and-other-tweeted-links`...
remembering-the-cli-and-the-multi-tasking-os.json
writing `remembering-the-cli-and-the-multi-tasking-os`...
remembering-victor-gaudioso.json
writing `remembering-victor-gaudioso`...
replacing-my-nblog-with-a-read-only-angular-js-seed-over-web-api.json
writing `replacing-my-nblog-with-a-read-only-angular-js-seed-over-web-api`...
ria-services-and-ef-entities.json
writing `ria-services-and-ef-entities`...
sager-np6165-unboxing.json
writing `sager-np6165-unboxing`...
saying-goodbye-to-dnx-and-hello-to-the-net-core-cli-and-other-tweeted-links.json
writing `saying-goodbye-to-dnx-and-hello-to-the-net-core-cli-and-other-tweeted-links`...
science-proves-flat-design-was-a-mistake-and-other-tweeted-links.json
writing `science-proves-flat-design-was-a-mistake-and-other-tweeted-links`...
scottgu-s-blog-announcing-open-source-of-net-core-framework-and-other-tweeted-links.json
writing `scottgu-s-blog-announcing-open-source-of-net-core-framework-and-other-tweeted-links`...
scottgu-s-blog-announcing-the-new-azure-app-service-and-other-tweeted-links.json
writing `scottgu-s-blog-announcing-the-new-azure-app-service-and-other-tweeted-links`...
scripting-with-mono-s-embedded-api-channel-9-and-other-tweeted-links.json
writing `scripting-with-mono-s-embedded-api-channel-9-and-other-tweeted-links`...
seriously-don-t-use-icon-fonts-and-other-tweeted-links.json
writing `seriously-don-t-use-icon-fonts-and-other-tweeted-links`...
seriously-needing-async-and-await-in-silverlight-5.json
writing `seriously-needing-async-and-await-in-silverlight-5`...
setting-up-an-azure-search-json-blob-indexer-with-api-version-2015-02-28-preview.json
writing `setting-up-an-azure-search-json-blob-indexer-with-api-version-2015-02-28-preview`...
signalr-reaches-v1-alpha-and-other-tweeted-links.json
writing `signalr-reaches-v1-alpha-and-other-tweeted-links`...
silverlight-biggestbox-feature-complete-so-what.json
writing `silverlight-biggestbox-feature-complete-so-what`...
silverlight-entity-framework-and-ria-services-recipe.json
writing `silverlight-entity-framework-and-ria-services-recipe`...
silverlight-page-navigating-with-mvvm-light-messaging-and-songhay-navigationbookmarkdata.json
writing `silverlight-page-navigating-with-mvvm-light-messaging-and-songhay-navigationbookmarkdata`...
silverlight-poor-mans-task-wait-all.json
writing `silverlight-poor-mans-task-wait-all`...
some-ex-silverlight-guy-closure.json
writing `some-ex-silverlight-guy-closure`...
songhay-data-access-ready-for-codeplex-com.json
writing `songhay-data-access-ready-for-codeplex-com`...
songhay-data-access-ready-for-codeplexcom.json
writing `songhay-data-access-ready-for-codeplexcom`...
songhay-project-down-to-four-code-analysis-warnings.json
writing `songhay-project-down-to-four-code-analysis-warnings`...
songhay-silverlight-controls-analogdigit-my-first-custom-control.json
writing `songhay-silverlight-controls-analogdigit-my-first-custom-control`...
songhay-studio-a-bit-of-a-struggle-with-cookies-in-net.json
writing `songhay-studio-a-bit-of-a-struggle-with-cookies-in-net`...
songhay-studio-azure-table-storage-libraries-report.json
writing `songhay-studio-azure-table-storage-libraries-report`...
songhay-studio-cors-coverage.json
writing `songhay-studio-cors-coverage`...
songhay-studio-ergotron-neo-flex-mobile-mediacenter.json
writing `songhay-studio-ergotron-neo-flex-mobile-mediacenter`...
songhay-studio-finally-some-flippant-remarks-about-xaml-validation.json
writing `songhay-studio-finally-some-flippant-remarks-about-xaml-validation`...
songhay-studio-flippant-remarks-about-ubuntu-public-key-authentication.json
writing `songhay-studio-flippant-remarks-about-ubuntu-public-key-authentication`...
songhay-studio-getting-back-to-tf-exe.json
writing `songhay-studio-getting-back-to-tf-exe`...
songhay-studio-hardware-acquisition-strategy-one-year-later.json
writing `songhay-studio-hardware-acquisition-strategy-one-year-later`...
songhay-studio-hardware-acquisition-strategy.json
writing `songhay-studio-hardware-acquisition-strategy`...
songhay-studio-how-to-disable-click-once-for-a-secondary-exe-project.json
writing `songhay-studio-how-to-disable-click-once-for-a-secondary-exe-project`...
songhay-studio-it-s-no-longer-about-mstest-exe-it-s-vstest-console-exe.json
writing `songhay-studio-it-s-no-longer-about-mstest-exe-it-s-vstest-console-exe`...
songhay-studio-kintespace-com-design-notes.json
writing `songhay-studio-kintespace-com-design-notes`...
songhay-studio-mathematica-online-and-markdown-instead-of-word-in-visual-studio.json
writing `songhay-studio-mathematica-online-and-markdown-instead-of-word-in-visual-studio`...
songhay-studio-mef-imperative-exports-broke-prism-region-based-navigation-system.json
writing `songhay-studio-mef-imperative-exports-broke-prism-region-based-navigation-system`...
songhay-studio-menuitemdatum-revisited.json
writing `songhay-studio-menuitemdatum-revisited`...
songhay-studio-minimal-xamdatagrid-markup.json
writing `songhay-studio-minimal-xamdatagrid-markup`...
songhay-studio-more-slightly-better-flippant-remarks-about-net-validation.json
writing `songhay-studio-more-slightly-better-flippant-remarks-about-net-validation`...
songhay-studio-my-logitech-trackball-mouse-drowned-by-my-daughter.json
writing `songhay-studio-my-logitech-trackball-mouse-drowned-by-my-daughter`...
songhay-studio-net-standard-with-songhay-standard-core.json
writing `songhay-studio-net-standard-with-songhay-standard-core`...
songhay-studio-powershell-revival.json
writing `songhay-studio-powershell-revival`...
songhay-studio-the-sapphire-radeon-r9-270x-appears-to-be-working.json
writing `songhay-studio-the-sapphire-radeon-r9-270x-appears-to-be-working`...
songhay-studio-ux-and-ddd-my-new-acronym-umbrella.json
writing `songhay-studio-ux-and-ddd-my-new-acronym-umbrella`...
songhay-studio-web-index-design-study.json
writing `songhay-studio-web-index-design-study`...
songhay-studio-zotac-geforce-gtx-580-not-working.json
writing `songhay-studio-zotac-geforce-gtx-580-not-working`...
songhay-system-the-conventional-way-to-derive-a-file-location.json
writing `songhay-system-the-conventional-way-to-derive-a-file-location`...
songhay-web-app-css-disorganization.json
writing `songhay-web-app-css-disorganization`...
songhaycore-project-down-to-eight-code-analysis-warnings.json
writing `songhaycore-project-down-to-eight-code-analysis-warnings`...
songhaydataaccessrunner-breakthrough.json
writing `songhaydataaccessrunner-breakthrough`...
special-characters-on-unity-desktop.json
writing `special-characters-on-unity-desktop`...
spectre-css-is-a-lightweight-responsive-and-modern-css-framework-and-other-tweeted-links.json
writing `spectre-css-is-a-lightweight-responsive-and-modern-css-framework-and-other-tweeted-links`...
speed-comparison-dapper-vs-entity-framework-and-other-tweeted-links.json
writing `speed-comparison-dapper-vs-entity-framework-and-other-tweeted-links`...
sql-server-for-linux-coming-in-mid-2017-and-other-tweeted-links.json
writing `sql-server-for-linux-coming-in-mid-2017-and-other-tweeted-links`...
studio-status-report-2018-08.json
writing `studio-status-report-2018-08`...
studio-status-report-2018-09.json
writing `studio-status-report-2018-09`...
studio-status-report-2018-10.json
writing `studio-status-report-2018-10`...
studio-status-report-2018-11.json
writing `studio-status-report-2018-11`...
studio-status-report-2018-12.json
writing `studio-status-report-2018-12`...
studio-status-report-2019-01.json
writing `studio-status-report-2019-01`...
studio-status-report-2019-02.json
writing `studio-status-report-2019-02`...
studio-status-report-2019-03.json
writing `studio-status-report-2019-03`...
studio-status-report-2019-04.json
writing `studio-status-report-2019-04`...
studio-status-report-2019-06.json
writing `studio-status-report-2019-06`...
studio-status-report-2019-07.json
writing `studio-status-report-2019-07`...
studio-status-report-2019-08.json
writing `studio-status-report-2019-08`...
studio-status-report-2019-09.json
writing `studio-status-report-2019-09`...
suggestions-for-structuring-a-large-aurelia-application-and-other-tweeted-links.json
writing `suggestions-for-structuring-a-large-aurelia-application-and-other-tweeted-links`...
support-your-app-with-background-tasks-uwp-app-developer-and-other-tweeted-links.json
writing `support-your-app-with-background-tasks-uwp-app-developer-and-other-tweeted-links`...
svg-can-do-that-and-other-tweeted-links.json
writing `svg-can-do-that-and-other-tweeted-links`...
svg-code-path-code-introduction-sarasoueidan-chriscoyier.json
writing `svg-code-path-code-introduction-sarasoueidan-chriscoyier`...
svg-how-to-create-interactive-graphics-for-your-website-and-other-tweeted-links.json
writing `svg-how-to-create-interactive-graphics-for-your-website-and-other-tweeted-links`...
svg-polygon-generator-and-other-tweeted-links.json
writing `svg-polygon-generator-and-other-tweeted-links`...
swashbuckle-5-0-seamlessly-adds-a-swagger-to-webapi-projects-and-other-tweeted-links.json
writing `swashbuckle-5-0-seamlessly-adds-a-swagger-to-webapi-projects-and-other-tweeted-links`...
swipe-tap-pinch-hammerjs-angular-animations-and-other-tweeted-links.json
writing `swipe-tap-pinch-hammerjs-angular-animations-and-other-tweeted-links`...
taking-pictures-from-html-and-other-tweeted-links.json
writing `taking-pictures-from-html-and-other-tweeted-links`...
talked-to-microsoft-at-longo-toyota.json
writing `talked-to-microsoft-at-longo-toyota`...
telerik-based-ux-with-silverlight-5.json
writing `telerik-based-ux-with-silverlight-5`...
term-rewriting-in-javascript-for-fun-and-world-domination-and-other-tweeted-links.json
writing `term-rewriting-in-javascript-for-fun-and-world-domination-and-other-tweeted-links`...
testing-with-the-angular-httpclient-api-and-other-tweeted-links.json
writing `testing-with-the-angular-httpclient-api-and-other-tweeted-links`...
tfs-2015-power-tools-are-available-and-other-tweeted-links.json
writing `tfs-2015-power-tools-are-available-and-other-tweeted-links`...
the-2012-enterprise-web-server-kit.json
writing `the-2012-enterprise-web-server-kit`...
the-2018-front-end-performance-checklist-and-other-tweeted-links.json
writing `the-2018-front-end-performance-checklist-and-other-tweeted-links`...
the-azure-api-management-publishing-tool-announced-and-other-tweeted-links.json
writing `the-azure-api-management-publishing-tool-announced-and-other-tweeted-links`...
the-british-library-puts-over-1-000-000-images-in-the-public-domain-and-other-tweeted-links.json
writing `the-british-library-puts-over-1-000-000-images-in-the-public-domain-and-other-tweeted-links`...
the-difference-and-relation-between-ui-and-ux-design-and-other-tweeted-links.json
writing `the-difference-and-relation-between-ui-and-ux-design-and-other-tweeted-links`...
the-fat-getter-and-other-mvvm-anti-patterns.json
writing `the-fat-getter-and-other-mvvm-anti-patterns`...
the-golden-age-of-ux-and-other-tweeted-links.json
writing `the-golden-age-of-ux-and-other-tweeted-links`...
the-guide-to-integrating-and-styling-icon-systems-svg-sprites-and-other-tweeted-links.json
writing `the-guide-to-integrating-and-styling-icon-systems-svg-sprites-and-other-tweeted-links`...
the-importance-of-the-experimental-transitioning-content-control.json
writing `the-importance-of-the-experimental-transitioning-content-control`...
the-javascript-phenomenon-is-a-mass-psychosis-and-other-tweeted-links.json
writing `the-javascript-phenomenon-is-a-mass-psychosis-and-other-tweeted-links`...
the-most-important-reason-people-chose-aurelia-is-full-support-for-typescript-built-in-and-other-tweeted-links.json
writing `the-most-important-reason-people-chose-aurelia-is-full-support-for-typescript-built-in-and-other-tweeted-links`...
the-mp3-clips-widget-lets-you-play-song-samples-from-amazon-s-drm-free-mp3-catalog-and-other-tweeted-links.json
writing `the-mp3-clips-widget-lets-you-play-song-samples-from-amazon-s-drm-free-mp3-catalog-and-other-tweeted-links`...
the-ornery-twitter-api-1-1-struggling-with-the-lack-of-fresh-documentation.json
writing `the-ornery-twitter-api-1-1-struggling-with-the-lack-of-fresh-documentation`...
the-powershell-clear-history-command-on-windows-10.json
writing `the-powershell-clear-history-command-on-windows-10`...
the-second-era-of-cloud-platforms-will-dwarf-the-first-and-other-tweeted-links.json
writing `the-second-era-of-cloud-platforms-will-dwarf-the-first-and-other-tweeted-links`...
the-silverlight-business-application-project-and-ntlm.json
writing `the-silverlight-business-application-project-and-ntlm`...
the-songhay-home-drive-on-a-new-vm.json
writing `the-songhay-home-drive-on-a-new-vm`...
the-songhay-system-by-net-namespaces.json
writing `the-songhay-system-by-net-namespaces`...
the-songhay-system-ubuntu-vms-in-review.json
writing `the-songhay-system-ubuntu-vms-in-review`...
the-svg-path-syntax-an-illustrated-guide-and-other-tweeted-links.json
writing `the-svg-path-syntax-an-illustrated-guide-and-other-tweeted-links`...
the-three-things-i-have-done-about-failing-in-job-interviews.json
writing `the-three-things-i-have-done-about-failing-in-job-interviews`...
the-troubles-with-javascript-modules-and-other-tweeted-links.json
writing `the-troubles-with-javascript-modules-and-other-tweeted-links`...
the-typography-of-bootstrap.json
writing `the-typography-of-bootstrap`...
the-youtube-api-and-oauth-confirmation.json
writing `the-youtube-api-and-oauth-confirmation`...
there-are-at-least-five-services-that-can-process-your-static-form-for-you-and-other-tweeted-links.json
writing `there-are-at-least-five-services-that-can-process-your-static-form-for-you-and-other-tweeted-links`...
this-year-s-8-smartest-ui-design-ideas-and-other-tweeted-links.json
writing `this-year-s-8-smartest-ui-design-ideas-and-other-tweeted-links`...
tip-how-to-quickly-format-someone-else-s-xaml.json
writing `tip-how-to-quickly-format-someone-else-s-xaml`...
tip-temporarily-converting-a-wpf-library-project-to-an-executable-winexe-project.json
writing `tip-temporarily-converting-a-wpf-library-project-to-an-executable-winexe-project`...
tom-preston-werner-created-jekyll-to-enable-people-to-blog-using-a-simple-static-html-website-and-other-tweeted-links.json
writing `tom-preston-werner-created-jekyll-to-enable-people-to-blog-using-a-simple-static-html-website-and-other-tweeted-links`...
top-5-tips-for-running-external-commands-in-powershell-and-other-tweeted-links.json
writing `top-5-tips-for-running-external-commands-in-powershell-and-other-tweeted-links`...
top-accessibility-complaints-from-people-with-disabilities-and-other-tweeted-links.json
writing `top-accessibility-complaints-from-people-with-disabilities-and-other-tweeted-links`...
tour-of-f-microsoft-docs-and-other-tweeted-links.json
writing `tour-of-f-microsoft-docs-and-other-tweeted-links`...
typescript-angular-2-s-secret-weapon-and-other-tweeted-links.json
writing `typescript-angular-2-s-secret-weapon-and-other-tweeted-links`...
underscore-js-grouping.json
writing `underscore-js-grouping`...
understanding-aspnet-core-initialization-and-other-tweeted-links.json
writing `understanding-aspnet-core-initialization-and-other-tweeted-links`...
understanding-the-microsoft-surface-a-sort-of-review-and-other-tweeted-links.json
writing `understanding-the-microsoft-surface-a-sort-of-review-and-other-tweeted-links`...
understanding-the-role-of-startup-cs-file-in-aspnet-core-and-other-tweeted-links.json
writing `understanding-the-role-of-startup-cs-file-in-aspnet-core-and-other-tweeted-links`...
understanding-the-user-in-user-experience-curated-by-uxceo-and-other-tweeted-links.json
writing `understanding-the-user-in-user-experience-curated-by-uxceo-and-other-tweeted-links`...
unit-testing-with-mvcroutetester-mvc5-2-webconfigtransformrunner-and-nuget-core.json
writing `unit-testing-with-mvcroutetester-mvc5-2-webconfigtransformrunner-and-nuget-core`...
unusual-ways-of-boosting-up-app-performance-lambdas-and-linqs-and-other-tweeted-links.json
writing `unusual-ways-of-boosting-up-app-performance-lambdas-and-linqs-and-other-tweeted-links`...
upgrading-to-angular-v6-step-by-step-and-other-tweeted-links.json
writing `upgrading-to-angular-v6-step-by-step-and-other-tweeted-links`...
using-angularjs-for-data-visualisations-and-other-tweeted-links.json
writing `using-angularjs-for-data-visualisations-and-other-tweeted-links`...
using-aurelia-and-redux-together-for-good-times-all-around-and-other-tweeted-links.json
writing `using-aurelia-and-redux-together-for-good-times-all-around-and-other-tweeted-links`...
using-azure-cdn-with-cors-and-other-tweeted-links.json
writing `using-azure-cdn-with-cors-and-other-tweeted-links`...
using-background-audio-in-a-uwp-app-for-xbox-and-other-tweeted-links.json
writing `using-background-audio-in-a-uwp-app-for-xbox-and-other-tweeted-links`...
using-color-psychology-for-better-website-results-and-other-tweeted-links.json
writing `using-color-psychology-for-better-website-results-and-other-tweeted-links`...
using-gem-install-sass-pre-on-windows-10.json
writing `using-gem-install-sass-pre-on-windows-10`...
using-gulp-ruby-sass-on-an-ubuntu-virtual-machine-with-some-history.json
writing `using-gulp-ruby-sass-on-an-ubuntu-virtual-machine-with-some-history`...
using-page-objects-to-overcome-protractor-s-shortcomings-and-other-tweeted-links.json
writing `using-page-objects-to-overcome-protractor-s-shortcomings-and-other-tweeted-links`...
using-scriptcs-to-generate-epub-xhtml.json
writing `using-scriptcs-to-generate-epub-xhtml`...
using-swashbuckle-to-generate-arbitrary-xml-example-values.json
writing `using-swashbuckle-to-generate-arbitrary-xml-example-values`...
using-swashbuckle-to-support-swaggerfied-xml-production-and-consumption.json
writing `using-swashbuckle-to-support-swaggerfied-xml-production-and-consumption`...
using-web-assembly-to-speed-up-your-angular-application-and-other-tweeted-links.json
writing `using-web-assembly-to-speed-up-your-angular-application-and-other-tweeted-links`...
ux-improving-user-flow-through-page-transitions-and-other-tweeted-links.json
writing `ux-improving-user-flow-through-page-transitions-and-other-tweeted-links`...
visual-studio-ctp3-with-xunit-testing-for-vnext-projects-and-other-tweeted-links.json
writing `visual-studio-ctp3-with-xunit-testing-for-vnext-projects-and-other-tweeted-links`...
web-essentials-1-4-for-visual-studio-and-other-tweeted-links.json
writing `web-essentials-1-4-for-visual-studio-and-other-tweeted-links`...
what-is-github-pages-and-other-tweeted-links.json
writing `what-is-github-pages-and-other-tweeted-links`...
what-s-any-roadmap-toward-robust-odata-support-for-swashbuckle-swagger-and-other-tweeted-links.json
writing `what-s-any-roadmap-toward-robust-odata-support-for-swashbuckle-swagger-and-other-tweeted-links`...
what-s-new-and-coming-for-glimpse-and-other-tweeted-links.json
writing `what-s-new-and-coming-for-glimpse-and-other-tweeted-links`...
what-s-new-for-uwp-developers-in-visual-studio-2017-and-other-tweeted-links.json
writing `what-s-new-for-uwp-developers-in-visual-studio-2017-and-other-tweeted-links`...
what-s-new-in-reactiveui-6-0-and-other-tweeted-links.json
writing `what-s-new-in-reactiveui-6-0-and-other-tweeted-links`...
what-s-new-in-visual-studio-15-preview-5-for-universal-windows-developers-and-other-tweeted-links.json
writing `what-s-new-in-visual-studio-15-preview-5-for-universal-windows-developers-and-other-tweeted-links`...
what-s-new-in-vs-2015-update-2-for-universal-windows-developers-and-other-tweeted-links.json
writing `what-s-new-in-vs-2015-update-2-for-universal-windows-developers-and-other-tweeted-links`...
when-in-bower-doubt-delete-all-of-your-components-and-reinstall.json
writing `when-in-bower-doubt-delete-all-of-your-components-and-reinstall`...
where-will-ux-design-be-in-5-years-and-other-tweeted-links.json
writing `where-will-ux-design-be-in-5-years-and-other-tweeted-links`...
why-all-the-lambdas-and-other-tweeted-links.json
writing `why-all-the-lambdas-and-other-tweeted-links`...
why-does-c-use-utf-16-for-strings-and-other-tweeted-links.json
writing `why-does-c-use-utf-16-for-strings-and-other-tweeted-links`...
why-does-firefox-have-such-poor-responsive-image-support.json
writing `why-does-firefox-have-such-poor-responsive-image-support`...
why-does-git-commit-not-save-my-changes-and-other-tweeted-links.json
writing `why-does-git-commit-not-save-my-changes-and-other-tweeted-links`...
why-every-user-experience-designer-needs-to-think-about-ux-in-real-life-and-other-tweeted-links.json
writing `why-every-user-experience-designer-needs-to-think-about-ux-in-real-life-and-other-tweeted-links`...
why-graphql-advantages-disadvantages-and-alternatives-and-other-tweeted-links.json
writing `why-graphql-advantages-disadvantages-and-alternatives-and-other-tweeted-links`...
why-is-react-is-taking-over-front-end-development-and-other-tweeted-links.json
writing `why-is-react-is-taking-over-front-end-development-and-other-tweeted-links`...
why-static-website-generators-are-the-next-big-thing-and-other-tweeted-links.json
writing `why-static-website-generators-are-the-next-big-thing-and-other-tweeted-links`...
windows-10-anniversary-update-desktop-app-converter-preview-and-other-tweeted-links.json
writing `windows-10-anniversary-update-desktop-app-converter-preview-and-other-tweeted-links`...
windows-10-enterprise-anniversary-upgrade-log.json
writing `windows-10-enterprise-anniversary-upgrade-log`...
windows-10-looking-pretty-cool-and-other-tweeted-links.json
writing `windows-10-looking-pretty-cool-and-other-tweeted-links`...
windows-10-minimum-hardware-requirements-for-pc-and-other-tweeted-links.json
writing `windows-10-minimum-hardware-requirements-for-pc-and-other-tweeted-links`...
windows-10-vm-setup.json
writing `windows-10-vm-setup`...
windows-8-1-review-and-other-tweeted-links.json
writing `windows-8-1-review-and-other-tweeted-links`...
windows-8-operating-under-the-influence-and-other-old-ass-tweeted-links.json
writing `windows-8-operating-under-the-influence-and-other-old-ass-tweeted-links`...
with-angular-v6-it-s-now-as-easy-as-ng-add-and-other-tweeted-links.json
writing `with-angular-v6-it-s-now-as-easy-as-ng-add-and-other-tweeted-links`...
word-javascript-api-and-other-tweeted-links.json
writing `word-javascript-api-and-other-tweeted-links`...
working-in-markdown-leaving-behind-typing-a-typeface.json
writing `working-in-markdown-leaving-behind-typing-a-typeface`...
working-with-svg-a-primer-by-sarasoueidan-and-other-tweeted-links.json
writing `working-with-svg-a-primer-by-sarasoueidan-and-other-tweeted-links`...
wpf-prism-migrating-from-mef-to-unity.json
writing `wpf-prism-migrating-from-mef-to-unity`...
write-etl-jobs-in-pure-c-and-other-tweeted-links.json
writing `write-etl-jobs-in-pure-c-and-other-tweeted-links`...
xamarin-evolve-2014-session-recordings-now-available-and-other-tweeted-links.json
writing `xamarin-evolve-2014-session-recordings-now-available-and-other-tweeted-links`...
xamdatagrid-drag-drop-from-excel-to-wpf.json
writing `xamdatagrid-drag-drop-from-excel-to-wpf`...
xamdatagrid-saturation-bombing-a-race-condition.json
writing `xamdatagrid-saturation-bombing-a-race-condition`...
xaml-fontfamily-and-fontsize-as-pts-points-imperatively.json
writing `xaml-fontfamily-and-fontsize-as-pts-points-imperatively`...
xd-essentials-shadows-and-blur-effects-in-modern-ui-design-and-other-tweeted-links.json
writing `xd-essentials-shadows-and-blur-effects-in-modern-ui-design-and-other-tweeted-links`...
yes-finally-here-architecting-ng-apps-with-redux-rxjs-and-nhrx-and-other-tweeted-links.json
writing `yes-finally-here-architecting-ng-apps-with-redux-rxjs-and-nhrx-and-other-tweeted-links`...
you-asked-we-answered-msft-open-sources-wpf-windows-forms-and-windows-ui-xaml-library-and-other-tweeted-links.json
writing `you-asked-we-answered-msft-open-sources-wpf-windows-forms-and-windows-ui-xaml-library-and-other-tweeted-links`...
you-can-t-effectively-replace-cmd-scripts-with-ps1-scripts-without-these-key-powershell-ingredients.json
writing `you-can-t-effectively-replace-cmd-scripts-with-ps1-scripts-without-these-key-powershell-ingredients`...
you-can-t-impress-developers-so-don-t-try-and-other-very-historical-tweeted-links.json
writing `you-can-t-impress-developers-so-don-t-try-and-other-very-historical-tweeted-links`...
you-cannot-use-the-desktop-version-of-microsoft-word-on-files-in-an-onedrive-folder.json
writing `you-cannot-use-the-desktop-version-of-microsoft-word-on-files-in-an-onedrive-folder`...
your-first-angular-2-asp-net-core-project-in-visual-studio-code-and-other-tweeted-links.json
writing `your-first-angular-2-asp-net-core-project-in-visual-studio-code-and-other-tweeted-links`...
BryanWilhite commented 4 years ago

image