<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Shawn Cicoria Phd - CedarLogic, LLC</title><link>https://www.cicoria.com/</link><description>Recent content on Shawn Cicoria Phd - CedarLogic, LLC</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Thu, 30 Jul 2026 21:55:00 -0400</lastBuildDate><atom:link href="https://www.cicoria.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Metering the Agent: A Copilot CLI Canvas Extension for Token Usage and Tokenomics</title><link>https://www.cicoria.com/metering-the-agent-a-copilot-cli-canvas-extension-for-token-usage/</link><pubDate>Thu, 30 Jul 2026 21:55:00 -0400</pubDate><guid>https://www.cicoria.com/metering-the-agent-a-copilot-cli-canvas-extension-for-token-usage/</guid><description>I built a GitHub Copilot CLI canvas extension that tracks token usage, AI units, and estimated cost per session — with an editable rate card. Here&amp;rsquo;s how it works, the constraints that shaped it, and where it&amp;rsquo;s headed: automated rate pulls and EMU-vs-public pricing.</description></item><item><title>A Spaghetti Study Aid for Databricks and Spark That Somehow Became a Platform</title><link>https://www.cicoria.com/databricks-study-aid-spaghetti/</link><pubDate>Tue, 23 Jun 2026 16:30:00 -0400</pubDate><guid>https://www.cicoria.com/databricks-study-aid-spaghetti/</guid><description>I set out to write a few study notes for a Databricks interview and ended up with a four-part study platform: a notes vault, dual-track PySpark notebooks, a git-tracked HTML lesson runner, and a Copilot SDK chat app that answers questions grounded in the repo itself. Here is how the pieces fit, and where the spaghetti lives.</description></item><item><title>Tokens, Tools, Skills, and Context: The Real Challenge in Agent Development</title><link>https://www.cicoria.com/tokens-tools-skills-and-context/</link><pubDate>Thu, 04 Jun 2026 07:30:00 -0400</pubDate><guid>https://www.cicoria.com/tokens-tools-skills-and-context/</guid><description>Feeding an agent the right context is the same problem we have always had with human developers; we just never solved it cleanly. Here is how to think about it.</description></item><item><title>MLflow Learning Plan: Claude, Classic ML, GenAI, Local and Databricks</title><link>https://www.cicoria.com/learning-mlflow-with-claude/</link><pubDate>Sat, 23 May 2026 16:50:00 -0400</pubDate><guid>https://www.cicoria.com/learning-mlflow-with-claude/</guid><description>A runnable MLflow sandbox covering classic ML and GenAI, identical code locally and on Databricks. Plan, notebooks, scripts, and tooling all scaffolded with Anthropic Claude in an afternoon.</description></item><item><title>Getting Back Up to Speed on Spark Shuffling</title><link>https://www.cicoria.com/spark-shuffle-refresher/</link><pubDate>Fri, 22 May 2026 09:00:00 -0500</pubDate><guid>https://www.cicoria.com/spark-shuffle-refresher/</guid><description>An interview question about Spark shuffling sent me back to basics after five years away. I built a runnable Databricks demo covering shuffles, joins, skew, AQE, and Photon — here&amp;rsquo;s what I relearned and what&amp;rsquo;s changed.</description></item><item><title>Building a PostgreSQL LLM Extension with Rust Background Workers</title><link>https://www.cicoria.com/building-a-postgresql-llm-extension-with-rust-background-workers/</link><pubDate>Wed, 20 May 2026 12:17:00 -0400</pubDate><guid>https://www.cicoria.com/building-a-postgresql-llm-extension-with-rust-background-workers/</guid><description>A walkthrough of pg_llm_bgw, a PostgreSQL 18 extension written in Rust with pgrx that exposes a SQL-callable llm_ask() function, proxying prompts to OpenAI, Azure OpenAI, or Anthropic through a static background worker and shared memory.</description></item><item><title>Running VS Code Agents in WSL Using WSLg</title><link>https://www.cicoria.com/running-vscode-agents-in-wsl-with-wslg/</link><pubDate>Fri, 15 May 2026 08:55:00 -0400</pubDate><guid>https://www.cicoria.com/running-vscode-agents-in-wsl-with-wslg/</guid><description>A workaround to run the new GitHub VS Code Agents app and the GitHub Copilot app natively inside WSL2 by leveraging WSLg and a simple shell function.</description></item><item><title>Resume</title><link>https://www.cicoria.com/resume-of-shawn-cicoria/</link><pubDate>Wed, 13 May 2026 08:11:00 -0400</pubDate><guid>https://www.cicoria.com/resume-of-shawn-cicoria/</guid><description>&lt;h1 id="shawn-p-cicoria"&gt;Shawn P Cicoria&lt;/h1&gt;
&lt;p&gt;United States | &lt;a href="https://www.linkedin.com/in/shawncicoria"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://www.cicoria.com"&gt;www.cicoria.com&lt;/a&gt; | &lt;a href="https://github.com/cicorias"&gt;GitHub&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;
&lt;p&gt;Hands-on Technical Lead driven towards action and sense of urgency towards prioritized delivery targets; resolve issues, move forward. Bias to action. Results-oriented engineering project teams across Retail, Automotive, Financial Services, eCommerce, and Manufacturing. Startups and large enterprises. Results-oriented lead spanning team sizes of 5 to 50+. Production continuous delivery, agile, DevOps, Security and Cybersecurity. Dissertation on Cloud and Cloud Native migration framework. Cloud Scale, Building Teams, CI/CD, GitHub, DevOps.&lt;/p&gt;</description></item><item><title>Resume</title><link>https://www.cicoria.com/resume/</link><pubDate>Wed, 13 May 2026 08:11:00 -0400</pubDate><guid>https://www.cicoria.com/resume/</guid><description>&lt;h1 id="shawn-p-cicoria"&gt;Shawn P Cicoria&lt;/h1&gt;
&lt;p&gt;United States | &lt;a href="https://www.linkedin.com/in/shawncicoria"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://www.cicoria.com"&gt;www.cicoria.com&lt;/a&gt; | &lt;a href="https://github.com/cicorias"&gt;GitHub&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;
&lt;p&gt;Hands-on Technical Lead driven towards action and sense of urgency towards prioritized delivery targets; resolve issues, move forward. Bias to action. Results-oriented engineering project teams across Retail, Automotive, Financial Services, eCommerce, and Manufacturing. Startups and large enterprises. Results-oriented lead spanning team sizes of 5 to 50+. Production continuous delivery, agile, DevOps, Security and Cybersecurity. Dissertation on Cloud and Cloud Native migration framework. Cloud Scale, Building Teams, CI/CD, GitHub, DevOps.&lt;/p&gt;</description></item><item><title>About this site</title><link>https://www.cicoria.com/about/</link><pubDate>Wed, 13 May 2026 08:07:00 -0400</pubDate><guid>https://www.cicoria.com/about/</guid><description>&lt;p&gt;&lt;a href="https://www.cicoria.com/resume-of-shawn-cicoria/"&gt;View my full resume&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Shawn Cicoria has been a Forward Deployed Engineer (FDE) for the past decade at Microsoft and a Principal Engineering leader in Microsoft&amp;rsquo;s Industry/Commercial Software Engineering group, where he focuses on generative AI, distributed systems along with cloud, data, and AI/ML solutions. He has authored many books and technical posts for Microsoft&amp;rsquo;s ISE Developer Blog and maintains active open-source work on GitHub. Beyond industry, he has taught computer science at Pace University and has spoken publicly about NJIT&amp;rsquo;s M.S. in Data Science program. Lately, his writing has highlighted modern observability practices with OpenTelemetry.&lt;/p&gt;</description></item><item><title>Cookie Policy</title><link>https://www.cicoria.com/cookie-policy/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://www.cicoria.com/cookie-policy/</guid><description>&lt;p&gt;This Cookie Policy explains how &lt;strong&gt;cicoria.com&lt;/strong&gt; uses cookies and similar technologies when you visit the site. It complements the &lt;a href="https://www.cicoria.com/privacy-policy/"&gt;Privacy Policy&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="what-are-cookies"&gt;What are cookies?&lt;/h2&gt;
&lt;p&gt;Cookies are small text files that a website stores in your browser. They are widely used to make websites work, to remember preferences, and to measure usage. Similar technologies include local storage, session storage, and pixel tags. In this policy, &amp;ldquo;cookies&amp;rdquo; refers to all of these.&lt;/p&gt;
&lt;h2 id="does-this-site-use-cookies"&gt;Does this site use cookies?&lt;/h2&gt;
&lt;p&gt;The site itself does &lt;strong&gt;not&lt;/strong&gt; set tracking cookies, run advertising networks, or sell data. The only cookies you may encounter come from:&lt;/p&gt;</description></item><item><title>Privacy Policy</title><link>https://www.cicoria.com/privacy-policy/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://www.cicoria.com/privacy-policy/</guid><description>&lt;p&gt;This site, &lt;strong&gt;cicoria.com&lt;/strong&gt;, is a personal technology blog operated by Shawn Cicoria. The opinions expressed here are my own and do not represent those of my employer or any affiliated organization. This page explains what information is collected when you visit, how it is used, and the choices you have.&lt;/p&gt;
&lt;h2 id="information-collected"&gt;Information collected&lt;/h2&gt;
&lt;p&gt;This site does &lt;strong&gt;not&lt;/strong&gt; require you to register, log in, or submit personal information to read its content. Comments, contact forms, and newsletter sign-ups are not offered.&lt;/p&gt;</description></item><item><title>Tokenomics: The Allocation of Scarce Resources in Agentic AI</title><link>https://www.cicoria.com/generative-ai-tokenomics/</link><pubDate>Tue, 12 May 2026 10:27:49 -0400</pubDate><guid>https://www.cicoria.com/generative-ai-tokenomics/</guid><description>Economics is the allocation of scarce resources. Tokens are becoming that scarce resource. As GenAI subsidies disappear and agentic workflows explode consumption, developers need to start thinking like economists.</description></item><item><title>A Skeletal Streamlit App on Databricks: From Parquet to Approval Workflow</title><link>https://www.cicoria.com/databricks-skeletal-streamlit-app/</link><pubDate>Tue, 05 May 2026 09:00:00 -0400</pubDate><guid>https://www.cicoria.com/databricks-skeletal-streamlit-app/</guid><description>A walkthrough of a skeletal Streamlit application running on Databricks Apps — covering its Makefile-driven setup, dual-auth strategy, layered data architecture with volumes, tables, materialized views, and SQL views, and the flexibility to run locally or deploy to the platform with a single command.</description></item><item><title>CUDA on WSL2: How It Works, How to Set It Up, and a Rust TUI to Prove It</title><link>https://www.cicoria.com/cuda-on-wsl2-how-it-works-how-to-set-it-up-and-a-rust-tui-to-prove-it/</link><pubDate>Mon, 06 Apr 2026 14:55:41 +0000</pubDate><guid>https://www.cicoria.com/cuda-on-wsl2-how-it-works-how-to-set-it-up-and-a-rust-tui-to-prove-it/</guid><description>Nvidia cuda on wsl quick setup and benchmarks</description></item><item><title>Asteroids - 1980s version in Rust TUI</title><link>https://www.cicoria.com/asteroids-1980s-version-in-rust-tui/</link><pubDate>Mon, 06 Apr 2026 14:48:28 +0000</pubDate><guid>https://www.cicoria.com/asteroids-1980s-version-in-rust-tui/</guid><description>asteroids game in Rust TUI 1908s version</description></item><item><title>MacBook Neo 8GB: MPS/Metal Actually Works</title><link>https://www.cicoria.com/macbook-neo-8gb-mps-metal-actually-works/</link><pubDate>Sat, 21 Mar 2026 18:43:46 +0000</pubDate><guid>https://www.cicoria.com/macbook-neo-8gb-mps-metal-actually-works/</guid><description>MacBook Neo 8GB supports Metal/MPS and reasonable entry level performance for light loads.</description></item><item><title>Windows 11 AI Features -- 8 Gig of RAM -- what I don't need</title><link>https://www.cicoria.com/win11-disable-ai-hog/</link><pubDate>Wed, 04 Feb 2026 14:03:29 +0000</pubDate><guid>https://www.cicoria.com/win11-disable-ai-hog/</guid><description>&lt;h2 id="ai-features-using-over-8-gig-of-ram"&gt;AI features using over 8 Gig of RAM&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;What’s happening:&lt;/strong&gt; &lt;code&gt;WorkloadsSessionHost.exe&lt;/code&gt; can spawn multiple background “workload” processes that support newer &lt;strong&gt;AI/semantic features&lt;/strong&gt;, and it often &lt;strong&gt;respawns&lt;/strong&gt; after you end it in Task Manager.
&lt;ul&gt;
&lt;li&gt;Source: &lt;a href="https://learn.microsoft.com/en-us/answers/questions/3857480/workloadssessionhost-high-cpu-ram-usage"&gt;Microsoft Q&amp;amp;A thread on high CPU/RAM usage&lt;/a&gt; (&lt;a href="https://learn.microsoft.com/en-us/answers/questions/3857480/workloadssessionhost-high-cpu-ram-usage"&gt;Microsoft Learn&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;First, disable the triggers (lowest risk):&lt;/strong&gt; Turn off Windows features that commonly drive these workload sessions—especially &lt;strong&gt;Recall / snapshots&lt;/strong&gt; and “semantic”/enhanced search behaviors.
&lt;ul&gt;
&lt;li&gt;Context + discussion: &lt;a href="https://superuser.com/questions/1890361/what-is-the-windowsworkload-manager-and-how-do-you-control-or-use-it"&gt;SuperUser: WindowsWorkload.Manager / controlling it&lt;/a&gt; (&lt;a href="https://superuser.com/questions/1890361/what-is-the-windowsworkload-manager-and-how-do-you-control-or-use-it?utm_source=chatgpt.com"&gt;Super User&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Community observation tying sessions to Recall-related components: &lt;a href="https://www.elevenforum.com/t/new-workloadssessionhost-processes-consuming-ram.36446/"&gt;ElevenForum thread&lt;/a&gt; (&lt;a href="https://www.elevenforum.com/t/new-workloadssessionhost-processes-consuming-ram.36446/?utm_source=chatgpt.com"&gt;Windows 11 Forum&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;If you want it &lt;em&gt;off&lt;/em&gt;, disable the service most commonly associated with it:&lt;/strong&gt; Many reports tie the RAM-heavy WorkloadsSessionHost instances to &lt;strong&gt;Windows AI Fabric Service&lt;/strong&gt; (often shown as &lt;code&gt;WSAIFabricSvc&lt;/code&gt;). Disabling the service is the “hard off switch” people use.
&lt;ul&gt;
&lt;li&gt;How-to steps (services.msc + &lt;code&gt;WSAIFabricSvc&lt;/code&gt;): &lt;a href="https://community.acer.com/en/discussion/732950/why-workloadsessionhost-exe-consuming-my-ram"&gt;Acer Community walkthrough&lt;/a&gt; (&lt;a href="https://community.acer.com/en/discussion/732950/why-workloadsessionhost-exe-consuming-my-ram?utm_source=chatgpt.com"&gt;Acer Community&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Related Microsoft Q&amp;amp;A thread (same fix cited by users): &lt;a href="https://learn.microsoft.com/en-us/answers/questions/3857480/workloadssessionhost-high-cpu-ram-usage"&gt;Microsoft Q&amp;amp;A discussion&lt;/a&gt; (&lt;a href="https://learn.microsoft.com/en-us/answers/questions/3857480/workloadssessionhost-high-cpu-ram-usage?utm_source=chatgpt.com"&gt;Microsoft Learn&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optional: check Task Scheduler entries:&lt;/strong&gt; Some guides suggest disabling any scheduled task that explicitly launches WorkloadsSessionHost to prevent automatic restarts.
&lt;ul&gt;
&lt;li&gt;Steps: &lt;a href="https://allthings.how/disable-workloadssessionhost-in-windows-environments/"&gt;AllThings.How guide&lt;/a&gt; (&lt;a href="https://allthings.how/disable-workloadssessionhost-in-windows-environments/"&gt;All Things How&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security sanity check:&lt;/strong&gt; Right-click the process in Task Manager → &lt;strong&gt;Open file location&lt;/strong&gt;. A legit binary is commonly under a Windows app package (WindowsWorkload manager); anything in odd paths (Temp/User folders) is suspicious.
&lt;ul&gt;
&lt;li&gt;Background: &lt;a href="https://superuser.com/questions/1890361/what-is-the-windowsworkload-manager-and-how-do-you-control-or-use-it"&gt;SuperUser: WindowsWorkload.Manager&lt;/a&gt; (&lt;a href="https://superuser.com/questions/1890361/what-is-the-windowsworkload-manager-and-how-do-you-control-or-use-it?utm_source=chatgpt.com"&gt;Super User&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt; Most public writeups reference Windows 11 (24H2-era builds) but the same components are being reported on newer builds; the workflow above is still the practical “turn it off” playbook.&lt;/p&gt;</description></item><item><title>Hypervelocity Engineering (HVE) is Great -- But what About Scaling it?</title><link>https://www.cicoria.com/hypervelocity-engineering-hve-is-great-but-what-about-scaling-it/</link><pubDate>Thu, 29 Jan 2026 14:10:29 +0000</pubDate><guid>https://www.cicoria.com/hypervelocity-engineering-hve-is-great-but-what-about-scaling-it/</guid><description>&lt;p&gt;The traversal of easily generating or fixing a &amp;ldquo;program&amp;rdquo; is OK – but orchestrating at higher levels is still way beyond the tools – Not to forget about the &amp;ldquo;enterprise&amp;rdquo; stuff. The evolution of AI in the context of Software Development is just following many other industrial growth patterns. The humans still need to understand the big picture – and it&amp;rsquo;s been big all the time, but now we have greater tools and automation at the lower levels.&lt;/p&gt;</description></item><item><title>Fixing mise shims not working in VS Code on Ubuntu: avoid the Snap build</title><link>https://www.cicoria.com/fixing-mise-shims-not-working-in-vs-code-on-ubuntu-avoid-the-snap-build/</link><pubDate>Mon, 22 Dec 2025 15:57:48 +0000</pubDate><guid>https://www.cicoria.com/fixing-mise-shims-not-working-in-vs-code-on-ubuntu-avoid-the-snap-build/</guid><description>Fixing mise shims not working in VS Code on Ubuntu: avoid the Snap build</description></item><item><title>Getting Azure Defender Security Scores into JSON</title><link>https://www.cicoria.com/getting-azure-defender-security-scores-into-json/</link><pubDate>Thu, 11 Dec 2025 21:12:15 +0000</pubDate><guid>https://www.cicoria.com/getting-azure-defender-security-scores-into-json/</guid><description>getting json for azure defender scores</description></item><item><title>Getting PyTorch + ROCm Working on a Framework 13 (Ryzen AI 9) Using a Dev Container</title><link>https://www.cicoria.com/getting-pytorch-rocm-working-on-a-framework-13-ryzen-ai-9-using-a-dev-container/</link><pubDate>Sun, 23 Nov 2025 20:14:26 +0000</pubDate><guid>https://www.cicoria.com/getting-pytorch-rocm-working-on-a-framework-13-ryzen-ai-9-using-a-dev-container/</guid><description>Getting PyTorch with ROCm running on a Framework 13 with Ryzen AI 9 was surprisingly fragile, so I moved everything into an AMD ROCm PyTorch devcontainer and used HSA_OVERRIDE_GFX_VERSION=11.0.0 to finally make the integrated Radeon GPU usable for local experiments.</description></item><item><title>Windows 11 with Bypass</title><link>https://www.cicoria.com/windows-11-with-bypass/</link><pubDate>Thu, 04 Sep 2025 13:38:38 +0000</pubDate><guid>https://www.cicoria.com/windows-11-with-bypass/</guid><description>windows 11 TPM bypass methods</description></item><item><title>PXE with UEFI should be easy, right</title><link>https://www.cicoria.com/pxe-with-uefi-should-be-easy-right/</link><pubDate>Wed, 27 Aug 2025 13:12:55 +0000</pubDate><guid>https://www.cicoria.com/pxe-with-uefi-should-be-easy-right/</guid><description>UEFI PXE setup on Ubuntu simplified using scripts, TFTP, DHCP, NFS, HTTP, GRUB, Syslinux, resolving loader handoffs and configuration pitfalls.</description></item><item><title>Cleaning up Visual Studio Code Extensions</title><link>https://www.cicoria.com/cleaning-up-visual-studio-code-extensions/</link><pubDate>Fri, 13 Jun 2025 16:08:01 +0000</pubDate><guid>https://www.cicoria.com/cleaning-up-visual-studio-code-extensions/</guid><description>Cleaning up Visual Studio Code Extensions with a simple script. From my experience it helps to keep the Default profile empty as possible. And set the setting &amp;ldquo;for new windows use default&amp;rdquo; – or whatever that setting is.</description></item><item><title>Leveraging Azure Application Insights with OpenTelemetry: Distributed Tracing Done Right</title><link>https://www.cicoria.com/leveraging-azure-application-insights-with-opentelemetry-distributed-tracing-done-right/</link><pubDate>Thu, 13 Mar 2025 13:17:36 +0000</pubDate><guid>https://www.cicoria.com/leveraging-azure-application-insights-with-opentelemetry-distributed-tracing-done-right/</guid><description>Learn about migrating .NET applications to Azure&amp;rsquo;s OpenTelemetry-based Application Insights for seamless distributed tracing, simplified observability, and minimal code impact.</description></item><item><title>Copy a Hyper-V VM with - "The key protector could not be unwrapped. Details are included in the HostGuardianService-Client event log"</title><link>https://www.cicoria.com/copy-a-hyper-v-vm-with-the-key-protector-could-not-be-unwrapped-details-are-included-in-the-hostguardianservice-client-event-log/</link><pubDate>Thu, 13 Mar 2025 12:47:10 +0000</pubDate><guid>https://www.cicoria.com/copy-a-hyper-v-vm-with-the-key-protector-could-not-be-unwrapped-details-are-included-in-the-hostguardianservice-client-event-log/</guid><description>&lt;p&gt;take a look at this &lt;a href="https://www.altaro.com/hyper-v/hyper-v-2016-shielded-virtual-machines-stand-alone-hosts/"&gt;Hyper-V 2016 Shielded Virtual Machines on Stand-Alone Hosts (altaro.com)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.cicoria.com/images/2023/01/image.png" alt=""&gt;&lt;/p&gt;</description></item><item><title>Is your team healthy?</title><link>https://www.cicoria.com/is-your-team-healthy/</link><pubDate>Tue, 03 Sep 2024 13:04:39 +0000</pubDate><guid>https://www.cicoria.com/is-your-team-healthy/</guid><description>&lt;p&gt;Start with the basics&amp;hellip;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Do people know what they need to work on?&lt;/li&gt;
&lt;li&gt;Do they know how it will all fit together?&lt;/li&gt;
&lt;li&gt;Do they know what success looks like?&lt;/li&gt;
&lt;li&gt;Do they know the tech needed to do it?&lt;/li&gt;
&lt;li&gt;Do I (as the SM/team lead/whatever) know the above as well?&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Azure Stream Analytics Updating a Job using a GitHub Action to stop and start</title><link>https://www.cicoria.com/azure-stream-analytics-updating-a-job-using-a-github-action-to-stop-and-start/</link><pubDate>Sun, 26 May 2024 19:59:01 +0000</pubDate><guid>https://www.cicoria.com/azure-stream-analytics-updating-a-job-using-a-github-action-to-stop-and-start/</guid><description>Effortlessly deploy Azure Stream Analytics jobs with my TypeScript-based GitHub Action and Azure CLI.</description></item><item><title>Git Git Submodules vs. Git Subtree</title><link>https://www.cicoria.com/integrating-external-git-repositories-git-submodules-vs-git-subtree/</link><pubDate>Sun, 26 May 2024 19:45:11 +0000</pubDate><guid>https://www.cicoria.com/integrating-external-git-repositories-git-submodules-vs-git-subtree/</guid><description>Integrate external Git repositories using Git submodules or subtree. This guide covers the steps for both methods and compares their features. Simplify your development workflow and maintain modular codebases by choosing the best approach for your needs, enhancing code reusability and efficiency.</description></item><item><title>Using regular expressions in Azure Application Gateway Rewrite Rules - extract Certificate Common Name</title><link>https://www.cicoria.com/using-regular-expressions-in-azure-application-gateway-rewrite-rules-extract-certificate-common-name/</link><pubDate>Sun, 30 Apr 2023 17:05:05 +0000</pubDate><guid>https://www.cicoria.com/using-regular-expressions-in-azure-application-gateway-rewrite-rules-extract-certificate-common-name/</guid><description>&lt;p&gt;Microsoft Azure&amp;rsquo;s &lt;a href="https://learn.microsoft.com/en-us/azure/application-gateway/"&gt;Application Gateway&lt;/a&gt; is a platform service that can offload capabilities, so you don&amp;rsquo;t have to code them for yourself.&lt;/p&gt;
&lt;p&gt;With proxy software, one capability is the ability to rewrite aspects of the HTTP request – Server, Request, and Response variables.&lt;/p&gt;
&lt;p&gt;Another feature is Application Gateway is support for certificate authentication or mTLS (&lt;a href="https://www.cloudflare.com/learning/access-management/what-is-mutual-tls/"&gt;mutual TLS&lt;/a&gt;).  In this model, Application Gateway becomes the authentication boundary, again offloading a capability that you do not have to code for. But to identify aspects of the client it&amp;rsquo;s necessary to set up rewrite rules to supplement the forwarded request to your application over HTTP.&lt;/p&gt;</description></item><item><title>IP Address and Subnetting CIDR Helpful Tools - ipcalc cli</title><link>https://www.cicoria.com/ip-address-and-subnetting-cidr-helfpful-tools/</link><pubDate>Sun, 30 Apr 2023 16:31:21 +0000</pubDate><guid>https://www.cicoria.com/ip-address-and-subnetting-cidr-helfpful-tools/</guid><description>&lt;p&gt;How often are you subnetting, or just trying to get valid sets of CIDR (classless inter-domain routing) addresses?&lt;/p&gt;
&lt;p&gt;For that there are a bunch of online tools, but the one tool I prefer is the ipcalc command line tool.  The Linux man page is here: &lt;a href="https://linuxcommandlibrary.com/man/ipcalc"&gt;ipcalc man | Linux Command Library&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s also available on macOS using Homebrew via &lt;code&gt;brew install ipcalc&lt;/code&gt; – and there is an online-version here: &lt;a href="http://jodies.de/ipcalc"&gt;http://jodies.de/ipcalc&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Full source is here: &lt;a href="https://gitlab.com/ipcalc/ipcalc"&gt;ipcalc / ipcalc · GitLab&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Using BlobOutput and EventHubTrigger bindings with System Properties in Java Azure Functions</title><link>https://www.cicoria.com/using-bloboutput-and-eventhubtrigger-bindings-with-system-properties/</link><pubDate>Thu, 25 Aug 2022 16:51:21 +0000</pubDate><guid>https://www.cicoria.com/using-bloboutput-and-eventhubtrigger-bindings-with-system-properties/</guid><description>&lt;p&gt;One of the nice developer features of Azure Functions is the Bindings that provide pre-baked code and logic to help manage events inbound or sending things outbound&lt;/p&gt;
&lt;p&gt;However, much of the documentation is centered around C# and I found it difficult to find any clear Java examples that use EventHub and Blob output.&lt;/p&gt;
&lt;p&gt;So, after bunch of debugging and spelunking, I created a simple Azure Function in Java the illustrates pulling in System and Custom properties from the Event Hub message.&lt;/p&gt;</description></item><item><title>Scala Using with OpenTelemetry Span to automatically end the Span Block</title><link>https://www.cicoria.com/scala-using-with-opentelemetry-span-to-automatically-end-the-span-block/</link><pubDate>Wed, 03 Aug 2022 18:24:46 +0000</pubDate><guid>https://www.cicoria.com/scala-using-with-opentelemetry-span-to-automatically-end-the-span-block/</guid><description>&lt;p&gt;Past couple of years, I&amp;rsquo;ve been spending quite a bit of time with &lt;a href="https://opentelemetry.io/"&gt;OpenTelemetry&lt;/a&gt; (OTEL). As always, always looking for shortcuts in code.&lt;/p&gt;
&lt;p&gt;One of the things that is always just annoying is that &lt;a href="https://opentelemetry.io/docs/instrumentation/java/manual/#create-spans"&gt;&lt;code&gt;span.end(&lt;/code&gt;&lt;/a&gt;&lt;code&gt;)&lt;/code&gt; just doesn&amp;rsquo;t mesh well with &amp;ldquo;close&amp;rdquo; or &amp;ldquo;release&amp;rdquo; etc. all the time. So, things like try-resource and Scala&amp;rsquo;s Using won&amp;rsquo;t understand it without some help.&lt;/p&gt;
&lt;p&gt;So, this little bit of code using implicit support in Scala (I&amp;rsquo;m still on Scala 2.13 much) will help that along.&lt;/p&gt;</description></item><item><title>Parse Log output from Hadoop Yarn MapReduce DFSIO Benchmark Utility to CSV Files</title><link>https://www.cicoria.com/parse-log-output-from-hadoop-yarn-dfsio-benchmark-utility-to-csv-files/</link><pubDate>Fri, 22 Jul 2022 21:00:13 +0000</pubDate><guid>https://www.cicoria.com/parse-log-output-from-hadoop-yarn-dfsio-benchmark-utility-to-csv-files/</guid><description>&lt;p&gt;Recently I&amp;rsquo;ve been spending my time running lots of dfsio benchmark jobs.&lt;/p&gt;
&lt;p&gt;The DFSIO utility is part of the Hadoop distribution and can be found in jars located in &lt;code&gt;./hadoop/share/mapred&lt;/code&gt; – the JARS have a name like &lt;code&gt;&amp;quot;hadoop-mapreduce-client-jobclient-*-tests.jar&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Output from the tool is a column order which is readable in single runs. However, I&amp;rsquo;ve been running these in a loop with varying parameters. This emits output friendly to the eyes, but after looping through the output is not great to parse and later analyze.&lt;/p&gt;</description></item><item><title>Generate OpenTelemetry Compliant TraceParent TraceContext Headers using Bash</title><link>https://www.cicoria.com/generate-opentelemetry-compliant-traceparent-tracecontext-headers-using-bash/</link><pubDate>Mon, 11 Jul 2022 16:13:32 +0000</pubDate><guid>https://www.cicoria.com/generate-opentelemetry-compliant-traceparent-tracecontext-headers-using-bash/</guid><description>&lt;p&gt;For the past year or so I&amp;rsquo;ve been working with Observability and quite a bit of Open Telemetry.  One of the requirements of triggering a great front-to-back trace is providing a W3C compliant header in the Open Telemetry format. That format detailed in &lt;a href="https://www.w3.org/TR/trace-context/#examples-of-http-traceparent-headers"&gt;W3C Trance Context&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Very simply in bash, we were able to use the following, which when we lit up for example Application Insights in Azure, a fully holistic view with all sub-spans appears providing a great analytics experience.&lt;/p&gt;</description></item><item><title>Expanding Ubuntu Disk Image</title><link>https://www.cicoria.com/expanding-ubuntu-disk-image/</link><pubDate>Fri, 01 Jul 2022 22:47:13 +0000</pubDate><guid>https://www.cicoria.com/expanding-ubuntu-disk-image/</guid><description>&lt;p&gt;I don&amp;rsquo;t know how many times I have to look this up, but if I&amp;rsquo;m ever in Iceland, gotta personally thank&lt;/p&gt;
&lt;p&gt;&lt;img src="http://linguist.is/wp-content/uploads/2017/01/121148352_10159131257891019_4390820463615991948_o.jpg" alt=""&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Turn off the VM.&lt;/li&gt;
&lt;li&gt;Use Hyper-V Manager to select the Settings of the Virtual Machine, select the Hard Drive option and Edit under Virtual hard disk. (If this option is disabled, you need to go back and delete any checkpoints for the VM in the Hyper-V Manager; just select the VM and right click the checkpoint in the checkpoint field below.)&lt;/li&gt;
&lt;li&gt;Use the GUI to expand the drive to something reasonable, like 128 GB. Ubuntu now has space to expand into.&lt;/li&gt;
&lt;li&gt;Start the VM again. Install Guest Utils:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install cloud-guest-utils
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;If not using English, override locale settings to avoid issues with non-English locales:&lt;/p&gt;</description></item><item><title>Converting Azure EventHub Capture AVRO to JSON Lines (JSONL)</title><link>https://www.cicoria.com/converting-azure-eventhub-capture-avro-to-json-lines-jsonl/</link><pubDate>Thu, 24 Mar 2022 11:06:40 +0000</pubDate><guid>https://www.cicoria.com/converting-azure-eventhub-capture-avro-to-json-lines-jsonl/</guid><description>quickly convert lots of avro files to json using eventhub capture files</description></item><item><title>Spring Initializer from the Command Line - Tighten the Developer Loop</title><link>https://www.cicoria.com/spring-initailizer-from-the-command-line/</link><pubDate>Wed, 19 Jan 2022 14:05:27 +0000</pubDate><guid>https://www.cicoria.com/spring-initailizer-from-the-command-line/</guid><description>&lt;p&gt;For the past year I&amp;rsquo;ve had my head buried in Spring Boot for Java, and now Kotlin. A developer approach that I&amp;rsquo;ve always followed is that before introducing novel approaches, patterns, recipes, etc. is to implement a bare bones skeleton project first. This is essential to get that &amp;ldquo;clean room&amp;rdquo; validation that can prove assumptions, crush them if necessary. But most importantly it can be done in a way that is &amp;ldquo;as few things as possible&amp;rdquo; to ensure I understand what is going on.&lt;/p&gt;</description></item><item><title>Loading .env (dotenv) using bash or zsh</title><link>https://www.cicoria.com/loading-env-dotenv-using-bash-or-zsh/</link><pubDate>Wed, 05 Jan 2022 10:15:26 +0000</pubDate><guid>https://www.cicoria.com/loading-env-dotenv-using-bash-or-zsh/</guid><description>Keep Cloud Native and follow 12 Factor Apps with dotenv even in Shell Bash Zsh scripts</description></item><item><title>Get the weather at a command line interface CLI - curl</title><link>https://www.cicoria.com/get-the-weather-at-a-command-line-interface-cli-curl/</link><pubDate>Wed, 25 Aug 2021 16:48:15 +0000</pubDate><guid>https://www.cicoria.com/get-the-weather-at-a-command-line-interface-cli-curl/</guid><description>the weather is just a command line call away from any terminal - curl wttr.in</description></item><item><title>Easily capture web hook messages in storage with hierarchical structure</title><link>https://www.cicoria.com/easily-capture-web-hook-messages-in-storage-with-h/</link><pubDate>Fri, 09 Jul 2021 09:40:44 +0000</pubDate><guid>https://www.cicoria.com/easily-capture-web-hook-messages-in-storage-with-h/</guid><description>&lt;p&gt;Recently I was working with &lt;a href="https://particle.io"&gt;Particle.io&lt;/a&gt; which provides several integration types. One of which is a basic &lt;a href="https://en.wikipedia.org/wiki/Webhook"&gt;HTTP Webhook.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In need of a basic ability to capture each device message that is published across the webhook, we initially thought that we had to spin up a basic HTTP application, then write the binding code for persisting to an Azure Storage Account. We could&amp;rsquo;ve used Azure Functions and the simplicity of the Binding to Azure Storage feature.&lt;/p&gt;</description></item><item><title>DotNet Core Building Docker SDK Missing.</title><link>https://www.cicoria.com/dotnet-core-building-docker-sdk-missing/</link><pubDate>Thu, 01 Jul 2021 18:03:42 +0000</pubDate><guid>https://www.cicoria.com/dotnet-core-building-docker-sdk-missing/</guid><description>&lt;p&gt;If you see this&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/src/docker-compose.dcproj : error MSB4236: The SDK &amp;#39;Microsoft.Docker.Sdk&amp;#39; specified could not be found.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or something similar, you can update the base image to the following.&lt;/p&gt;
&lt;h2 id="docker-hub"&gt;Docker Hub&lt;/h2&gt;
&lt;p&gt;Look at the Tags and what&amp;rsquo;s in the Dockerfile&lt;/p&gt;
&lt;p&gt;First update your project&amp;hellip;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ci-build_1 | /usr/share/dotnet/sdk/1.1.0/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.TargetFrameworkInference.targets(112,5): error : The current .NET SDK does not support targeting .NET Core 2.0. Either target .NET Core 1.1 or lower, or use a version of the .NET SDK that supports .NET Core 2.0. [/src/EhReceiver/EhReceiver.csproj]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ci-build_1 | /usr/share/dotnet/sdk/1.1.0/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.TargetFrameworkInference.targets(112,5): error : The current .NET SDK does not support targeting .NET Core 2.0. Either target .NET Core 1.1 or lower, or use a version of the .NET SDK that supports .NET Core 2.0. [/src/EhSender/EhSender.csproj]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;\docker-compose.ci.build.yml&lt;/p&gt;</description></item><item><title>Google Chrome Software Reporter Tool CPU High</title><link>https://www.cicoria.com/google-chrome-software-reporter-tool-cpu-high/</link><pubDate>Mon, 11 May 2020 14:08:56 +0000</pubDate><guid>https://www.cicoria.com/google-chrome-software-reporter-tool-cpu-high/</guid><description>&lt;p&gt;Anyone else has this software reporter tool and High CPU? First, I don&amp;rsquo;t like the fact there&amp;rsquo;s nothing in Chrome settings to disable this.&lt;/p&gt;
&lt;p&gt;Secondly, why is it so poorly written for Windows that it slams the CPU?&lt;/p&gt;
&lt;p&gt;To disable, as there is a policy:&lt;/p&gt;
&lt;p&gt;via cmd line in an Adminstrator Elevated session:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;reg add hklm\SOFTWARE\Policies\Google\Chrome /v ChromeCleanupEnabled /t REG_DWORD /d 0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;reg add hklm\SOFTWARE\Policies\Google\Chrome /v ChromeCleanupReportingEnabled/t REG_DWORD /d 0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or put the following in a &lt;code&gt;*.reg&lt;/code&gt; file and just open it, but in an Administrator elevated session.&lt;/p&gt;</description></item><item><title>Jupyter Lab Build Failures under Wsl shutil.Error [Errno 13] Permission denied</title><link>https://www.cicoria.com/post-post/</link><pubDate>Sun, 10 May 2020 11:12:25 +0000</pubDate><guid>https://www.cicoria.com/post-post/</guid><description>&lt;p&gt;If you&amp;rsquo;re seeing the following running under wsl in Windows it&amp;rsquo;s not a Linux permission, it&amp;rsquo;s a Windows permission issue. Easiest route it to elevate in Windows, move to wsl environment, the run your rebuild.&lt;/p&gt;
&lt;h3 id="i-hate-these-errors"&gt;I hate these errors&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;11:02 $ jupyter lab build --dev-build=False --minimize=False
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[LabBuildApp] JupyterLab 1.2.11
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[LabBuildApp] Building in /c/g/njit/njit-ml-project-spring-2020/.venv/share/jupyter/lab
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[LabBuildApp] Building jupyterlab assets (build:prod)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;An error occured.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;shutil.Error: [(&amp;#39;/c/g/njit/njit-ml-project-spring-2020/.venv/lib/python3.7/site-packages/jupyterlab/staging/templates&amp;#39;, &amp;#39;/c/g/njit/njit-ml-project-spring-2020/.venv/share/jupyter/lab/staging/templates&amp;#39;, &amp;#34;[Errno 13] Permission denied: &amp;#39;/c/g/njit/njit-ml-project-spring-2020/.venv/share/jupyter/lab/staging/templates&amp;#39;&amp;#34;)]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;See the log file for details: /tmp/jupyterlab-debug-v2j1pzet.log
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;open up a PowerShell as &amp;ldquo;admin&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Navigate to the location of your &lt;code&gt;.venv&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;start wsl&lt;/li&gt;
&lt;li&gt;run the build command&lt;br&gt;
jupyter lab build &amp;ndash;dev-build=False &amp;ndash;minimize=False&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="things-look-much-nicer-now"&gt;things look much nicer now..&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(.venv) ✔ /c/g/njit/njit-ml-project-spring-2020 [master|✚ 1…2⚑ 2]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;11:08 $ jupyter lab build
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[LabBuildApp] JupyterLab 1.2.11
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[LabBuildApp] Building in /c/g/njit/njit-ml-project-spring-2020/.venv/share/jupyter/lab
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[LabBuildApp] Building jupyterlab assets (build:prod:minimize)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(.venv) ✔ /c/g/njit/njit-ml-project-spring-2020 [master|✚ 1…2⚑ 2]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Azure DevOps PowerShell Tasks Fail with NativeCommandError RemoteException</title><link>https://www.cicoria.com/azure/</link><pubDate>Fri, 08 May 2020 12:48:13 +0000</pubDate><guid>https://www.cicoria.com/azure/</guid><description>&lt;p&gt;If you run into the error mentioned with the Hosted Build Agents on Windows - I&amp;rsquo;ve seen this with the Windows-2019 images &amp;ndash; and you&amp;rsquo;re truly not using PowerShell remoting - a simple switch to the PowerShell core version of the task works - &lt;code&gt;pwsh&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;CategoryInfo : NotSpecified: (:String) [], RemoteException
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;FullyQualifiedErrorId : NativeCommandError
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="so-the-following"&gt;So, the following&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; steps:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - checkout: curl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - powershell: |
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="becomes"&gt;Becomes:&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; steps:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - checkout: curl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - pwsh: |
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Using vcvars64 vcvars.bat from PowerShell and Azure Devops</title><link>https://www.cicoria.com/using-vcvars64-vcvars-bat-from-powershell-and-azure-devops/</link><pubDate>Tue, 05 May 2020 16:44:54 +0000</pubDate><guid>https://www.cicoria.com/using-vcvars64-vcvars-bat-from-powershell-and-azure-devops/</guid><description>&lt;p&gt;&lt;strong&gt;UPDATE: 2020-05-8 &amp;ndash; non-hard-coded paths!!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Added step for using &lt;code&gt;vswhere&lt;/code&gt;..&lt;/p&gt;
&lt;p&gt;Recently in order to build Curl, I needed to just simply use the Native x64 command prompt and just &lt;code&gt;nmake&lt;/code&gt; - unfortunately, that&amp;rsquo;s not so direct.&lt;/p&gt;
&lt;p&gt;So, the following is a PowerShell inline script that runs this on the build box, and this works on Azure Cloud Hosted too.&lt;/p&gt;
&lt;p&gt;Thanks to &lt;a href="https://stackoverflow.com/a/2124759/140618"&gt;https://stackoverflow.com/a/2124759/140618&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;$&lt;/span&gt;vswhere &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;\v&lt;/span&gt;&lt;span style="color:#e6db74"&gt;swhere.exe&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;$&lt;/span&gt;vcvarspath &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;$&lt;/span&gt;vswhere &lt;span style="color:#f92672"&gt;-&lt;/span&gt;latest &lt;span style="color:#f92672"&gt;-&lt;/span&gt;products &lt;span style="color:#f92672"&gt;*&lt;/span&gt; &lt;span style="color:#f92672"&gt;-&lt;/span&gt;requires Microsoft&lt;span style="color:#f92672"&gt;.&lt;/span&gt;VisualStudio&lt;span style="color:#f92672"&gt;.&lt;/span&gt;Component&lt;span style="color:#f92672"&gt;.&lt;/span&gt;VC&lt;span style="color:#f92672"&gt;.&lt;/span&gt;Tools&lt;span style="color:#f92672"&gt;.&lt;/span&gt;x86&lt;span style="color:#f92672"&gt;.&lt;/span&gt;x64 &lt;span style="color:#f92672"&gt;-&lt;/span&gt;property installationPath
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Write&lt;span style="color:#f92672"&gt;-&lt;/span&gt;Output &lt;span style="color:#e6db74"&gt;&amp;#34;vc tools located at: $vcvarspath&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cmd&lt;span style="color:#f92672"&gt;.&lt;/span&gt;exe &lt;span style="color:#f92672"&gt;/&lt;/span&gt;c &lt;span style="color:#e6db74"&gt;&amp;#34;call `&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;$&lt;/span&gt;vcvarspath\VC\Auxiliary\Build\vcvars64&lt;span style="color:#f92672"&gt;.&lt;/span&gt;bat&lt;span style="color:#960050;background-color:#1e0010"&gt;`&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34; &amp;amp;&amp;amp; set &amp;gt; %temp%&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;\v&lt;/span&gt;&lt;span style="color:#e6db74"&gt;cvars.txt&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Get&lt;span style="color:#f92672"&gt;-&lt;/span&gt;Content &lt;span style="color:#e6db74"&gt;&amp;#34;$env:temp&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;\v&lt;/span&gt;&lt;span style="color:#e6db74"&gt;cvars.txt&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;|&lt;/span&gt; Foreach&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;Object&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; (&lt;span style="color:#f92672"&gt;$&lt;/span&gt;_ &lt;span style="color:#f92672"&gt;-&lt;/span&gt;match &lt;span style="color:#e6db74"&gt;&amp;#34;^(.*?)=(.*)$&amp;#34;&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Set&lt;span style="color:#f92672"&gt;-&lt;/span&gt;Content &lt;span style="color:#e6db74"&gt;&amp;#34;env:\$($matches[1])&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;$&lt;/span&gt;matches[&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;.&lt;/span&gt;\buildconf&lt;span style="color:#f92672"&gt;.&lt;/span&gt;bat
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Set&lt;span style="color:#f92672"&gt;-&lt;/span&gt;Location &lt;span style="color:#f92672"&gt;.&lt;/span&gt;\winbuild
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;$&lt;/span&gt;prefixRelease&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;libcurl-vc16-x64-release-dll-ipv6-sspi-winssl&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;$&lt;/span&gt;prefixDebug&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;libcurl-vc16-x64-debug-dll-ipv6-sspi-winssl&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;#release build&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; nmake &lt;span style="color:#f92672"&gt;/&lt;/span&gt;f Makefile&lt;span style="color:#f92672"&gt;.&lt;/span&gt;vc mode&lt;span style="color:#f92672"&gt;=&lt;/span&gt;dll MACHINE&lt;span style="color:#f92672"&gt;=&lt;/span&gt;x64 GEN_PDB&lt;span style="color:#f92672"&gt;=&lt;/span&gt;yes WITH_PREFIX&lt;span style="color:#f92672"&gt;=$&lt;/span&gt;(Build&lt;span style="color:#f92672"&gt;.&lt;/span&gt;ArtifactStagingDirectory)\&lt;span style="color:#f92672"&gt;$&lt;/span&gt;prefixRelease
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;#debug build&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; nmake &lt;span style="color:#f92672"&gt;/&lt;/span&gt;f Makefile&lt;span style="color:#f92672"&gt;.&lt;/span&gt;vc mode&lt;span style="color:#f92672"&gt;=&lt;/span&gt;dll MACHINE&lt;span style="color:#f92672"&gt;=&lt;/span&gt;x64 DEBUG&lt;span style="color:#f92672"&gt;=&lt;/span&gt;yes GEN_PDB&lt;span style="color:#f92672"&gt;=&lt;/span&gt;yes WITH_PREFIX&lt;span style="color:#f92672"&gt;=$&lt;/span&gt;(Build&lt;span style="color:#f92672"&gt;.&lt;/span&gt;ArtifactStagingDirectory)\&lt;span style="color:#f92672"&gt;$&lt;/span&gt;prefixDebug
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Hardcoded yes - but this is what works now.&lt;/p&gt;</description></item><item><title>Jupyter Notebook auto launch browser from WSL</title><link>https://www.cicoria.com/jupyter-notebook-launch-browser-from-wsl/</link><pubDate>Fri, 24 Jan 2020 07:44:04 +0000</pubDate><guid>https://www.cicoria.com/jupyter-notebook-launch-browser-from-wsl/</guid><description>&lt;p&gt;If you&amp;rsquo;re running Windows 10 with WSL, built out a Python virtual environment, then running the command to launch the Notebook server - you&amp;rsquo;re probably seeing this.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;No web browser found: could not locate runnable browser
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="wsl-utilities"&gt;Wsl Utilities&lt;/h2&gt;
&lt;p&gt;Thankfully, there&amp;rsquo;s a tool that can help bridge opening the Browser onWindows from the WSL shell - you can install WslUtilities from &lt;a href="https://github.com/wslutilities/wslu"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You have to install it and ensure to register it in WSL as the browser:&lt;/p&gt;</description></item><item><title>ssh annoyance -- strict mode and known_hosts cleanup</title><link>https://www.cicoria.com/ssh-annoyance-strict-mode-and-known_hosts-cleanup/</link><pubDate>Sat, 07 Dec 2019 15:16:36 +0000</pubDate><guid>https://www.cicoria.com/ssh-annoyance-strict-mode-and-known_hosts-cleanup/</guid><description>&lt;p&gt;Often when using DNS names behind dynamic IP addresses the IP address might change. But the default for ssh is to ensure that the IP address still matches &amp;ndash; well, kinda annoying but &amp;ldquo;proper&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;You can clean a host using &lt;code&gt;ssh-keygen&lt;/code&gt; as below:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh-keygen -f &amp;#34;/home/cicorias/.ssh/known_hosts&amp;#34; -R &amp;#34;scicoriahdicluster-ssh.azurehdinsight.net&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Windows or PowerShell -&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh-keygen -f &amp;#34;/Users/cicor/.ssh/known_hosts&amp;#34; -R &amp;#34;scicoriahdicluster-ssh.azurehdinsight.net&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or, just use the &lt;code&gt;ssh -o&lt;/code&gt; flag:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh -o StrictHostKeyChecking=no user@myhostname.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Error: Manually created ServicePrincipalToken does not contain secret material to retrieve a new access token</title><link>https://www.cicoria.com/error-manually-created-serviceprincipaltoken-does-not-contain-secret-material-to-retrieve-a-new-access-token/</link><pubDate>Sat, 07 Dec 2019 12:05:25 +0000</pubDate><guid>https://www.cicoria.com/error-manually-created-serviceprincipaltoken-does-not-contain-secret-material-to-retrieve-a-new-access-token/</guid><description>&lt;p&gt;When a long-running Terraform on Azure deployment is happening (or an &lt;code&gt;apply&lt;/code&gt;) the token used by Terraform is NOT being refreshed during the operation.&lt;/p&gt;
&lt;h3 id="error-message"&gt;Error message&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Error: Error waiting for creation of HDInsight Hadoop Cluster &amp;#34;mycluster&amp;#34; (Resource Group &amp;#34;my-cluster&amp;#34;): azure.BearerAuthorizer#WithAuthorization: Failed to refresh the Token for request to https://management.azure.com/subscriptions/&amp;lt;redacted&amp;gt;/resourceGroups/scicoria-hdp-cluster/providers/Microsoft.HDInsight/clusters/mycluster/azureasyncoperations/create?api-version=2018-06-01-preview: StatusCode=0 -- Original Error: Manually created ServicePrincipalToken does not contain secret material to retrieve a new access token
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;There is an outstanding or actually closed &lt;a href="https://github.com/hashicorp/go-azure-helpers/issues/22"&gt;issue on GitHub&lt;/a&gt; that IMHO was prematurely closed. There is hope, the &lt;code&gt;1.37&lt;/code&gt; version of the Azure Provider may have fixed this - as shown in &lt;a href="https://github.com/terraform-providers/terraform-provider-azurerm/issues/2602#issuecomment-558524825"&gt;this issue&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Tensorflow - Suppressing FutureWarning numpy messages in Jupyter Notebooks</title><link>https://www.cicoria.com/tensorflow-suppressing-futurewarning-numpy-messages-in-jupyter-notebooks/</link><pubDate>Mon, 12 Aug 2019 11:55:41 +0000</pubDate><guid>https://www.cicoria.com/tensorflow-suppressing-futurewarning-numpy-messages-in-jupyter-notebooks/</guid><description>&lt;p&gt;You get these annoying errors first on a cold kernel in Jupyter notebooks when using Tensorflow and their Keras abstraction.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;Users&lt;span style="color:#f92672"&gt;/&lt;/span&gt;cicorias&lt;span style="color:#f92672"&gt;/.&lt;/span&gt;pyenv&lt;span style="color:#f92672"&gt;/&lt;/span&gt;versions&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;3.7.3&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;envs&lt;span style="color:#f92672"&gt;/&lt;/span&gt;tf&lt;span style="color:#f92672"&gt;-&lt;/span&gt;nb&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;373&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;lib&lt;span style="color:#f92672"&gt;/&lt;/span&gt;python3&lt;span style="color:#ae81ff"&gt;.7&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;site&lt;span style="color:#f92672"&gt;-&lt;/span&gt;packages&lt;span style="color:#f92672"&gt;/&lt;/span&gt;tensorflow&lt;span style="color:#f92672"&gt;/&lt;/span&gt;python&lt;span style="color:#f92672"&gt;/&lt;/span&gt;framework&lt;span style="color:#f92672"&gt;/&lt;/span&gt;dtypes&lt;span style="color:#f92672"&gt;.&lt;/span&gt;py:&lt;span style="color:#ae81ff"&gt;516&lt;/span&gt;: &lt;span style="color:#a6e22e"&gt;FutureWarning&lt;/span&gt;: Passing (type, &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;) &lt;span style="color:#f92672"&gt;or&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;1type&amp;#39;&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;as&lt;/span&gt; a synonym of type &lt;span style="color:#f92672"&gt;is&lt;/span&gt; deprecated; &lt;span style="color:#f92672"&gt;in&lt;/span&gt; a future version of numpy, it will be understood &lt;span style="color:#66d9ef"&gt;as&lt;/span&gt; (type, (&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;,)) &lt;span style="color:#f92672"&gt;/&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;(1,)type&amp;#39;&lt;/span&gt;&lt;span style="color:#f92672"&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; _np_qint8 &lt;span style="color:#f92672"&gt;=&lt;/span&gt; np&lt;span style="color:#f92672"&gt;.&lt;/span&gt;dtype([(&lt;span style="color:#e6db74"&gt;&amp;#34;qint8&amp;#34;&lt;/span&gt;, np&lt;span style="color:#f92672"&gt;.&lt;/span&gt;int8, &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;)])
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;Users&lt;span style="color:#f92672"&gt;/&lt;/span&gt;cicorias&lt;span style="color:#f92672"&gt;/.&lt;/span&gt;pyenv&lt;span style="color:#f92672"&gt;/&lt;/span&gt;versions&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;3.7.3&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;envs&lt;span style="color:#f92672"&gt;/&lt;/span&gt;tf&lt;span style="color:#f92672"&gt;-&lt;/span&gt;nb&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;373&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;lib&lt;span style="color:#f92672"&gt;/&lt;/span&gt;python3&lt;span style="color:#ae81ff"&gt;.7&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;site&lt;span style="color:#f92672"&gt;-&lt;/span&gt;packages&lt;span style="color:#f92672"&gt;/&lt;/span&gt;tensorflow&lt;span style="color:#f92672"&gt;/&lt;/span&gt;python&lt;span style="color:#f92672"&gt;/&lt;/span&gt;framework&lt;span style="color:#f92672"&gt;/&lt;/span&gt;dtypes&lt;span style="color:#f92672"&gt;.&lt;/span&gt;py:&lt;span style="color:#ae81ff"&gt;517&lt;/span&gt;: &lt;span style="color:#a6e22e"&gt;FutureWarning&lt;/span&gt;: Passing (type, &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;) &lt;span style="color:#f92672"&gt;or&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;1type&amp;#39;&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;as&lt;/span&gt; a synonym of type &lt;span style="color:#f92672"&gt;is&lt;/span&gt; deprecated; &lt;span style="color:#f92672"&gt;in&lt;/span&gt; a future version of numpy, it will be understood &lt;span style="color:#66d9ef"&gt;as&lt;/span&gt; (type, (&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;,)) &lt;span style="color:#f92672"&gt;/&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;(1,)type&amp;#39;&lt;/span&gt;&lt;span style="color:#f92672"&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; _np_quint8 &lt;span style="color:#f92672"&gt;=&lt;/span&gt; np&lt;span style="color:#f92672"&gt;.&lt;/span&gt;dtype([(&lt;span style="color:#e6db74"&gt;&amp;#34;quint8&amp;#34;&lt;/span&gt;, np&lt;span style="color:#f92672"&gt;.&lt;/span&gt;uint8, &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;)])
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To suppress these the following snippet works well.&lt;/p&gt;</description></item><item><title>Decode Office 365 Safelinks URLs</title><link>https://www.cicoria.com/decode-office-365-safelinks-urls/</link><pubDate>Thu, 01 Aug 2019 14:07:19 +0000</pubDate><guid>https://www.cicoria.com/decode-office-365-safelinks-urls/</guid><description>&lt;p&gt;Ever get those annoying links that no human should ever have to read in Office 365 emails?&lt;/p&gt;
&lt;p&gt;Sometthing like:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmybenefits.foobar.com%2Fmybenefits%2Fcontroller%2Flogin.htm%3FdeepLink%3DY%26functionality%3DdocumentView%26claimId%3D12625713%26documentId%3D0900057b8a84de73&amp;amp;amp;data=02%7C01%7Cfoobar%40microsoft.com%7C2b019c543a8b4ebc3aac08d716439b3a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637002351934305049&amp;amp;amp;sdata=EFBMS5n0R%2BsFbCS0fvNa2OB66UjR3j3IVuBenQB%2FGjY%3D&amp;amp;amp;reserved=0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now if you just &lt;a href="https://www.bing.com/search?q=url+decode"&gt;URL decode this&lt;/a&gt; you get the following - still nothing &amp;ldquo;PII&amp;rdquo; except email.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;https://nam06.safelinks.protection.outlook.com/?url=https://mybenefits.foobar.com/mybenefits/controller/login.htm?deepLink=Y&amp;amp;functionality=documentView&amp;amp;claimId=12625713&amp;amp;documentId=0900057b8a84de73&amp;amp;amp;data=02|01|foobar@microsoft.com|2b019c543a8b4fbc3aac08d716439b3a|72e988bf86f141af91ab2d7cd011db47|1|0|737002351934305049&amp;amp;amp;sdata=EFBMS5n0R+sFbCS0fvNa2OB66UjZ3j3IVuBenQB/GjY=&amp;amp;amp;reserved=0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;but you can also use the Office 365 Advanced Threat Protection URL at &lt;a href="http://www.o365atp.com/"&gt;http://www.o365atp.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.cicoria.com/images/2019/08/Office-365-Advanced-Threat-Protectioni-Safe-Links---Link-Decoder-2019-08-01-14-00-54.png" alt=""&gt;&lt;/p&gt;</description></item><item><title>Get rid of .DS_Store messages in OneDrive</title><link>https://www.cicoria.com/get-rid-of-ds_store-messages-in-onedrive/</link><pubDate>Tue, 30 Apr 2019 16:17:38 +0000</pubDate><guid>https://www.cicoria.com/get-rid-of-ds_store-messages-in-onedrive/</guid><description>&lt;p&gt;For some odd reason, actually not odd, just another annoyance. OneDrive starts complaining about the DS_Store files.&lt;/p&gt;
&lt;p&gt;doh.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;find /users/username/onedrivepath/ -name &amp;#34;.DS_Store&amp;#34; -depth -exec rm {} \;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Using Azure CLI with two different credentials</title><link>https://www.cicoria.com/using-azure-cli-with-two-different-credentials/</link><pubDate>Wed, 17 Apr 2019 11:33:06 +0000</pubDate><guid>https://www.cicoria.com/using-azure-cli-with-two-different-credentials/</guid><description>&lt;p&gt;Sometimes you need to logon to more than one Azure Active Directory (don&amp;rsquo;t ask why). Normally the azure cli tool keeps a file in &lt;code&gt;./azure&lt;/code&gt; about your subscriptions, etc.&lt;/p&gt;
&lt;p&gt;you could just logout/login - but that is a royal pain in the ass.&lt;/p&gt;
&lt;p&gt;So for example say you need to logon to a Azure Gov cloud with different credentials. For that you can set or unset the &lt;code&gt;AZURE_CONFIG_DIR&lt;/code&gt; which will point to your respective &lt;code&gt;~./azure&lt;/code&gt; of your choice&amp;hellip;&lt;/p&gt;</description></item><item><title>A better git bash prompt</title><link>https://www.cicoria.com/a-better-git-bash-prompt/</link><pubDate>Thu, 11 Apr 2019 09:48:46 +0000</pubDate><guid>https://www.cicoria.com/a-better-git-bash-prompt/</guid><description>&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/magicmonty/bash-git-prompt.git ~/.bash-git-prompt --depth=1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat &amp;gt;&amp;gt; ~/.bashrc &amp;lt;&amp;lt;EOF
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;if [ -f &amp;#34;$HOME/.bash-git-prompt/gitprompt.sh&amp;#34; ]; then
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; GIT_PROMPT_ONLY_IN_REPO=1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; source $HOME/.bash-git-prompt/gitprompt.sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;fi
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;EOF
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>npx business cards - gone viral so fast...</title><link>https://www.cicoria.com/npx-business-cards/</link><pubDate>Thu, 20 Dec 2018 11:11:29 +0000</pubDate><guid>https://www.cicoria.com/npx-business-cards/</guid><description>&lt;p&gt;Not sure if &lt;a href="https://twitter.com/bitandbang/status/1075473070368919552"&gt;Tierney&lt;/a&gt; is the true root, but it&amp;rsquo;s where I saw it first.&lt;/p&gt;
&lt;p&gt;Just follow that thread, there are so many others tacking on with updates, modifications, etc.&lt;/p&gt;
&lt;p&gt;Fortunately a friend of mine took the &lt;code&gt;npm shawn&lt;/code&gt; package years back.&lt;/p&gt;
&lt;p&gt;So, for me it&amp;rsquo;s:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npx shawn
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Docker Compose on Kubernetes - Windows Volume Syntax</title><link>https://www.cicoria.com/docker-compose-on-kubernetes-windows-volume-syntax/</link><pubDate>Sun, 16 Dec 2018 16:51:28 +0000</pubDate><guid>https://www.cicoria.com/docker-compose-on-kubernetes-windows-volume-syntax/</guid><description>&lt;p&gt;I&amp;rsquo;ve been looking at Docker Compose on Kubernetes, thanks to a pointer from my teammate &lt;a href="https://www.linkedin.com/in/clemens-wolff/"&gt;Clemens Wolff&lt;/a&gt;, and had a hard time with mapping the volumes from the host.&lt;/p&gt;
&lt;p&gt;My first compose file looked like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# Use root/example as user/password credentials
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;version: &amp;#39;3.6&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mongo:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; image: mongo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; environment:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; MONGO_INITDB_ROOT_USERNAME: root
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; MONGO_INITDB_ROOT_PASSWORD: example
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; volumes: 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - c:/g/learn/mongo/data:/data
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ports:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - 27017:27017
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mongo-express:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; image: mongo-express
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ports:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - 8080:8081
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; environment:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ME_CONFIG_MONGODB_ADMINUSERNAME: root
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ME_CONFIG_MONGODB_ADMINPASSWORD: example
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;But you&amp;rsquo;ll see errors telling you that it&amp;rsquo;s not an absolute path - WTF?&lt;/p&gt;</description></item><item><title>Strapi Open Source API CMS using Azure CosmosDB Emulator</title><link>https://www.cicoria.com/strapi-open-source-api-cms-using-cosmosdb-emulator/</link><pubDate>Sat, 15 Dec 2018 22:47:51 +0000</pubDate><guid>https://www.cicoria.com/strapi-open-source-api-cms-using-cosmosdb-emulator/</guid><description>&lt;p&gt;I&amp;rsquo;ve recently started looking at &lt;a href="https://strapi.io/"&gt;Strapi&lt;/a&gt;. Their default samples look for MongoDB instances. But I wanted to see if it would work with the &lt;a href="https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator"&gt;Azure CosmosDB Emulator&lt;/a&gt; - then how it works with &lt;a href="https://docs.microsoft.com/en-us/azure/cosmos-db/"&gt;Azure CosmosDB&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So far, it&amp;rsquo;s worked flawlessly&amp;hellip;&lt;/p&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;Once you &lt;code&gt;git clone&lt;/code&gt; the samples from the &lt;a href="https://github.com/strapi/strapi-examples"&gt;Strapi Samples&lt;/a&gt; - you need to edit the &lt;code&gt;database.json&lt;/code&gt; file for the environment you&amp;rsquo;re in. For local development, that&amp;rsquo;s going to be development.&lt;/p&gt;
&lt;p&gt;In the directory of the sample app &lt;code&gt;hello-world&lt;/code&gt; - edit the &lt;code&gt;config\environments\development\database.json&lt;/code&gt; file.&lt;/p&gt;</description></item><item><title>Keras Tensor flow CUBLAS_STATUS_NOT_INITIALIZED</title><link>https://www.cicoria.com/keras-tensor-flow-cublas_status_not_initialized/</link><pubDate>Thu, 13 Dec 2018 22:10:59 +0000</pubDate><guid>https://www.cicoria.com/keras-tensor-flow-cublas_status_not_initialized/</guid><description>&lt;p&gt;I have an older Razer Blade with a 970 NVidia 0 so, not much memory relative to the 10x series.&lt;/p&gt;
&lt;p&gt;Was seeing the error in the logs&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;totalMemory: 6.00GiB freeMemory: 5.02GiB
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2018-12-13 21:56:56.358056: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1511] Adding visible gpu devices: 0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2018-12-13 21:56:59.233889: I tensorflow/core/common_runtime/gpu/gpu_device.cc:982] Device interconnect StreamExecutor with strength 1 edge matrix:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2018-12-13 21:56:59.265182: I tensorflow/core/common_runtime/gpu/gpu_device.cc:988] 0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2018-12-13 21:56:59.285922: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1001] 0: N
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2018-12-13 21:56:59.306705: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 4780 MB memory) -&amp;gt; physical GPU (device: 0, name: GeForce GTX 970M, pci bus id: 0000:01:00.0, compute capability: 5.2)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2018-12-13 21:57:02.270346: E tensorflow/stream_executor/cuda/cuda_blas.cc:464] failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2018-12-13 21:57:02.309705: E tensorflow/stream_executor/cuda/cuda_blas.cc:464] failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2018-12-13 21:57:02.341990: E tensorflow/stream_executor/cuda/cuda_blas.cc:464] failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2018-12-13 21:57:02.383201: E tensorflow/stream_executor/cuda/cuda_blas.cc:464] failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2018-12-13 21:57:02.412766: E tensorflow/stream_executor/cuda/cuda_blas.cc:464] failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2018-12-13 21:57:02.443575: E tensorflow/stream_executor/cuda/cuda_blas.cc:464] failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2018-12-13 21:57:02.473450: E tensorflow/stream_executor/cuda/cuda_blas.cc:464] failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2018-12-13 21:57:02.502777: E tensorflow/stream_executor/cuda/cuda_blas.cc:464] failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2018-12-13 21:57:02.545734: E tensorflow/stream_executor/cuda/cuda_blas.cc:464] failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2018-12-13 21:57:02.575651: W tensorflow/stream_executor/stream.cc:2127] attempting to perform BLAS operation using StreamExecutor without BLAS support
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;What it took was a simple insertion of lower level TensorFlow configuration like the following:&lt;/p&gt;</description></item><item><title>Typescript and non string Environment Variable parsing</title><link>https://www.cicoria.com/typescript-and-non-string-environment-variable-parsing/</link><pubDate>Wed, 05 Dec 2018 19:41:41 +0000</pubDate><guid>https://www.cicoria.com/typescript-and-non-string-environment-variable-parsing/</guid><description>&lt;p&gt;Leaving this here as just a simple get an env variable and &amp;lsquo;cast&amp;rsquo; to boolean is a PITA. But this is what I ended up with&amp;hellip;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; skipTestSetting &lt;span style="color:#f92672"&gt;=&lt;/span&gt; process&lt;span style="color:#f92672"&gt;.&lt;/span&gt;env&lt;span style="color:#f92672"&gt;.&lt;/span&gt;BOT_SKIP_KNOWN_FAILED_TESTS;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;export&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; shouldSkip &lt;span style="color:#f92672"&gt;=&lt;/span&gt; (t: TestObj): boolean &lt;span style="color:#f92672"&gt;=&amp;gt;&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; noSkip &lt;span style="color:#f92672"&gt;=&lt;/span&gt; skipTestSetting &lt;span style="color:#f92672"&gt;===&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;true&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;?&lt;/span&gt; true : typeof skipTestSetting &lt;span style="color:#f92672"&gt;===&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;string&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;?&lt;/span&gt; &lt;span style="color:#f92672"&gt;!!+&lt;/span&gt;skipTestSetting
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; : &lt;span style="color:#f92672"&gt;!!&lt;/span&gt;skipTestSetting;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Windows Update Fail Microsoft-OneCore-DeveloperMode-Desktop-Package Error = 0x800F081F-0x20003</title><link>https://www.cicoria.com/windows-update-fail/</link><pubDate>Mon, 03 Dec 2018 12:49:13 +0000</pubDate><guid>https://www.cicoria.com/windows-update-fail/</guid><description>&lt;p&gt;First - &lt;strong&gt;WHY WHY WHY&lt;/strong&gt; doesn&amp;rsquo;t the installer just deal with this error? What&amp;rsquo;s clear from the message, or at least to me, is that the Developer Mode package added in &amp;ldquo;Developer Mode&amp;rdquo; is some sort of problem.&lt;/p&gt;
&lt;p&gt;First I tried DISM to repiar.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;C:\WINDOWS\system32&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; DISM&lt;span style="color:#f92672"&gt;.&lt;/span&gt;exe &lt;span style="color:#f92672"&gt;/&lt;/span&gt;Online &lt;span style="color:#f92672"&gt;/&lt;/span&gt;Cleanup&lt;span style="color:#f92672"&gt;-&lt;/span&gt;image &lt;span style="color:#f92672"&gt;/&lt;/span&gt;Restorehealth
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Deployment &lt;span style="color:#a6e22e"&gt;Image&lt;/span&gt; Servicing &lt;span style="color:#f92672"&gt;and&lt;/span&gt; Management &lt;span style="color:#66d9ef"&gt;tool&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Version: &lt;span style="color:#ae81ff"&gt;10.0&lt;/span&gt;&lt;span style="color:#f92672"&gt;.&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;17134.1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;Image&lt;/span&gt; Version: &lt;span style="color:#ae81ff"&gt;10.0&lt;/span&gt;&lt;span style="color:#f92672"&gt;.&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;17134.441&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[&lt;span style="color:#f92672"&gt;==========================&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;100.0&lt;/span&gt;&lt;span style="color:#f92672"&gt;%==========================&lt;/span&gt;] The restore operation completed successfully&lt;span style="color:#f92672"&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;The operation completed successfully&lt;span style="color:#f92672"&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;C:\WINDOWS\system32&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then I just disabled developer mode under &amp;ldquo;Updates -&amp;gt; For Developers&amp;rdquo; putting the setting back to &amp;ldquo;Sideload Apps&amp;rdquo;.&lt;/p&gt;</description></item><item><title>Improving Windows Subsystem for Linux WSL by 500% - Minutes to Seconds</title><link>https://www.cicoria.com/improving-windows-subsystem-for-linux-wsl-by-500-minutes-to-seconds/</link><pubDate>Sat, 25 Aug 2018 10:43:54 +0000</pubDate><guid>https://www.cicoria.com/improving-windows-subsystem-for-linux-wsl-by-500-minutes-to-seconds/</guid><description>&lt;h1 id="performance-of-wsl-and-disk-io"&gt;Performance of WSL and Disk IO&lt;/h1&gt;
&lt;p&gt;The core performance killer is related to Windows Defender, and a primary scenarios is running Node package installers that are pulling down 100s, perhaps 1000s of files during an &lt;code&gt;npm install &amp;lt;package&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For example, when I ran &lt;code&gt;nvm install --lts --latest-npm&lt;/code&gt; it took about &lt;strong&gt;5 minutes&lt;/strong&gt; on a Razer with NVMe storage. Once I made a small modification in Defender to exclude the &lt;code&gt;/rootfs&lt;/code&gt; of that App Store installation directory in Windows Defender it took about &lt;strong&gt;30 seconds&lt;/strong&gt; - I do have a Fios 1Gbps connection. That was even after cleaning the npm cache, etc.&lt;/p&gt;</description></item><item><title>The Travis CLI in a Container</title><link>https://www.cicoria.com/the-travis-cli-in-a-container/</link><pubDate>Sun, 05 Aug 2018 01:41:19 +0000</pubDate><guid>https://www.cicoria.com/the-travis-cli-in-a-container/</guid><description>&lt;p&gt;I must be missing it, but I could never find the Travis CLI already built and published on Docker Hub. So, I just pulled together on.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s really simple. Really the only complexity is passing in the &lt;code&gt;VOLUME&lt;/code&gt; mappings (2 of them) when you run the container.&lt;/p&gt;
&lt;p&gt;All is articulated in the &lt;a href="https://hub.docker.com/r/cicorias/travis-cli/"&gt;Docker Hub container page&lt;/a&gt;. But, here&amp;rsquo;s the basics from the Readme.&lt;/p&gt;
&lt;h3 id="travis-cli"&gt;Travis CLI&lt;/h3&gt;
&lt;p&gt;The best documentation is in the repo &lt;a href="https://github.com/travis-ci/travis.rb#console"&gt;travis-ci/travis.rb&lt;/a&gt;. Note that this is a Ruby Gem, so the base container of this Dockerfile is the official Docker Hub Ruby image.&lt;/p&gt;</description></item><item><title>Visual Studio Code Windows from WSL Bash Ubuntu</title><link>https://www.cicoria.com/visual-studio-code-windows-from-wsl-bash-ubuntu/</link><pubDate>Wed, 18 Apr 2018 15:26:41 +0000</pubDate><guid>https://www.cicoria.com/visual-studio-code-windows-from-wsl-bash-ubuntu/</guid><description>&lt;p&gt;If you&amp;rsquo;re launching VS Code from the WSL prompt there are 2 annoyances. The first is the logging messages that appear. The second is it&amp;rsquo;s blocked and doesn&amp;rsquo;t return. While there are some issues and requests for PRs for me this is working for now.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;alias vsc=&amp;#39;nohup code . &amp;gt;/dev/null 2&amp;gt;/dev/null &amp;amp;&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This just creates a job that can die, etc. as once it&amp;rsquo;s launched Windows takes over. But, I get my prompt back with no silly log messages.&lt;/p&gt;</description></item><item><title>Forcing TLS (HTTPS) on Azure Web Apps for Linux with nginx</title><link>https://www.cicoria.com/forcing-tls-https-on-azure-web-apps-for-linux/</link><pubDate>Tue, 15 Aug 2017 12:51:00 +0000</pubDate><guid>https://www.cicoria.com/forcing-tls-https-on-azure-web-apps-for-linux/</guid><description>&lt;p&gt;For many websites today TLS (fka SSL) is preferred. For &lt;a href="https://docs.microsoft.com/en-us/azure/app-service-web/"&gt;Azure Web Apps&lt;/a&gt;, all sites automatically listen on both port 80 and 443 - for HTTP and HTTPS respectively.&lt;/p&gt;
&lt;p&gt;If you want to force the site to be only HTTPS you might think that you can just detect the &lt;code&gt;$scheme&lt;/code&gt; and if &lt;code&gt;HTTP&lt;/code&gt; redirect to &lt;code&gt;HTTPS&lt;/code&gt;. Well, in &lt;a href="https://docs.microsoft.com/en-us/azure/app-service-web/app-service-linux-intro"&gt;Azure WebApps for Linux&lt;/a&gt;, that won&amp;rsquo;t work.&lt;/p&gt;
&lt;p&gt;The reason it does not work is &lt;a href="https://docs.microsoft.com/en-us/azure/app-service-web/"&gt;Azure Web Apps&lt;/a&gt; provides a front end proxy, either Application Request Routing (ARR) or &lt;a href="http://nginx.org/"&gt;nginx&lt;/a&gt;, that terminates TLS and the request from that front-end proxy to your app is always HTTP (non-TLS). I&amp;rsquo;m not going to go into reasons, nor any of the arguments for or against. That&amp;rsquo;s how it works.&lt;/p&gt;</description></item><item><title>Cool tool for npm packages and having a local cache</title><link>https://www.cicoria.com/cool-tool-for-npm-packages-and-having-a-local-cache/</link><pubDate>Fri, 28 Jul 2017 11:49:55 +0000</pubDate><guid>https://www.cicoria.com/cool-tool-for-npm-packages-and-having-a-local-cache/</guid><description>&lt;p&gt;&lt;a href="https://github.com/verdaccio/verdaccio"&gt;Verdaccio&lt;/a&gt;, a fork of &lt;a href="https://github.com/rlidwka/sinopia"&gt;Sinopia&lt;/a&gt;, to the rescue&amp;hellip;&lt;/p&gt;
&lt;p&gt;use with each command or set forever&amp;hellip;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npm install --registry http://localhost:4978
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Good also to know that sometimes the HTTPS connections are that much slower (airplane Wifi); for that use the non-TLS endpoint:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npm install --registry http://registry.npmjs.org/ FOOBAR
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Quickly get an Ethereum Geth miner node standalone</title><link>https://www.cicoria.com/quickly-get-an-ethereum-geth-miner-node-standalone/</link><pubDate>Fri, 02 Jun 2017 16:59:17 +0000</pubDate><guid>https://www.cicoria.com/quickly-get-an-ethereum-geth-miner-node-standalone/</guid><description>&lt;p&gt;I know there are other scripts, etc. out there. But I can&amp;rsquo;t seem to find them when I need them.&lt;/p&gt;
&lt;p&gt;So, I created a GitHub repo that contains a set of scripts and simple steps that will download Geth, initialize the chain, then run a miner locally with the RPC endpoints open so you can develop quickly.&lt;/p&gt;
&lt;p&gt;The bits are here: &lt;a href="https://github.com/EthereumEx/standalone-miner"&gt;https://github.com/EthereumEx/standalone-miner&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Of the shell scripts, initialization is of most interest. What it does is generate a new account with a blank passphrase, then trims the account public address from the output and uses that in the genesis.json file. The same address is then used for the miner&amp;rsquo;s etherbase address - the address that gets mining credit.&lt;/p&gt;</description></item><item><title>Ensuring Initializing and Server Side Configuration with Angular 4+</title><link>https://www.cicoria.com/ensuring-initializing-and-server-side-configuration-with-angular/</link><pubDate>Wed, 31 May 2017 19:03:59 +0000</pubDate><guid>https://www.cicoria.com/ensuring-initializing-and-server-side-configuration-with-angular/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;During the build of the &lt;a href="https://azure.microsoft.com/en-us/blog/azure-introduces-a-new-blockchain-proof-of-concept-framework-for-developers/"&gt;Blockchain Proof of Concept Framework&lt;/a&gt; we determined that for greatest configurability and simplistic deployment we needed to have some configuration settings provided by a simple REST service. The website itself for the client is an Angular 4 application and can be served using a static web server such as &lt;a href="https://nginx.org/"&gt;nginx&lt;/a&gt; or even an Express site. We ended up creating two approaches and I&amp;rsquo;m sharing a simple PoC here and on GitHub.&lt;/p&gt;</description></item><item><title>Using Private Docker Registry and Azure WebApps on Linux with ARM Templates</title><link>https://www.cicoria.com/using-private-docker-registry-and-azure-webapps-on-linux/</link><pubDate>Thu, 18 May 2017 15:02:23 +0000</pubDate><guid>https://www.cicoria.com/using-private-docker-registry-and-azure-webapps-on-linux/</guid><description>&lt;p&gt;Took a bit of decoding, but an approach to deploy via Azure ARM templates to Azure WebApps on Linux (Preview now), the special properties needed are as follows:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;name&amp;#34;: &amp;#34;appsettings&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;type&amp;#34;: &amp;#34;config&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;apiVersion&amp;#34;: &amp;#34;2016-03-01&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;dependsOn&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;[resourceId(&amp;#39;Microsoft.Web/sites&amp;#39;, parameters(&amp;#39;appName&amp;#39;))]&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;tags&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;displayName&amp;#34;: &amp;#34;appSettings&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;properties&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;DOCKER_CUSTOM_IMAGE_NAME&amp;#34;: &amp;#34;mszzz.azurecr.io/escrow-webapp:latest&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;DOCKER_CUSTOM_IMAGE_RUN_COMMAND&amp;#34;: &amp;#34;nginx&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;DOCKER_REGISTRY_SERVER_PASSWORD&amp;#34;: &amp;#34;o8P=!!!!!!!!!!!!&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;DOCKER_REGISTRY_SERVER_URL&amp;#34;: &amp;#34;https://mszzz.azurecr.io/&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;DOCKER_REGISTRY_SERVER_USERNAME&amp;#34;: &amp;#34;mszzz&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Clearly, the &lt;code&gt;PASSWORD&lt;/code&gt; and the server URL, image name, must match your environment, but this is the gist of it :)&lt;/p&gt;</description></item><item><title>Code Theater with Ali Hajimirza - Blockchain Solves a Webjet problem</title><link>https://www.cicoria.com/code-theater-with-ali-hajimirza-blockchain-solves-a-webjet-problem/</link><pubDate>Fri, 12 May 2017 09:29:10 +0000</pubDate><guid>https://www.cicoria.com/code-theater-with-ali-hajimirza-blockchain-solves-a-webjet-problem/</guid><description>&lt;p&gt;Checkout Ali&amp;rsquo;s presentation from Microsoft //Build code theater.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://channel9.msdn.com/Events/Build/2017/T6979/player?format=html5"&gt;Embedded content&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ali Hajimirza - &lt;a href="https://twitter.com/Ali92HM"&gt;@Ali92HM&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Removing Azure CLI (Python version)</title><link>https://www.cicoria.com/removing-azure-cli-python-version/</link><pubDate>Fri, 12 May 2017 09:22:17 +0000</pubDate><guid>https://www.cicoria.com/removing-azure-cli-python-version/</guid><description>&lt;p&gt;As with many developers churn happens. So, with the Azure CLI I had installed it previously using &lt;code&gt;pip&lt;/code&gt;. However, that&amp;rsquo;s no longer the recommend practice.&lt;/p&gt;
&lt;p&gt;So, the Azure CLI installs many packages. I needed a 1 liner to uninstall the packages. This is what I used.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pip list --format=legacy |grep azure | cut -d &amp;#39; &amp;#39; -f 1 | xargs -L1 pip uninstall -y
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Further cleanup, as Python has been messy on macOS of late is to fix the pip directories.&lt;/p&gt;</description></item><item><title>Reverse Engineering Ethstats Agent for a FluentD plugin</title><link>https://www.cicoria.com/reverse-engineering-ethstats-agent-for-a-fluentd-plugin/</link><pubDate>Sun, 23 Apr 2017 22:20:00 +0000</pubDate><guid>https://www.cicoria.com/reverse-engineering-ethstats-agent-for-a-fluentd-plugin/</guid><description>&lt;p&gt;Just spouting about some progress I made on reverse engineering some API for Ethstats agent and dashboard that soon will be a FluentD plugin, and with that working with Azure OMS to feed the analytical reporting for monitoring and real-time analysis of the health of an Ethereum client.&lt;/p&gt;
&lt;p&gt;Anybody working with Ethereum is probably familiar with the &lt;a href="http://ethstats.net"&gt;Ethstats&lt;/a&gt; dashboard. This great dashboard is courtesy of &lt;a href="https://twitter.com/MarianOanceaCub"&gt;Marian&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Well, for that dashboard to work today, there are 2 parts; 1 is the Dashboard itself - which is up on GitHub at &lt;a href="https://github.com/cubedro/eth-netstats"&gt;dashboard&lt;/a&gt;. The Second part is the agent that must run on the local machine with the Ethereum client (Geth). That is also in the same GitHub organization &lt;a href="https://github.com/cubedro/eth-net-intelligence-api"&gt;agent&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Blockchain followers are not Disruptive Enough</title><link>https://www.cicoria.com/blockchain-followers-are-not-disruptive-enough/</link><pubDate>Thu, 16 Mar 2017 03:54:23 +0000</pubDate><guid>https://www.cicoria.com/blockchain-followers-are-not-disruptive-enough/</guid><description>&lt;p&gt;One of the main challenges I see is everyone is bringing traditional business processes forward as an attempt to just lay it down on A or THE blockchain without expecting any Innovation and disruption -&lt;/p&gt;
&lt;p&gt;The process has to change. Gotta stop accommodating blockchain for a process built by constraints&lt;/p&gt;</description></item><item><title>Proper npm Global Package Upgrade</title><link>https://www.cicoria.com/proper-npm-global-package-upgrade/</link><pubDate>Fri, 30 Dec 2016 16:03:31 +0000</pubDate><guid>https://www.cicoria.com/proper-npm-global-package-upgrade/</guid><description>&lt;p&gt;Per the npm &lt;a href="https://docs.npmjs.com/getting-started/updating-global-packages"&gt;documentation&lt;/a&gt;, this is the script to use:&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s the &lt;a href="https://gist.github.com/othiym23/4ac31155da23962afd0e"&gt;gist&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#!/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;set&lt;/span&gt; &lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;e&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;set&lt;/span&gt; &lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;package&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;in&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;$&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;npm&lt;/span&gt; &lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;g&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;outdated&lt;/span&gt; &lt;span style="color:#f92672"&gt;--&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;parseable&lt;/span&gt; &lt;span style="color:#f92672"&gt;--&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;depth&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; &lt;span style="color:#f92672"&gt;|&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;cut&lt;/span&gt; &lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;d&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;f2&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;npm&lt;/span&gt; &lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;g&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;install&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;$package&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>macOS is my new home</title><link>https://www.cicoria.com/macos-is-my-new-home/</link><pubDate>Thu, 01 Dec 2016 00:02:29 +0000</pubDate><guid>https://www.cicoria.com/macos-is-my-new-home/</guid><description>&lt;p&gt;Yea, I switched to macOS two years ago as I came from a nix background. I had Surface Book, Surface Pro, Lenovos, all running Windows 10. macOS is smoother, faster, not clunky, virtual desktops work as expected, and the machines are fine quality not plastic feeling. Love the shell and all my old friends are back in bash, as I was a Korn shell person on Solaris and SCO Add to that the app installation process is simple as is cleanup most of the time. Things are tidier as well and makes my OCD happy&amp;hellip;&lt;/p&gt;</description></item><item><title>NTS: Testing Disk Speed on macOS</title><link>https://www.cicoria.com/nts-testing-disk-speed-on-macos/</link><pubDate>Sat, 29 Oct 2016 19:01:11 +0000</pubDate><guid>https://www.cicoria.com/nts-testing-disk-speed-on-macos/</guid><description>&lt;p&gt;If you want to test the write speed, use the following:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;time dd if=/dev/zero bs=1024k of=tstfile count=1024 2&amp;gt;&amp;amp;1 | awk &amp;#39;/sec/ {print $1 / $5 / 1048576, &amp;#34;MB/sec&amp;#34; }&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Just needed this, and helps to verify. I bought the Samsung T3 and the Apple USB C cable does not cut it. You have to use a proper cable to get near the advertised speeds.&lt;/p&gt;</description></item><item><title>Start fresh with a clean installation of Windows 10</title><link>https://www.cicoria.com/start-fresh-with-a-clean-installation-of-windows-10/</link><pubDate>Sat, 29 Oct 2016 17:15:10 +0000</pubDate><guid>https://www.cicoria.com/start-fresh-with-a-clean-installation-of-windows-10/</guid><description>&lt;p&gt;For some reason this link fails to come up in reasonable time in search both Google and Bing.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.microsoft.com/en-us/software-download/windows10startfresh"&gt;https://www.microsoft.com/en-us/software-download/windows10startfresh&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Outlook 2016 on macOS and RMS Message - You don't have permissions</title><link>https://www.cicoria.com/outlook-2016-on-macos-and-rms-message-you-cont-have-permissions/</link><pubDate>Fri, 07 Oct 2016 23:03:48 +0000</pubDate><guid>https://www.cicoria.com/outlook-2016-on-macos-and-rms-message-you-cont-have-permissions/</guid><description>&lt;p&gt;I have way too many things in dogfood. This is just a reminder on some RMS issues that I&amp;rsquo;ve been having lately on OS X (macOS) and Outlook 2016.&lt;/p&gt;
&lt;p&gt;Courtesy JPoon.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(a) Close all (!) Office Programs
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(b) Delete:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rm -r ~/Library/Containers/com.microsoft.RMS-XPCService 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rm ~/Library/Group\ Containers/UBF8T346G9.Office/DRM.plist
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; and/or
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rm ~/Library/Group\ Containers/UBF8T346G9.Office/DRM_Evo.plist
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(c) clearing your credentials by searching Keychain Access for &amp;#34;adal&amp;#34; and removing all entries.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Carthage and OTP GitHub Errors</title><link>https://www.cicoria.com/carthage-and-otp-github-errors/</link><pubDate>Sat, 24 Sep 2016 16:26:01 +0000</pubDate><guid>https://www.cicoria.com/carthage-and-otp-github-errors/</guid><description>&lt;p&gt;As a reminder to my self&amp;hellip;&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://github.com/Carthage/Carthage"&gt;Carthage&lt;/a&gt; if you start seeing errors &lt;code&gt;&amp;quot;Must specify two-factor authentication OTP code&amp;quot;...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;One way is to specify via an environment variable:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;export&lt;/span&gt; GITHUB_ACCESS_TOKEN&lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;get this from Github
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This comes from here: &lt;a href="https://github.com/Carthage/Carthage/blob/49da52b7570f71416a1a1edbcc377bdf3efff5a6/Source/CarthageKit/GitHub.swift#L145"&gt;Line 145&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The other option is to ensure the GitHub credential helper is working and force a credential challenge that will capture your GitHub credentials.&lt;/p&gt;
&lt;p&gt;See this: &lt;a href="https://help.github.com/articles/caching-your-github-password-in-git/"&gt;https://help.github.com/articles/caching-your-github-password-in-git/&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git credential-osxkeychain
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Windows 10 Hyper-V - Finally a NAT Option...</title><link>https://www.cicoria.com/windows-10-hyper-v-finally-a-nat-option/</link><pubDate>Fri, 19 Aug 2016 16:47:51 +0000</pubDate><guid>https://www.cicoria.com/windows-10-hyper-v-finally-a-nat-option/</guid><description>&lt;p&gt;Not sure about you but I&amp;rsquo;ve been waiting a long time for NAT to be part of HyperV on Windows client. The &amp;ldquo;other&amp;rdquo; guys have it - and for a long time too.&lt;/p&gt;
&lt;p&gt;Now, with &lt;a href="https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/user_guide/nesting"&gt;Nested Virtualization&lt;/a&gt; and &lt;a href="https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/user_guide/setup_nat_network"&gt;NAT&lt;/a&gt; support, my world is nearly complete&amp;hellip;&lt;/p&gt;
&lt;p&gt;To enable it though on Windows 10, I don&amp;rsquo;t believe there&amp;rsquo;s anything in HyperV Manager that allows that.&lt;/p&gt;
&lt;p&gt;But, &lt;a href="https://azure.microsoft.com/en-us/blog/powershell-is-open-sourced-and-is-available-on-linux/"&gt;PowerShell&lt;/a&gt;, and now that&amp;rsquo;s x-plat too, to the rescue.&lt;/p&gt;</description></item><item><title>Reminder: quick cleanup of Docker images...</title><link>https://www.cicoria.com/reminder-quick-cleanup-of-docker-images/</link><pubDate>Fri, 19 Aug 2016 13:10:50 +0000</pubDate><guid>https://www.cicoria.com/reminder-quick-cleanup-of-docker-images/</guid><description>&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker rm --force $(docker ps -q -s)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker rmi --force $(docker images -q)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>User Experience Above All Else</title><link>https://www.cicoria.com/user-experience-above-all-else/</link><pubDate>Thu, 18 Aug 2016 11:12:35 +0000</pubDate><guid>https://www.cicoria.com/user-experience-above-all-else/</guid><description>&lt;p&gt;Too often I&amp;rsquo;m joining teams, meetings, hacks, that the center of focus is the technology implementation.&lt;/p&gt;
&lt;p&gt;STOP!!!!!&lt;/p&gt;
&lt;p&gt;The tech really does not matter. In fact, the tech can suck royally as long as the user experience is great. When I say suck, it could be the ugliest code, hard to maintain, crappy platform, but if the UX works and it takes off - then you worry about the right technology.&lt;/p&gt;</description></item><item><title>Fixing CocoaPods bad Dependancies</title><link>https://www.cicoria.com/fixing-cocoapods-bad-dependancies/</link><pubDate>Wed, 17 Aug 2016 12:00:25 +0000</pubDate><guid>https://www.cicoria.com/fixing-cocoapods-bad-dependancies/</guid><description>&lt;p&gt;For some reason my CocoaPods was working just fine - until this morning. &amp;hellip;&lt;/p&gt;
&lt;p&gt;So, this seems to cleanup and freshen real nice&amp;hellip;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pod repo remove master
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pod setup
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pod install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Thanks to this Stack Overflow thread&amp;hellip;&lt;br&gt;
&lt;a href="http://stackoverflow.com/questions/23006683/cocoapods-staying-on-analyzing-dependencies"&gt;http://stackoverflow.com/questions/23006683/cocoapods-staying-on-analyzing-dependencies&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Just a reminder - adding your user to Docker group...</title><link>https://www.cicoria.com/just-a-reminder-adding-your-user-to-docker-group/</link><pubDate>Mon, 15 Aug 2016 21:23:21 +0000</pubDate><guid>https://www.cicoria.com/just-a-reminder-adding-your-user-to-docker-group/</guid><description>&lt;p&gt;From a shell&amp;hellip;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo groupadd docker
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo usermod -aG docker $USER
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Logout and on again - run&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker ps
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If no errors, you should see what is running or just the headers.&lt;/p&gt;</description></item><item><title>Simple Static Web Server for Docker</title><link>https://www.cicoria.com/simple-static-web-server-for-docker/</link><pubDate>Wed, 10 Aug 2016 16:53:18 +0000</pubDate><guid>https://www.cicoria.com/simple-static-web-server-for-docker/</guid><description>&lt;p&gt;Just needed a simple static web server.. The following Dockerfile does it.&lt;/p&gt;</description></item><item><title>iCloud drive on Windows - use a different drive.</title><link>https://www.cicoria.com/icloud-drive-on-windows-use-a-different-drive/</link><pubDate>Wed, 27 Jul 2016 20:59:40 +0000</pubDate><guid>https://www.cicoria.com/icloud-drive-on-windows-use-a-different-drive/</guid><description>&lt;p&gt;I just installed iCloud for Windows as I have quite a bit up on iCloud now, and even paying for the 100GB plan.&lt;/p&gt;
&lt;p&gt;Problem is I want the drive to be on my data disk - which is E:. Of course iCloud is far behind in offering options to control that.&lt;/p&gt;
&lt;p&gt;But we can deal with this using a Symbolic Link:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mklink /D c:\Users\shawn\iCloudDrive e:\Users\Shawn\iCloud
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;symbolic link created for c:\Users\shawn\iCloudDrive &amp;lt;&amp;lt;===&amp;gt;&amp;gt; e:\Users\Shawn\iCloud
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ran this, and iCloud is non-the-wiser.&lt;/p&gt;</description></item><item><title>Help make the cloud better - looking for respondents to a quick survey...</title><link>https://www.cicoria.com/help-make-the-cloud-better-looking-for-respondents-to-a-quick-survey/</link><pubDate>Mon, 25 Jul 2016 17:00:52 +0000</pubDate><guid>https://www.cicoria.com/help-make-the-cloud-better-looking-for-respondents-to-a-quick-survey/</guid><description>&lt;p&gt;Here&amp;rsquo;s a direct link - if the popup doesn&amp;rsquo;t show.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://pace.az1.qualtrics.com/SE/?SID=SV_1EY52LpEMrbuvHL"&gt;Survey&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://pace.az1.qualtrics.com/WRQualtricsSurveyEngine/?SID=SV_1EY52LpEMrbuvHL"&gt;Click Here&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Checking if a WebSite Name is Available via Azure ARM (REST)</title><link>https://www.cicoria.com/checking-if-a-website-name-is-available-via-azure-arm-rest/</link><pubDate>Fri, 17 Jun 2016 16:22:01 +0000</pubDate><guid>https://www.cicoria.com/checking-if-a-website-name-is-available-via-azure-arm-rest/</guid><description>&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; &lt;em&gt;Once I get my old blog history back - which has a bunch of Azure REST stuff, you can go to &lt;a href="https://blogs.msdn.microsoft.com/scicoria"&gt;https://blogs.msdn.microsoft.com/scicoria&lt;/a&gt; for now&amp;hellip;&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="get-what-features-are-available-for-a-resource-provider"&gt;Get what Features are available for a Resource Provider.&lt;/h2&gt;
&lt;p&gt;If you&amp;rsquo;re not sure what potential REST calls you can make, you can query (GET) via a simple call to the Provider - for example, I&amp;rsquo;m going to issue a call to the &lt;code&gt;Microsoft.Web&lt;/code&gt; resource provider.&lt;/p&gt;
&lt;p&gt;Using a Bearer token obtained via AAD or just look at your browser history to get an OAuth token in the traffic as a quick and temporary means.&lt;/p&gt;</description></item><item><title>Azure Functions - Local Development Logging</title><link>https://www.cicoria.com/azure-functions-local-development-logging/</link><pubDate>Tue, 14 Jun 2016 16:00:19 +0000</pubDate><guid>https://www.cicoria.com/azure-functions-local-development-logging/</guid><description>&lt;h2 id="azure-functions"&gt;Azure Functions&lt;/h2&gt;
&lt;p&gt;One nice feature of Azure Functions is that you can run your functions and develop locally. This is for C#, Node.JS, Python, Batch,etc. If you haven&amp;rsquo;t seen this &lt;a href="https://azure.microsoft.com/en-us/documentation/articles/functions-run-local/"&gt;Develop Azure Functions Locally&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But, by default, you won&amp;rsquo;t get any &lt;code&gt;log.write&lt;/code&gt; messages for any debugging. And, it would be nice to not litter your app with &lt;code&gt;Console.WriteLine(...)&lt;/code&gt; stuff. The fix is really simple, and just a setting on the &lt;code&gt;host.json&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>GigAware and the World Humanitarian Summit - Istanbul Turkey</title><link>https://www.cicoria.com/gigaware-and-the-world-humanitarian-summit-istanbul-turkey/</link><pubDate>Sun, 05 Jun 2016 21:03:33 +0000</pubDate><guid>https://www.cicoria.com/gigaware-and-the-world-humanitarian-summit-istanbul-turkey/</guid><description>&lt;h1 id="great-trip"&gt;Great trip&lt;/h1&gt;
&lt;p&gt;Got back about a week ago from the #hack4humanity Hackathon that occurred in Instanbul, Turkey as part of the United Nations World Humanitarian Summit.&lt;/p&gt;
&lt;h1 id="great-cause"&gt;Great Cause&lt;/h1&gt;
&lt;p&gt;What&amp;rsquo;s going on now with the Syrian and other regional refugees is unheard of in modern times - perhaps of all time. It&amp;rsquo;s a human condition tragedy caused entirely by political dissent. So many innocents are caught up in the mix that it&amp;rsquo;s even hard to fathom the extent.&lt;/p&gt;</description></item><item><title>It's always 1 in 5...</title><link>https://www.cicoria.com/cs-cheaters-dont-always-win/</link><pubDate>Mon, 16 May 2016 13:12:41 +0000</pubDate><guid>https://www.cicoria.com/cs-cheaters-dont-always-win/</guid><description>&lt;h2 id="background"&gt;Background&lt;/h2&gt;
&lt;p&gt;For the past year, I’ve been an adjunct at a University in NYC teaching a master’s level computer science course on Web and Internet concepts.&lt;/p&gt;
&lt;p&gt;It has been a great experience and enjoyable for the most part. However, this past semester I walked away from the experience, of teaching 2 sections (~60 total students) disappointed. The disappointment is the amount of flagrant plagiarism and total disregard for proper attribution when submitting work as their own.&lt;/p&gt;</description></item><item><title>DECODED Conference Dublin</title><link>https://www.cicoria.com/decoded-conference-dublin/</link><pubDate>Tue, 26 Apr 2016 20:43:01 +0000</pubDate><guid>https://www.cicoria.com/decoded-conference-dublin/</guid><description>&lt;p&gt;It&amp;rsquo;s great to be part of a team, apparently called John Shewchuk&amp;rsquo;s merry band of engineers, that&amp;rsquo;s hosting this inaugural open source conference.&lt;/p&gt;
&lt;p&gt;If you can make it it&amp;rsquo;s at The University College Dublin.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.decodedshow.com/events/"&gt;http://www.decodedshow.com/events/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;O&amp;rsquo;Reilly Hall, UCD&lt;/p&gt;
&lt;p&gt;University College Dublin&lt;br&gt;
Belfield&lt;br&gt;
Dublin 4&lt;br&gt;
Co. Dublin&lt;/p&gt;</description></item><item><title>New Blogging Engine...</title><link>https://www.cicoria.com/new-blogging-engine/</link><pubDate>Fri, 15 Apr 2016 13:33:15 +0000</pubDate><guid>https://www.cicoria.com/new-blogging-engine/</guid><description>&lt;p&gt;Sorry about loss of the old posts; I&amp;rsquo;m in the process of migrating all the Community Server (omg that&amp;rsquo;s so OLD) to the Ghost Blogging Engine..&lt;/p&gt;
&lt;p&gt;I promise&amp;hellip;&lt;/p&gt;</description></item><item><title>Creating a VHD from ISO using WIM2VHD Convert-WindowsImage …</title><link>https://www.cicoria.com/creating-a-vhd-from-iso-using-wim2vhd-convert-windowsimage/</link><pubDate>Mon, 07 Dec 2015 05:05:04 +0000</pubDate><guid>https://www.cicoria.com/creating-a-vhd-from-iso-using-wim2vhd-convert-windowsimage/</guid><description>&lt;p&gt;This script here helps in creating VHD’s on the fly. Recently I needed to quickly create some VHDX from an ISO that are “arm-able” for some labs.&lt;/p&gt;
&lt;p&gt;The tool  I used is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;h6 id="convert-windowsimageps1--wim2vhd-for-windows-10-also-windows-8-and-81"&gt;&lt;a href="https://gallery.technet.microsoft.com/scriptcenter/Convert-WindowsImageps1-0fe23a8f"&gt;Convert-WindowsImage.ps1&lt;/a&gt; — WIM2VHD for Windows 10 (also Windows 8 and 8.1)&lt;/h6&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Convert-WindowsImage is the new version of WIM2VHD designed specifically for Windows 8 and above. Written in PowerShell, this command-line tool allows you to rapidly create sysprepped VHDX and VHDX images from setup media for Windows 7/Server 2008 R2, Windows 8/8.1/Server 2012/R2&lt;/p&gt;</description></item><item><title>Simple Azure Blob Storage Performance (upload) testing</title><link>https://www.cicoria.com/simple-azure-blob-storage-performance-upload-testing/</link><pubDate>Thu, 17 Sep 2015 09:48:49 +0000</pubDate><guid>https://www.cicoria.com/simple-azure-blob-storage-performance-upload-testing/</guid><description>&lt;h1 id="azure-blob-storage-perf-testing-tool"&gt;Azure Blob Storage Perf Testing Tool&lt;/h1&gt;
&lt;p&gt;This is a simple testing tool using Mocha that provides upload speed testing when modifying the &lt;a href="https://github.com/Azure/azure-storage-node/blob/631beb481733ecb8ef0656aff7853c98342f5703/ChangeLog.txt"&gt;parallelOperationThreadCount&lt;/a&gt;&lt;br&gt;
setting that is available in the &lt;a href="https://github.com/Azure/azure-storage-node"&gt;Azure Storage Nodejs tools&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;h3 id="install-nodejs-and-npm-for-your-environment"&gt;Install Nodejs and npm for your environment&lt;/h3&gt;
&lt;p&gt;Review what &lt;a href="http://nodejs.org"&gt;Nodejs.org&lt;/a&gt; says for your environment in order to get Nodejs and npm running.&lt;/p&gt;
&lt;h3 id="clone-the-repo"&gt;Clone the repo&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/cicorias/blobTool
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chdir blobTool
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npm install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Run the mocha test&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npm test
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="review-the-packagejson"&gt;Review the &lt;code&gt;package.json&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;This file will show what the script calls - this uses babel-core to polyfill ES6 support&lt;/p&gt;</description></item><item><title>Using Multiple Devices for 2-step verification to save time !</title><link>https://www.cicoria.com/using-multiple-devices-for-2-step-verification-to-save-time/</link><pubDate>Thu, 10 Sep 2015 01:11:00 +0000</pubDate><guid>https://www.cicoria.com/using-multiple-devices-for-2-step-verification-to-save-time/</guid><description>&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Multi-factor_authentication"&gt;2-step verification&lt;/a&gt; is becoming more prevalent. This is the process where when you logon to a web site, or application, you might provide something you know (username &amp;amp; password) and then using a special &amp;ldquo;Authenticator&amp;rdquo; application that might be on your phone, keychain, or even your computer, you enter a challenge code.&lt;/p&gt;
&lt;p&gt;This approach has been around for decades. If you recall the old RSA SecurID cards, now keyfobs, now soft-keyfobs that exist they use a similar principle.&lt;/p&gt;</description></item><item><title>Federation Metadata generation tool on Github</title><link>https://www.cicoria.com/federation-metadata-generation-tool-on-github/</link><pubDate>Sat, 05 Sep 2015 10:00:23 +0000</pubDate><guid>https://www.cicoria.com/federation-metadata-generation-tool-on-github/</guid><description>&lt;p&gt;I get from various folks some requests for updates, information, etc. about this tool, so, I’ve put it up on Github so others can just contribute or copy as they see fit.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/cicorias/federationmetadatagenerator" title="https://github.com/cicorias/federationmetadatagenerator"&gt;https://github.com/cicorias/federationmetadatagenerator&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/scicoria/archive/2010/08/18/federation-metadata-generation-tool.aspx"&gt;http://blogs.msdn.com/b/scicoria/archive/2010/08/18/federation-metadata-generation-tool.aspx&lt;/a&gt;&lt;/p&gt;</description></item><item><title>CSL for Pace University–IEEE based using custom author sort</title><link>https://www.cicoria.com/csl-for-pace-universityieee-based-using-custom-author-sort/</link><pubDate>Sun, 12 Jul 2015 06:38:08 +0000</pubDate><guid>https://www.cicoria.com/csl-for-pace-universityieee-based-using-custom-author-sort/</guid><description>&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;?&lt;/span&gt;xml version&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;1.0&amp;#34;&lt;/span&gt; encoding&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;utf-8&amp;#34;&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;?&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;style xmlns&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;http://purl.org/net/xbiblio/csl&amp;#34;&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;class&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;in-text&amp;#34;&lt;/span&gt; version&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;1.0&amp;#34;&lt;/span&gt; demote&lt;span style="color:#f92672"&gt;-&lt;/span&gt;non&lt;span style="color:#f92672"&gt;-&lt;/span&gt;dropping&lt;span style="color:#f92672"&gt;-&lt;/span&gt;particle&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;sort-only&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;info&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;title&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;Pace University &lt;span style="color:#f92672"&gt;-&lt;/span&gt; DPS &lt;span style="color:#f92672"&gt;-&lt;/span&gt; custom author sort&lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;title&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;id&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;http:&lt;span style="color:#f92672"&gt;//&lt;/span&gt;www&lt;span style="color:#f92672"&gt;.&lt;/span&gt;zotero&lt;span style="color:#f92672"&gt;.&lt;/span&gt;org&lt;span style="color:#f92672"&gt;/&lt;/span&gt;styles&lt;span style="color:#f92672"&gt;/&lt;/span&gt;ieee&lt;span style="color:#f92672"&gt;-&lt;/span&gt;custom&lt;span style="color:#f92672"&gt;-&lt;/span&gt;authorsort&lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;id&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;link href&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;http://www.zotero.org/styles/ieee&amp;#34;&lt;/span&gt; rel&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;self&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;author&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;name&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;Shawn Cicoria&lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;name&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;author&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;category field&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;engineering&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;category field&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;generic-base&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;category citation&lt;span style="color:#f92672"&gt;-&lt;/span&gt;format&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;numeric&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;updated&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;2011&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;18&lt;/span&gt;T16:&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt;:&lt;span style="color:#ae81ff"&gt;33&lt;/span&gt;&lt;span style="color:#f92672"&gt;+&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;00&lt;/span&gt;:&lt;span style="color:#ae81ff"&gt;00&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;updated&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;rights&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;This work is licensed under a Creative Commons Attribution&lt;span style="color:#f92672"&gt;-&lt;/span&gt;ShareAlike &lt;span style="color:#ae81ff"&gt;3.0&lt;/span&gt; License: http:&lt;span style="color:#f92672"&gt;//&lt;/span&gt;creativecommons&lt;span style="color:#f92672"&gt;.&lt;/span&gt;org&lt;span style="color:#f92672"&gt;/&lt;/span&gt;licenses&lt;span style="color:#f92672"&gt;/&lt;/span&gt;by&lt;span style="color:#f92672"&gt;-&lt;/span&gt;sa&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;3.0&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;lt;/&lt;/span&gt;rights&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;link href&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;http://www.ieee.org/portal/cms_docs_iportals/iportals/publications/authors/transjnl/stylemanual.pdf&amp;#34;&lt;/span&gt; rel&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;documentation&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;link href&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;http://www.ieee.org/documents/auinfo07.pdf&amp;#34;&lt;/span&gt; rel&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;documentation&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;info&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;!--&lt;/span&gt; Macros &lt;span style="color:#f92672"&gt;--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;macro name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;edition&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;bill book chapter graphic legal_case legislation motion_picture paper-conference report song&amp;#34;&lt;/span&gt; match&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;any&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; is&lt;span style="color:#f92672"&gt;-&lt;/span&gt;numeric&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;edition&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34; &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;number variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;edition&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;ordinal&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text term&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;edition&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;short&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;.&amp;#34;&lt;/span&gt; strip&lt;span style="color:#f92672"&gt;-&lt;/span&gt;periods&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;edition&amp;#34;&lt;/span&gt; text&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;case&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;capitalize-first&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;.&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;macro&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;macro name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;issued&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;article-journal report&amp;#34;&lt;/span&gt; match&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;any&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;date variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;issued&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;date&lt;span style="color:#f92672"&gt;-&lt;/span&gt;part name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;month&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;short&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34; &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;date&lt;span style="color:#f92672"&gt;-&lt;/span&gt;part name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;year&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;long&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;date&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34; bill book chapter graphic legal_case legislation motion_picture paper-conference song thesis&amp;#34;&lt;/span&gt; match&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;any&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;date variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;issued&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;date&lt;span style="color:#f92672"&gt;-&lt;/span&gt;part name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;year&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;long&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;date&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;date variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;issued&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;date&lt;span style="color:#f92672"&gt;-&lt;/span&gt;part name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;day&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;numeric-leading-zeros&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;-&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;date&lt;span style="color:#f92672"&gt;-&lt;/span&gt;part name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;month&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;short&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;-&amp;#34;&lt;/span&gt; strip&lt;span style="color:#f92672"&gt;-&lt;/span&gt;periods&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;date&lt;span style="color:#f92672"&gt;-&lt;/span&gt;part name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;year&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;long&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;date&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;macro&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;macro name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;author&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;names variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;author&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;name initialize&lt;span style="color:#f92672"&gt;-&lt;/span&gt;with&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;. &amp;#34;&lt;/span&gt; delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;and&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;text&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;label form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;short&amp;#34;&lt;/span&gt; prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt; text&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;case&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;capitalize-first&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;.&amp;#34;&lt;/span&gt; strip&lt;span style="color:#f92672"&gt;-&lt;/span&gt;periods&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;substitute&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;names variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;editor&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;substitute&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;names&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;macro&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;macro name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;editor&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;names variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;editor&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;name initialize&lt;span style="color:#f92672"&gt;-&lt;/span&gt;with&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;. &amp;#34;&lt;/span&gt; delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;and&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;text&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;label form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;short&amp;#34;&lt;/span&gt; prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt; text&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;case&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;capitalize-first&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;.&amp;#34;&lt;/span&gt; strip&lt;span style="color:#f92672"&gt;-&lt;/span&gt;periods&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;names&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;macro&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;macro name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;locators&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;edition&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34; &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text term&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;volume&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;short&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;.&amp;#34;&lt;/span&gt; strip&lt;span style="color:#f92672"&gt;-&lt;/span&gt;periods&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;number variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;volume&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;numeric&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34; &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;number variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;number-of-volumes&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;numeric&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text term&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;volume&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;short&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;.&amp;#34;&lt;/span&gt; plural&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;true&amp;#34;&lt;/span&gt; strip&lt;span style="color:#f92672"&gt;-&lt;/span&gt;periods&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34; &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text term&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;issue&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;short&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;.&amp;#34;&lt;/span&gt; strip&lt;span style="color:#f92672"&gt;-&lt;/span&gt;periods&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;number variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;issue&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;numeric&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;macro&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;macro name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;bill book graphic legal_case legislation motion_picture song&amp;#34;&lt;/span&gt; match&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;any&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;title&amp;#34;&lt;/span&gt; font&lt;span style="color:#f92672"&gt;-&lt;/span&gt;style&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;italic&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;title&amp;#34;&lt;/span&gt; quotes&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;macro&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;macro name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;publisher&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34; bill book chapter graphic legal_case legislation motion_picture paper-conference song&amp;#34;&lt;/span&gt; match&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;any&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;publisher-place&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;: &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;publisher&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;publisher&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;publisher-place&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;macro&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;macro name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;event&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;paper-conference&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;!--&lt;/span&gt; Published Conference Paper &lt;span style="color:#f92672"&gt;--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;container-title&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;container-title&amp;#34;&lt;/span&gt; prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;in &amp;#34;&lt;/span&gt; font&lt;span style="color:#f92672"&gt;-&lt;/span&gt;style&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;italic&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;event-place&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;!--&lt;/span&gt; Unpublished Conference Paper &lt;span style="color:#f92672"&gt;--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;event&amp;#34;&lt;/span&gt; prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;presented at the &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;event-place&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;macro&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;macro name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;access&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;webpage&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;URL&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;. &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text value&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;[Online]&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;URL&amp;#34;&lt;/span&gt; prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;Available: &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;[&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;]&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;date variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;accessed&amp;#34;&lt;/span&gt; prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;Accessed: &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;date&lt;span style="color:#f92672"&gt;-&lt;/span&gt;part name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;day&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;numeric-leading-zeros&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;-&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;date&lt;span style="color:#f92672"&gt;-&lt;/span&gt;part name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;month&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;short&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;-&amp;#34;&lt;/span&gt; strip&lt;span style="color:#f92672"&gt;-&lt;/span&gt;periods&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;date&lt;span style="color:#f92672"&gt;-&lt;/span&gt;part name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;year&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;long&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;date&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;macro&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;macro name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;page&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;label variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;page&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;short&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;. &amp;#34;&lt;/span&gt; strip&lt;span style="color:#f92672"&gt;-&lt;/span&gt;periods&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;page&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;macro&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;!--&lt;/span&gt; Citation &lt;span style="color:#f92672"&gt;--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;citation collapse&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;citation-number&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;sort&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;key variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;citation-number&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;sort&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;layout prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;[&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;]&amp;#34;&lt;/span&gt; delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;citation-number&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;layout&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;citation&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;!--&lt;/span&gt; Bibliography &lt;span style="color:#f92672"&gt;--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;bibliography entry&lt;span style="color:#f92672"&gt;-&lt;/span&gt;spacing&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;0&amp;#34;&lt;/span&gt; second&lt;span style="color:#f92672"&gt;-&lt;/span&gt;field&lt;span style="color:#f92672"&gt;-&lt;/span&gt;align&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;flush&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;sort&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;key macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;author&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;key macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;year-date&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;key variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;sort&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;layout suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;.&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;!--&lt;/span&gt; Citation Number &lt;span style="color:#f92672"&gt;--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;citation-number&amp;#34;&lt;/span&gt; prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;[&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;]&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;!--&lt;/span&gt; Author(s) &lt;span style="color:#f92672"&gt;--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;author&amp;#34;&lt;/span&gt; prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34; &amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;!--&lt;/span&gt; Rest of Citation &lt;span style="color:#f92672"&gt;--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;!--&lt;/span&gt; Specific Formats &lt;span style="color:#f92672"&gt;--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;article-journal&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;container-title&amp;#34;&lt;/span&gt; font&lt;span style="color:#f92672"&gt;-&lt;/span&gt;style&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;italic&amp;#34;&lt;/span&gt; form&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;short&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;locators&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;page&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;issued&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;paper-conference&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;event&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;issued&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;locators&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;page&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;report&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;publisher&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34; &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;genre&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;number&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;issued&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;thesis&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;genre&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;publisher&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;issued&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;webpage&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;. &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;container-title&amp;#34;&lt;/span&gt; font&lt;span style="color:#f92672"&gt;-&lt;/span&gt;style&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;italic&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;issued&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;access&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;patent&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;title&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;number&amp;#34;&lt;/span&gt; prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;U.S. Patent &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;issued&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;!--&lt;/span&gt; Generic&lt;span style="color:#f92672"&gt;/&lt;/span&gt;Fallback Formats &lt;span style="color:#f92672"&gt;--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;bill book graphic legal_case legislation motion_picture report song&amp;#34;&lt;/span&gt; match&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;any&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;. &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;locators&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;publisher&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;issued&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;page&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;article-magazine article-newspaper broadcast interview manuscript map patent personal_communication song speech thesis webpage&amp;#34;&lt;/span&gt; match&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;any&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;container-title&amp;#34;&lt;/span&gt; font&lt;span style="color:#f92672"&gt;-&lt;/span&gt;style&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;italic&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;locators&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;publisher&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;page&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;issued&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;chapter paper-conference&amp;#34;&lt;/span&gt; match&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;any&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;container-title&amp;#34;&lt;/span&gt; prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;in &amp;#34;&lt;/span&gt; font&lt;span style="color:#f92672"&gt;-&lt;/span&gt;style&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;italic&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;locators&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;editor&amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34; &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;publisher&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;issued&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;page&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt; suffix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;. &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text variable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;container-title&amp;#34;&lt;/span&gt; font&lt;span style="color:#f92672"&gt;-&lt;/span&gt;style&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;italic&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;locators&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;group delimiter&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;publisher&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;page&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;text macro&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;issued&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;group&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;choose&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;layout&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;bibliography&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;/&lt;/span&gt;style&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Cleaning up IIS Express sites v2</title><link>https://www.cicoria.com/cleaning-up-iis-express-sites-v2/</link><pubDate>Wed, 01 Jul 2015 13:18:11 +0000</pubDate><guid>https://www.cicoria.com/cleaning-up-iis-express-sites-v2/</guid><description>&lt;p&gt;This one deals with a single site…&lt;/p&gt;
&lt;p&gt;Again, I’m a tidy person.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$appCmd = &amp;#34;C:\Program Files (x86)\IIS Express\appcmd.exe&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$result = Invoke-Command -Command {&amp;amp; $appCmd &amp;#39;list&amp;#39; &amp;#39;sites&amp;#39; &amp;#39;/text:SITE.NAME&amp;#39; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;function deleteSite($site){
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Invoke-Command -Command {&amp;amp; $appCmd &amp;#39;delete&amp;#39; &amp;#39;site&amp;#39; $site } 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;if ($result -is [system.array]){ 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;for ($i=0; $i -lt $result.length; $i++) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{ 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;deleteSite($result[$i]) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;else { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;deleteSite($result) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Cheap and easy IP blocking in Azure Web Apps</title><link>https://www.cicoria.com/cheap-and-easy-ip-blocking-in-azure-web-apps/</link><pubDate>Wed, 01 Jul 2015 11:07:42 +0000</pubDate><guid>https://www.cicoria.com/cheap-and-easy-ip-blocking-in-azure-web-apps/</guid><description>&lt;p&gt;Sometimes you just need to resort to something simple.&lt;/p&gt;
&lt;p&gt;I don’t recommend this in anyway for a real security plan / hardening. You should be using something proper if you’re under these kinds of malicious attacks.&lt;/p&gt;
&lt;p&gt;But, in Azure Web Apps you can add IP Address blocking via the IIS “Dynamic IP Restrictions” Module [&lt;a href="http://www.iis.net/downloads/microsoft/dynamic-ip-restrictions"&gt;1&lt;/a&gt;].&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;While I think this is the “wrong” way to do this&lt;/strong&gt; (a real firewall should be in place), I was able to “block” IP addresses in Azure Web Apps (site) by using an &lt;strong&gt;applicationHost.xdt&lt;/strong&gt; transform like so:&lt;/p&gt;</description></item><item><title>AngularJS intellisense NuGet package added</title><link>https://www.cicoria.com/angularjs-intellisense-nuget-package-added/</link><pubDate>Fri, 27 Feb 2015 09:09:33 +0000</pubDate><guid>https://www.cicoria.com/angularjs-intellisense-nuget-package-added/</guid><description>&lt;p&gt;Using the work of &lt;a href="https://twitter.com/jmbledsoe"&gt;John Bledsoe&lt;/a&gt;, a &lt;a href="http://nuget.org"&gt;NuGet&lt;/a&gt; package has been added that takes a dependency on &lt;a href="https://www.nuget.org/packages/AngularJS.Core/"&gt;AngularJS.Core&lt;/a&gt; – and provides the &lt;a href="https://raw.githubusercontent.com/jmbledsoe/angularjs-visualstudio-intellisense/master/src/Scripts/angular.intellisense.js"&gt;angular.intellisense.js&lt;/a&gt; file to your project.&lt;/p&gt;
&lt;p&gt;Via Nuget.org: &lt;a href="https://www.nuget.org/packages/AngularJS.Intellisense/" title="https://www.nuget.org/packages/AngularJS.Intellisense/"&gt;https://www.nuget.org/packages/AngularJS.Intellisense/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Referenced here: &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2015/02/05/using-angularjs-in-visual-studio-2013.aspx" title="http://blogs.msdn.com/b/visualstudio/archive/2015/02/05/using-angularjs-in-visual-studio-2013.aspx"&gt;http://blogs.msdn.com/b/visualstudio/archive/2015/02/05/using-angularjs-in-visual-studio-2013.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This approach takes the ‘per’ project approach and puts this into the /scripts directory of your project.&lt;/p&gt;
&lt;h3 id="_referencesjs--auto-update"&gt;_references.js – auto-update&lt;/h3&gt;
&lt;p&gt;In addition, the package delivers a default _references.js file that allows for auto-update. If you want to at any time regernated the references, in Visual Studio open _references.js and then choose “Update JavaScript References”.&lt;/p&gt;</description></item><item><title>Troubleshooting tool–Azure WebJob TCP Ping</title><link>https://www.cicoria.com/troubleshooting-toolazure-webjob-tcp-ping/</link><pubDate>Sun, 15 Feb 2015 11:26:59 +0000</pubDate><guid>https://www.cicoria.com/troubleshooting-toolazure-webjob-tcp-ping/</guid><description>&lt;p&gt;I’ve dropped a quick Visual Studio solution that has a simple Azure WebJob intended to run Continuously that does a Socket open (TCPPing) for a specific IP address and Port – intended to aid in identifying any network transient errors over time.&lt;/p&gt;
&lt;p&gt;Located on Github here: &lt;a href="https://github.com/cicorias/webjobtcpping" title="https://github.com/cicorias/webjobtcpping"&gt;https://github.com/cicorias/webjobtcpping&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="azure-web-job---tcp-ping"&gt;Azure Web Job - TCP Ping&lt;/h3&gt;
&lt;hr&gt;
&lt;h4 id="overview"&gt;Overview&lt;/h4&gt;
&lt;h5 id="visual-studio-2013-solution"&gt;Visual Studio 2013 Solution&lt;/h5&gt;
&lt;p&gt;The solution file contains several things:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;JobRunnerShell - simple wrapper class that handles some of the basic management of the process/job for Azure Web Job Classes/Assemblies&lt;/li&gt;
&lt;li&gt;TcpPing - an implementation of a simple Azure Web Job - intended to be run continuously - that will do a basic TcpPing (open a socket) every second.&lt;/li&gt;
&lt;li&gt;SimpleTcpServer - a very basic Tcp Listener service that echo&amp;rsquo;s back a simple string (1 line) in reverse.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="purpose"&gt;Purpose&lt;/h4&gt;
&lt;p&gt;The intent of the solution is to provide a very basic diagnostic tool that can be run continuously in an Azure WebSite deployment that will &amp;lsquo;ping&amp;rsquo; (open a socket) to a server &amp;ndash; this is intended for testing availability of a server using IPv4 addresses (ie. 10.0.1.1) across Virtual Networks (VNET) in Azure.&lt;/p&gt;</description></item><item><title>Azure Resource Manager–Creating an IaaS VM within a VNET</title><link>https://www.cicoria.com/azure-resource-managercreating-an-iaas-vm-within-a-vnet/</link><pubDate>Thu, 12 Feb 2015 07:57:54 +0000</pubDate><guid>https://www.cicoria.com/azure-resource-managercreating-an-iaas-vm-within-a-vnet/</guid><description>&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;a href="https://msdn.microsoft.com/en-us/library/azure/dn790568.aspx"&gt;Azure Resource&lt;/a&gt; manager is in Preview. Thus, anything posted here may change. However, the approach for identifying what resources are available for update and registered for Subscriptions should be the same.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE: Any reference to the &amp;ldquo;Classic&amp;rdquo; Resource providers - such as ClassicNetwork, ClassicCompute - should NOT be used and are NOT supported.&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id="here-are-the-prior-posts"&gt;Here are the prior posts:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/scicoria/archive/2015/02/09/azure-resource-manager-creating-storage-accounts.aspx"&gt;Azure Resource Manager – Creating Storage Accounts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/scicoria/archive/2015/02/09/azure-resource-manager-creating-a-resource-group-and-a-vnet.aspx"&gt;Azure Resource Manager– Creating a Resource Group and a VNET&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/scicoria/archive/2015/01/31/azure-resource-manager-adding-and-assigning-certificates-to-a-website.aspx"&gt;Azure Resource Manager – Adding and Assigning Certificates to a Website&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For this walkthrough I’m going to build up a Linux VM instance off of a VHD that I have within a storage account. I use the ARM REST API calls direct, bypassing the Templates that are coming to ARM.&lt;/p&gt;</description></item><item><title>Azure Resource Manager – Creating Storage Accounts</title><link>https://www.cicoria.com/azure-resource-manager-creating-storage-accounts/</link><pubDate>Mon, 09 Feb 2015 09:09:43 +0000</pubDate><guid>https://www.cicoria.com/azure-resource-manager-creating-storage-accounts/</guid><description>&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;a href="https://msdn.microsoft.com/en-us/library/azure/dn790568.aspx"&gt;Azure Resource&lt;/a&gt; manager is in Preview. Thus, anything posted here may change. However, the approach for identifying what resources are available updatable, and registered for Subscriptions should be the same.&lt;/p&gt;
&lt;p&gt;In a prior &lt;a href="http://cicoria.com/cs1/blogs/cedarlogic/archive/2015/01/31/azure-resource-manager-adding-and-assigning-certificates-to-a-website.aspx"&gt;post&lt;/a&gt; I walked through adding an SSL certificate then associating that certificate with an Azure Websites. While some sample C# code was provided, for this post it will entirely via using a REST tool – &lt;a href="http://www.telerik.com/download/fiddler"&gt;Fiddler&lt;/a&gt; or &lt;a href="https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm?hl=en"&gt;PostMan&lt;/a&gt; suffices for this.&lt;/p&gt;</description></item><item><title>Azure Resource Manager– Creating a Resource Group and a VNET</title><link>https://www.cicoria.com/azure-resource-manager-creating-a-resource-group-and-a-vnet/</link><pubDate>Mon, 09 Feb 2015 08:48:23 +0000</pubDate><guid>https://www.cicoria.com/azure-resource-manager-creating-a-resource-group-and-a-vnet/</guid><description>&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; Azure Resource manager is in Preview. Thus, anything posted here may change. However, the approach for identifying what resources are available updatable, and registered for Subscriptions should be the same.&lt;/p&gt;
&lt;p&gt;In a prior &lt;a href="http://cicoria.com/cs1/blogs/cedarlogic/archive/2015/01/31/azure-resource-manager-adding-and-assigning-certificates-to-a-website.aspx"&gt;post&lt;/a&gt; I walked through adding an SSL certificate then associating that certificate with an Azure Websites. While some sample C# code was provided, for this post it will entirely via using a REST tool – &lt;a href="http://www.telerik.com/download/fiddler"&gt;Fiddler&lt;/a&gt; or &lt;a href="https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm?hl=en"&gt;PostMan&lt;/a&gt; suffices for this.&lt;/p&gt;</description></item><item><title>Azure Resource Manager – Adding and Assigning Certificates to a Website</title><link>https://www.cicoria.com/azure-resource-manager-adding-and-assigning-certificates-to-a-website/</link><pubDate>Sat, 31 Jan 2015 06:30:55 +0000</pubDate><guid>https://www.cicoria.com/azure-resource-manager-adding-and-assigning-certificates-to-a-website/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;This post is going to cover working with Azure Resource Manager using the REST interfaces [1] and specifically the “&lt;strong&gt;Microsoft.Web/sites&lt;/strong&gt;” and “&lt;strong&gt;Microsoft.Web/certificates&lt;/strong&gt;” providers.&lt;/p&gt;
&lt;p&gt;You can review the list of Resource Providers by issuing an authenticated REST call to the Uri below, replacing {&lt;strong&gt;subscriptionId&lt;/strong&gt;} with your tenant id.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://management.azure.com/subscriptions/%7btenantId%7d/providers?api-version=2015-0101"&gt;https://management.azure.com/subscriptions/{&lt;strong&gt;subscriptionId&lt;/strong&gt;}/providers?api-version=2015-0101&lt;/a&gt; [2]&lt;/p&gt;
&lt;p&gt;For this sample, I’m going to make use of the Active Directory Authentication Library for .NET – primarily to make the REST calls for acquiring an Access Token [3]. You don’t have to use these libraries, but for this sample and to abbreviate the token dance with AAD, I’m using them.&lt;/p&gt;</description></item><item><title>Running ASP.NET 5 applications in Linux Containers with Docker</title><link>https://www.cicoria.com/running-asp-net-5-applications-in-linux-containers-with-docker/</link><pubDate>Wed, 14 Jan 2015 06:31:05 +0000</pubDate><guid>https://www.cicoria.com/running-asp-net-5-applications-in-linux-containers-with-docker/</guid><description>&lt;p&gt;Ahmet has (&lt;a href="https://twitter.com/ahmetalpbalkan" title="@ahmetalpbalkan"&gt;@ahmetalpbalkan&lt;/a&gt;) posted an official walkthrough on getting ASP.NET 5 running under Docker in Linux.  This takes you from a Docker client running on a Linux or OS X machine against an Docker image in Azure…&lt;/p&gt;
&lt;p&gt;Take a look -&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/webdev/archive/2015/01/14/running-asp-net-5-applications-in-linux-containers-with-docker.aspx" title="http://blogs.msdn.com/b/webdev/archive/2015/01/14/running-asp-net-5-applications-in-linux-containers-with-docker.aspx"&gt;http://blogs.msdn.com/b/webdev/archive/2015/01/14/running-asp-net-5-applications-in-linux-containers-with-docker.aspx&lt;/a&gt;&lt;/p&gt;</description></item><item><title>PDF Search Handler fix</title><link>https://www.cicoria.com/pdf-search-handler-fix/</link><pubDate>Thu, 11 Dec 2014 04:46:59 +0000</pubDate><guid>https://www.cicoria.com/pdf-search-handler-fix/</guid><description>&lt;p&gt;Adobe keeps breaking my PDF search.  WHY WHY WHY…&lt;/p&gt;
&lt;p&gt;reg ADD HKCR.pdf\PersistentHandler /d {1AA9BF05-9A97-48c1-BA28-D9DCE795E93C} /f&lt;/p&gt;</description></item><item><title>Running the AspNet vNext MVC sample direct from Docker</title><link>https://www.cicoria.com/running-the-aspnet-vnext-mvc-sample-direct-from-docker/</link><pubDate>Mon, 24 Nov 2014 03:51:24 +0000</pubDate><guid>https://www.cicoria.com/running-the-aspnet-vnext-mvc-sample-direct-from-docker/</guid><description>&lt;p&gt;In the post&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/scicoria/archive/2014/11/23/using-the-docker-client-from-windows-and-getting-aspnet-vnext-running-in-a-docker-container.aspx"&gt;Using the Docker client from Windows and getting AspNet vNext running in a Docker Container&lt;/a&gt; you had to step through downloading GO, building the docker.exe, etc.&lt;/p&gt;
&lt;p&gt;I’ve updated the GitHub repo adding the hacked version of the Docker.exe along with their LICENSE.&lt;/p&gt;
&lt;p&gt;And the whole thing has been published to the Docker hub registry.&lt;/p&gt;
&lt;p&gt;So, all you need to do is run the following (assuming you have a Docker host running):&lt;/p&gt;</description></item><item><title>Using the Docker client from Windows and getting AspNet vNext running in a Docker Container</title><link>https://www.cicoria.com/using-the-docker-client-from-windows-and-getting-aspnet-vnext-running-in-a-docker-container/</link><pubDate>Sun, 23 Nov 2014 09:46:32 +0000</pubDate><guid>https://www.cicoria.com/using-the-docker-client-from-windows-and-getting-aspnet-vnext-running-in-a-docker-container/</guid><description>&lt;p&gt;&lt;strong&gt;Update: 2015-01-15&lt;/strong&gt; – Note that Ahmet has posted an official Docker walkthrough for ASP.NET 5 &lt;a href="http://blogs.msdn.com/b/webdev/archive/2015/01/14/running-asp-net-5-applications-in-linux-containers-with-docker.aspx"&gt;http://blogs.msdn.com/b/webdev/archive/2015/01/14/running-asp-net-5-applications-in-linux-containers-with-docker.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update: 2014-11-24&lt;/strong&gt; – Added links to HOWTO build Docker on Windows from Ahmet.&lt;/p&gt;
&lt;p&gt;As Docker progress as a native application on Windows, and Asp.NET progresses direct from Microsoft for running on Linux, I wanted to see how far I could get using what’s out there today. While there are some challenges, there are a couple of simple steps that you can use to get around some initial blockers.&lt;/p&gt;</description></item><item><title>Useful Machine Learning and HDInsight / Hadoop Links Posts and Information</title><link>https://www.cicoria.com/useful-machine-learning-and-hdinsight-hadoop-links-posts-and-information/</link><pubDate>Mon, 17 Nov 2014 04:55:15 +0000</pubDate><guid>https://www.cicoria.com/useful-machine-learning-and-hdinsight-hadoop-links-posts-and-information/</guid><description>&lt;h3 id="updates"&gt;Updates:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Initial Post: 2014-11-17&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As many ramp up on &lt;a href="http://azure.microsoft.com/en-us/services/machine-learning/"&gt;Microsoft Azure Machine Learning&lt;/a&gt;, I wanted to start keeping a succinct list of many of the articles, blogs, videos, posts, etc. that have shown to be helpful in conveying the essence of the general practice of &lt;a href="https://en.wikipedia.org/wiki/Machine_learning"&gt;Machine Learning&lt;/a&gt; as well as the implementation within Microsoft Azure.&lt;/p&gt;
&lt;h1 id="machine-learning-center"&gt;Machine Learning Center&lt;/h1&gt;
&lt;p&gt;&lt;a href="http://azure.microsoft.com/en-us/documentation/services/machine-learning/"&gt;http://azure.microsoft.com/en-us/documentation/services/machine-learning/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="r-programming"&gt;R Programming&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;R for Beginners&lt;/em&gt; by Emmanuel Paradis&lt;/p&gt;
&lt;p&gt;&lt;a href="http://cran.r-project.org/doc/contrib/Paradis-rdebuts_en.pdf" title="http://cran.r-project.org/doc/contrib/Paradis-rdebuts_en.pdf"&gt;http://cran.r-project.org/doc/contrib/Paradis-rdebuts_en.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Introductory Statistics with R (Statistics and Computing), Peter Dalgaard&lt;/p&gt;</description></item><item><title>SharePoint 2013 Fixing WCAG F38 Failure–Images without ALT tags–using a Control Adapter–Display Templates</title><link>https://www.cicoria.com/sharepoint-2013-fixing-wcag-f38-failureimages-without-alt-tagsusing-a-control-adapterdisplay-templates/</link><pubDate>Thu, 06 Nov 2014 08:07:16 +0000</pubDate><guid>https://www.cicoria.com/sharepoint-2013-fixing-wcag-f38-failureimages-without-alt-tagsusing-a-control-adapterdisplay-templates/</guid><description>&lt;p&gt;The &lt;a href="http://www.w3.org/WAI/intro/wcag"&gt;WCAG (Web Content Accessibility Guidelines)&lt;/a&gt; provide a baseline for accessibility standards so various tools, such as screen readers, can provide a reasonable experience for those with accessibility challenges.&lt;/p&gt;
&lt;p&gt;With regards to images, the guideline provides that all Image tabs &amp;lt;img…&amp;gt; should probably (I say probably here for various reasons) have an ALT tag.&lt;/p&gt;
&lt;p&gt;In the case of filler images, or “decorative” that isn’t representative of content, according to F38 here: They should have an empty ALT tag – thus ‘alt=””’.&lt;/p&gt;</description></item><item><title>Why you should never say “Turn ON Intranet Settings” in Internet Explorer IE</title><link>https://www.cicoria.com/why-you-should-never-say-turn-on-intranet-settings-in-internet-explorer-ie/</link><pubDate>Sun, 26 Oct 2014 11:45:12 +0000</pubDate><guid>https://www.cicoria.com/why-you-should-never-say-turn-on-intranet-settings-in-internet-explorer-ie/</guid><description>&lt;p&gt;I recently checked into a hotel – connected to their guest wireless – and I start noticing odd things with some websites.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UPDATE: corrected title to conform to the message – thanks Mark…&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you’ve ever seen the following:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/47/13/metablogapi/8078.image_3A514A17.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NEVER say “Turn on Intranet Settings”.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In my case, the hotel’s wireless (specifically their DHCP server) was returning a WPAD (Browser Proxy Autoconfiguration) with the following:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;function FindProxyForURL(url, host)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; return &amp;#34;DIRECT&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Which for IE that means ALL sites will be mapped to the &lt;strong&gt;Intranet&lt;/strong&gt; Zone automatically IF you’ve &lt;strong&gt;“Turned ON Intranet Settings”.&lt;/strong&gt;  This is &lt;strong&gt;bad, bad, bad.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Getting Docker Running on Hyper-V 8.1/ 2012 R2</title><link>https://www.cicoria.com/getting-docker-running-on-hyper-v-8-1-2012-r2/</link><pubDate>Thu, 09 Oct 2014 13:23:20 +0000</pubDate><guid>https://www.cicoria.com/getting-docker-running-on-hyper-v-8-1-2012-r2/</guid><description>&lt;p&gt;Running &lt;a href="https://docker.com/"&gt;Docker&lt;/a&gt; locally on a Windows machine is generally not an issue; unless you&amp;rsquo;ve committed to using Hyper-V. Since the &lt;a href="https://docker.com/"&gt;Docker&lt;/a&gt; install for Windows relies on Sun&amp;rsquo;s Oracle&amp;rsquo;s Virtual Box, you can&amp;rsquo;t have both running (Hyper-V and Virtual Box).&lt;/p&gt;
&lt;p&gt;There are ways to disable Hyper-V for a boot session (via bcdedit for example – &lt;a href="http://blogs.msdn.com/b/virtual_pc_guy/archive/2008/04/14/creating-a-no-hypervisor-boot-entry.aspx"&gt;here&lt;/a&gt;). However, I&amp;rsquo;d just like to run in Hyper-V.&lt;/p&gt;
&lt;p&gt;Thankfully, &lt;a href="http://blog.thestateofme.com/2014/02/18/boot2docker-on-hyper-v/"&gt;Chris Swan has a nice post&lt;/a&gt; on getting started, using the Boot2Docker ISO, and setting up the data disk (via a differencing disks) so you can just re-use this config in future Docker instances. You can also see some of the details on the boot2docker requirements for naming of the data disk, username and password for SSH, etc. here:&lt;/p&gt;</description></item><item><title>Issues with OneDrive for business and Document Cache–Don’t mix C2R and MSI installs</title><link>https://www.cicoria.com/issues-with-onedrive-for-business-and-document-cachedont-mix-c2r-and-msi-installs/</link><pubDate>Wed, 24 Sep 2014 06:36:00 +0000</pubDate><guid>https://www.cicoria.com/issues-with-onedrive-for-business-and-document-cachedont-mix-c2r-and-msi-installs/</guid><description>&lt;p&gt;With the latest updates to Office, an issue that rears it’s ugly head if you’ve mixed both C2R and MSI installs of any Office product (2013).  That means Office, Visio, Project, SharePoint designer, and OneDrive for Business Sync Client.&lt;/p&gt;
&lt;p&gt;If you get into this mess, try to uninstall all the C2R or MSI – then get them all consistent;&lt;/p&gt;
&lt;p&gt;#1 – can’t mix click-to-run and MSI installs on the same machine:&lt;/p&gt;</description></item><item><title>SharePoint 2013 Farm in Less than an Hour–New Azure Portal and Azure Templates</title><link>https://www.cicoria.com/sharepoint-2013-farm-in-less-than-an-hournew-azure-portal-and-azure-templates/</link><pubDate>Mon, 14 Jul 2014 02:31:56 +0000</pubDate><guid>https://www.cicoria.com/sharepoint-2013-farm-in-less-than-an-hournew-azure-portal-and-azure-templates/</guid><description>&lt;p&gt;Soon, you’ll be able to author your own templates, but as of today, you can provision an 3 Machine SharePoint 2013 Farm – have it running in less than 1 hour with just a few clicks.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For details take a look here:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SharePoint Server Farm&lt;/strong&gt; at &lt;a href="http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-sharepoint-farm-azure-preview/"&gt;http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-sharepoint-farm-azure-preview/&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;SharePoint Server Farm Configuration Details&lt;/strong&gt; at &lt;a href="http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-sharepoint-farm-config-azure-preview/"&gt;http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-sharepoint-farm-config-azure-preview/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now, for some fun…&lt;/p&gt;
&lt;p&gt;First, navigate to the new portal at &lt;a href="http://portal.azure.com"&gt;http://portal.azure.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Once there, choose “New”.&lt;/p&gt;
&lt;p&gt;There you’ll get the new experience for Template based provisioning.  Click on “Show Everything” to see the full Gallery of Microsoft and non-Microsoft templates.&lt;/p&gt;</description></item><item><title>Disabling HyperV on Surface Pro 3 So Connected Standby will work or not work–depending on your mood</title><link>https://www.cicoria.com/disabling-hyperv-on-surface-pro-3-so-connected-standby-will-work-or-not-workdepending-on-your-mood/</link><pubDate>Mon, 23 Jun 2014 00:19:51 +0000</pubDate><guid>https://www.cicoria.com/disabling-hyperv-on-surface-pro-3-so-connected-standby-will-work-or-not-workdepending-on-your-mood/</guid><description>&lt;p&gt;If you’re received your SP3 and you enabled HyperV you may have noticed that Connected Standby (new to x64) will then be disabled.&lt;/p&gt;
&lt;p&gt;You’ll get this is you install Visual Studio 2013 with the Windows Phone emulator support in VS2013.&lt;/p&gt;
&lt;p&gt;First step is to give you an option to “boot” or “restart” Windows in a mode with HyperV on or off so connected standby will “not work” or “work” (opposite of HyperV setting&amp;quot;).&lt;/p&gt;</description></item><item><title>Comparing Hash of downloaded Files with PowerShell</title><link>https://www.cicoria.com/comparing-hash-of-downloaded-files-with-powershell/</link><pubDate>Thu, 17 Apr 2014 22:54:24 +0000</pubDate><guid>https://www.cicoria.com/comparing-hash-of-downloaded-files-with-powershell/</guid><description>&lt;p&gt;I can’t claim 99% of this – main credit to : &lt;a href="http://www.tinyint.com/index.php/2011/09/14/get-an-md5-or-sha1-checksum-with-powershell/" title="http://www.tinyint.com/index.php/2011/09/14/get-an-md5-or-sha1-checksum-with-powershell/"&gt;http://www.tinyint.com/index.php/2011/09/14/get-an-md5-or-sha1-checksum-with-powershell/&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$fs = new-object System.IO.FileStream $File, “Open”, “Read”, “Read”;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$algo = [type]&amp;#34;System.Security.Cryptography.$Algorithm&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$crypto = $algo::Create()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$hash = [BitConverter]::ToString($crypto.ComputeHash($fs)).Replace(&amp;#34;-&amp;#34;, &amp;#34;&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$fs.Close()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;return $hash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>WOPI Host Sample has been updated…</title><link>https://www.cicoria.com/wopi-host-sample-has-been-updated/</link><pubDate>Fri, 31 Jan 2014 06:51:05 +0000</pubDate><guid>https://www.cicoria.com/wopi-host-sample-has-been-updated/</guid><description>&lt;p&gt;&lt;strong&gt;The solution and project have been updated to MVC5, and Web API 2.  In addition, editing PowerPoint (PPTX), and Excel files has been added.  Word Editing is not part of the solution. Also, PDF viewing is enabled.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The latest Solution and information is up on Code.MSDN:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Building-an-Office-Web-f98650d6" title="http://code.msdn.microsoft.com/Building-an-Office-Web-f98650d6"&gt;http://code.msdn.microsoft.com/Building-an-Office-Web-f98650d6&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And also here: &lt;a href="http://cicoria.com/downloads/CL-OwaWopiNetFx45MVC520140131.zip" title="http://cicoria.com/downloads/CL-OwaWopiNetFx45MVC520140131.zip"&gt;http://cicoria.com/downloads/CL-OwaWopiNetFx45MVC520140131.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The old post is here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/scicoria/archive/2013/07/22/building-an-office-web-apps-owa-wopi-host.aspx" title="http://blogs.msdn.com/b/scicoria/archive/2013/07/22/building-an-office-web-apps-owa-wopi-host.aspx"&gt;http://blogs.msdn.com/b/scicoria/archive/2013/07/22/building-an-office-web-apps-owa-wopi-host.aspx&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Fiddler and Direct Access</title><link>https://www.cicoria.com/fiddler-and-direct-access/</link><pubDate>Mon, 16 Dec 2013 06:10:13 +0000</pubDate><guid>https://www.cicoria.com/fiddler-and-direct-access/</guid><description>&lt;p&gt;Fiddler puts some stuff in the registry that breaks Direct Access.&lt;/p&gt;
&lt;p&gt;The following will cleanup after Fiddler runs&lt;/p&gt;
&lt;p&gt;reg delete HKLM\SYSTEM\CurrentControlSet\Services\iphlpsvc\Parameters\ProxyMgr /va /f&lt;/p&gt;</description></item><item><title>Updating email address for SharePoint online users if they’re a Live / Microsoft Account…</title><link>https://www.cicoria.com/updating-email-address-for-sharepoint-online-users-if-theyre-a-live-microsoft-account/</link><pubDate>Wed, 20 Nov 2013 09:57:36 +0000</pubDate><guid>https://www.cicoria.com/updating-email-address-for-sharepoint-online-users-if-theyre-a-live-microsoft-account/</guid><description>&lt;p&gt;If you have a SharePoint online ()365) site, and you invite users that logon with a “Microsoft Account”, those users won’t be able to receive email.  Things such as alerts won’t work.&lt;/p&gt;
&lt;p&gt;However, you can run the code below and it will parse out all users that are “invitees” and part of the Microsoft account structure (Live.com) and just update their email, based upon what their Microsoft Account email address is.&lt;/p&gt;</description></item><item><title>Why it doesn’t take an army to build a usable web site…</title><link>https://www.cicoria.com/why-it-doesnt-take-an-army-to-build-a-usable-web-site/</link><pubDate>Sun, 17 Nov 2013 05:39:36 +0000</pubDate><guid>https://www.cicoria.com/why-it-doesnt-take-an-army-to-build-a-usable-web-site/</guid><description>&lt;p&gt;We should hopefully learn a lesson from how &lt;a href="http://healthcare.gov"&gt;http://healthcare.gov&lt;/a&gt; was build vs. &lt;a href="http://www.thehealthsherpa.com/"&gt;http://www.thehealthsherpa.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.ihealthbeat.org/articles/2013/11/12/sf-programmers-build-bare-bones-federal-exchange-site-alternative"&gt;http://www.ihealthbeat.org/articles/2013/11/12/sf-programmers-build-bare-bones-federal-exchange-site-alternative&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For too long, the idea of throwing commodity developers and large quantities of them at a problem has some believing that you can achieve good quality and results faster and better. Far from the truth. Building software is still a craft. It takes commitment, experience, and trial and error. And lots of practice.&lt;/p&gt;</description></item><item><title>Running ASP.NET admin site from command line</title><link>https://www.cicoria.com/running-asp-net-admin-site-from-command-line/</link><pubDate>Thu, 26 Sep 2013 12:29:48 +0000</pubDate><guid>https://www.cicoria.com/running-asp-net-admin-site-from-command-line/</guid><description>&lt;p&gt;Great tip from Dominic Baer.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://leastprivilege.com/2012/06/28/managing-asp-net-membership-and-roles-without-visual-studio/"&gt;http://leastprivilege.com/2012/06/28/managing-asp-net-membership-and-roles-without-visual-studio/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;amp; ‘C:\Program Files (x86)\Common Files\microsoft shared\DevServer\10.0\WebDev.WebServer40.EXE’ /path:”C:\Windows\&lt;br&gt;
Microsoft.NET\Framework64\v4.0.30319\ASP.NETWebAdminFiles” /port:8080 /vpath:”/asp.netwebadminfiles”&lt;/p&gt;
&lt;p&gt;Afterwards you can navigate to the site using this URL:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://localhost:8080/asp.netwebadminfiles/default.aspx?applicationPhysicalPath="&gt;http://localhost:8080/asp.netwebadminfiles/default.aspx?applicationPhysicalPath=&lt;/a&gt;&lt;em&gt;path&lt;/em&gt;&amp;amp;applicationUrl=&lt;em&gt;/vdir&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Host named site collections and Web Application Extensions</title><link>https://www.cicoria.com/host-named-site-collections-and-web-application-extensions/</link><pubDate>Wed, 14 Aug 2013 05:55:40 +0000</pubDate><guid>https://www.cicoria.com/host-named-site-collections-and-web-application-extensions/</guid><description>&lt;p&gt;The question came up about whether the mix of an SharePoint 2013 extended web application that may have different authentication providers, could also support Host Named Site Collections (HNSC).&lt;/p&gt;
&lt;p&gt;Well, they can.  The documentation isn’t that clear, never seen it explicitly called out.&lt;/p&gt;
&lt;p&gt;But, just from a foundation of setting up a web application, extending it, then establishing a HNSC that is addressable from 2 different SP Zones (Extended zone), these are the simple steps:&lt;/p&gt;</description></item><item><title>Building an Office Web Apps (OWA) WOPI Host</title><link>https://www.cicoria.com/building-an-office-web-apps-owa-wopi-host/</link><pubDate>Mon, 22 Jul 2013 12:21:37 +0000</pubDate><guid>https://www.cicoria.com/building-an-office-web-apps-owa-wopi-host/</guid><description>&lt;p&gt;&lt;strong&gt;UPDATE: January 31, 2014&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The solution and project have been updated to MVC5, and Web API 2.  In addition, editing PowerPoint (PPTX), and Excel files has been added.  Word Editing is not part of the solution. Also, PDF viewing is enabled.  See the updated post here:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/scicoria/archive/2014/01/31/wopi-host-sample-has-been-updated.aspx" title="http://blogs.msdn.com/b/scicoria/archive/2014/01/31/wopi-host-sample-has-been-updated.aspx"&gt;http://blogs.msdn.com/b/scicoria/archive/2014/01/31/wopi-host-sample-has-been-updated.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;//end&lt;/p&gt;
&lt;p&gt;The latest version of OWA in an on-premises deployment decouples the dependency on SharePoint. For those organizations that perhaps have invested somewhat in non-SharePoint content or document management systems, this offers an opportunity to provide the OWA experience with content from your site.&lt;/p&gt;</description></item><item><title>Getting a user’s SID via PowerShell…</title><link>https://www.cicoria.com/getting-a-users-sid-via-powershell/</link><pubDate>Mon, 01 Jul 2013 03:58:00 +0000</pubDate><guid>https://www.cicoria.com/getting-a-users-sid-via-powershell/</guid><description>&lt;p&gt;For future ref…&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$user = New-Object System.Security.Principal.NTAccount(&amp;#34;contoso&amp;#34;, &amp;#34;user&amp;#34;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$sid = $user.Translate([System.Security.Principal.SecurityIdentifier]) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$sid.Value
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Planning Poker Win8 App.</title><link>https://www.cicoria.com/planning-poker-win8-app/</link><pubDate>Wed, 26 Jun 2013 03:39:19 +0000</pubDate><guid>https://www.cicoria.com/planning-poker-win8-app/</guid><description>&lt;p&gt;Check out an in process App for Win 8 that makes use of TFS OData for planning poker&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.teamplanningpoker.com/HowTo/Win8/CreateYourFirstPlanningPokerSession"&gt;http://www.teamplanningpoker.com/HowTo/Win8/CreateYourFirstPlanningPokerSession&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;About:&lt;/p&gt;
&lt;p&gt;Team Planning Poker was created by Mike Douglas and Deliveron Consulting Services to help distributed and co-located teams effeciently point your projects&amp;rsquo; backlogs that are using Team Foundation Server or Team Foundation Service.&lt;/p&gt;
&lt;p&gt;Deliveron is a technology consulting company focused on delivering end-to-end solutions for clients. We have expertise in custom application development, system integration using BizTalk Server, enterprise portals and workflow with SharePoint, and data management and business intelligence using SQL Server.&lt;/p&gt;</description></item><item><title>Office Web Apps–WOPI Host and url paths</title><link>https://www.cicoria.com/office-web-appswopi-host-and-url-paths/</link><pubDate>Mon, 24 Jun 2013 10:37:45 +0000</pubDate><guid>https://www.cicoria.com/office-web-appswopi-host-and-url-paths/</guid><description>&lt;p&gt;If you’re following along with the post on creating a WOPI host, it’s never fully apparent that you MUST adhere to the path shown in the article here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/officedevdocs/archive/2013/03/20/introducing-wopi.aspx"&gt;http://blogs.msdn.com/b/officedevdocs/archive/2013/03/20/introducing-wopi.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That is, the path to your host must contain ‘/wopi/files’.  It wasn’t clear to me in that article, nor could I find it in the WOPI spec. &lt;a href="http://msdn.microsoft.com/en-us/library/hh622722(v=office.12).aspx"&gt;http://msdn.microsoft.com/en-us/library/hh622722(v=office.12).aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So, for example, here are some Routes I used in MVC&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; config.Routes.MapHttpRoute(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name: &amp;#34;FileInfo&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; routeTemplate: &amp;#34;api/wopi/files/{name}&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; defaults: new { controller = &amp;#34;Files&amp;#34;, action = &amp;#34;Get&amp;#34; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here are the Actions&lt;/p&gt;</description></item><item><title>Note to self–SQL Alias on x64–you need to set both 32/64 cliconfg.exe</title><link>https://www.cicoria.com/note-to-selfsql-alias-on-x64you-need-to-set-both-3264-cliconfg-exe/</link><pubDate>Tue, 18 Jun 2013 07:54:05 +0000</pubDate><guid>https://www.cicoria.com/note-to-selfsql-alias-on-x64you-need-to-set-both-3264-cliconfg-exe/</guid><description>&lt;h5 id="1-start-cwindowssystem32cliconfgexe"&gt;1. Start “C:\windows\system32\cliconfg.exe”&lt;/h5&gt;
&lt;h5 id="2-start-cwindowssyswow64cliconfgexe"&gt;2. Start “C:\windows\syswow64\cliconfg.exe”&lt;/h5&gt;</description></item><item><title>Office 365 SharePoint and PDF files…</title><link>https://www.cicoria.com/office-365-sharepoint-and-pdf-files/</link><pubDate>Sat, 08 Jun 2013 06:38:53 +0000</pubDate><guid>https://www.cicoria.com/office-365-sharepoint-and-pdf-files/</guid><description>&lt;p&gt;Recently, O365 added some server side rendering of PDF files.  Problem is if you have PDF files and an anonymous site, if a user clicks the PDF link, it will then try to authenticate that users.  Which defeats the purpose of anonymous.&lt;/p&gt;
&lt;p&gt;You’ll need to change the links as follows:&lt;/p&gt;
&lt;p&gt;Append either to the following (1st opens in the server side PDF reader; 2nd downloads to the client to read.&lt;/p&gt;</description></item><item><title>NuPattern - Home</title><link>https://www.cicoria.com/nupattern-home/</link><pubDate>Fri, 03 May 2013 02:38:20 +0000</pubDate><guid>https://www.cicoria.com/nupattern-home/</guid><description>&lt;p&gt;More from the &lt;a href="http://www.outercurve.org/"&gt;OuterCurve&lt;/a&gt; foundation:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://nupattern.codeplex.com/"&gt;NuPattern&lt;/a&gt; is a set of tools and framework that make it easy to create your own branded custom tooling and automation in &lt;a href="http://www.visualstudio.com/"&gt;Visual Studio&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You are now used to seeing different vendors tools and extensions in Visual Studio, some you like, and some offer little value to your project except in the initial phases. But, have you ever considered using and building your own tools, or tools from others developers you follow, ones that create software the way you know you want it created for your projects? Like how your organization or community builds their applications using agreed coding standards, project structures and architectural practices. &lt;a href="http://nupattern.codeplex.com/"&gt;NuPattern&lt;/a&gt; is the new framework and the tools that enable you to create your own tooling and automation that does exactly that.&lt;/p&gt;</description></item><item><title>Using S2S for On-Premises Access with Forms Based Access (FBA) in SharePoint 2013</title><link>https://www.cicoria.com/using-s2s-for-on-premises-access-with-forms-based-access-fba-in-sharepoint-2013/</link><pubDate>Fri, 03 May 2013 02:16:14 +0000</pubDate><guid>https://www.cicoria.com/using-s2s-for-on-premises-access-with-forms-based-access-fba-in-sharepoint-2013/</guid><description>&lt;p&gt;The below diagram represents the flow and interaction when a user, from an external application, makes a OAuth protected call to a SharePoint site. This approach allows for delegated authentication, and since the SharePoint and the external application “can” (they don’t have to) share the Identity Store, we maintain the integrity of the “only 1 identity”.&lt;/p&gt;
&lt;p&gt;Note, you can run this without sharing that identity store. In fact, since this is a S2S “High-Trust” approach, all SharePoint cares about is that the external application is “registered” along with a public certificate that will coincide with the signed OAuth token that will appear on the CSOM requests into SharePoint. This certificate, along with the application is registered in SharePoint with the Token Issuer (use the New-SPTrustedSecurityTokenIssuer – and make sure you look up the “-IsTrustBroker” flag).&lt;/p&gt;</description></item><item><title>Spelunking with the SharePoint 2013 App AppContext Tokens and StandardTokens</title><link>https://www.cicoria.com/spelunking-with-the-sharepoint-2013-app-appcontext-tokens-and-standardtokens/</link><pubDate>Sun, 28 Apr 2013 10:30:13 +0000</pubDate><guid>https://www.cicoria.com/spelunking-with-the-sharepoint-2013-app-appcontext-tokens-and-standardtokens/</guid><description>&lt;p&gt;When writing SharePoint 2013 Provider hosted (autohosted too), SharePoint 2013 Apps provide an App context token, along with other information as part of the initial transition to the provider.  That token, and supporting “tokens” (part of the {standardtoken}) are useful to understand what you have and what you can do wit them.&lt;/p&gt;
&lt;p&gt;In the interest of having a simple MVC4 based site, that provides simple Model binding of the SP 2013 App context transition, the sample app in the github repository provides some simple token information, along with a couple CSOM calls back to the SP 2013 environment.&lt;/p&gt;</description></item><item><title>E-Book Gallery for Microsoft Technologies - TechNet Articles - United States (English) - TechNet Wiki</title><link>https://www.cicoria.com/e-book-gallery-for-microsoft-technologies-technet-articles-united-states-english-technet-wiki/</link><pubDate>Wed, 03 Apr 2013 03:31:11 +0000</pubDate><guid>https://www.cicoria.com/e-book-gallery-for-microsoft-technologies-technet-articles-united-states-english-technet-wiki/</guid><description>&lt;p&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/11608.e-book-gallery-for-microsoft-technologies.aspx"&gt;E-Book Gallery for Microsoft Technologies - TechNet Articles - United States (English) - TechNet Wiki&lt;/a&gt;&lt;/p&gt;</description></item><item><title>eBook on SignalR…</title><link>https://www.cicoria.com/ebook-on-signalr/</link><pubDate>Tue, 26 Mar 2013 14:30:38 +0000</pubDate><guid>https://www.cicoria.com/ebook-on-signalr/</guid><description>&lt;p&gt;&lt;a href="http://www.campusmvp.net/signalr-ebook-done/"&gt;signalR-ebook-done - campusMVP.Net | campusMVP.Net&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Visual Studio IE Debug with No Add-ons</title><link>https://www.cicoria.com/visual-studio-ie-debug-with-no-add-ons/</link><pubDate>Tue, 26 Mar 2013 07:35:36 +0000</pubDate><guid>https://www.cicoria.com/visual-studio-ie-debug-with-no-add-ons/</guid><description>&lt;p&gt;Sometimes you need IE with no-adds.  For example, colleague of mine was crashing – won’t say which add-on caused it, but easily enough, add a choice to run IE with No-Addons in VS2012.&lt;/p&gt;
&lt;p&gt;Just add an entry to your Browse with to&lt;/p&gt;
&lt;p&gt;ProgramFiles(x86)\Internet Explorer\iexplore.exe&lt;/p&gt;
&lt;p&gt;with the  -extoff parameter…&lt;/p&gt;
&lt;p&gt;&lt;a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/56/metablogapi/8814.clip_image002_4D423953.jpg"&gt;&lt;img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/56/metablogapi/7737.clip_image002_thumb_5D01CE57.jpg" alt="clip_image002" title="clip_image002"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Take a brief look at the Agile management features in TFS 2012</title><link>https://www.cicoria.com/take-a-brief-look-at-the-agile-management-features-in-tfs-2012/</link><pubDate>Sun, 17 Mar 2013 04:07:59 +0000</pubDate><guid>https://www.cicoria.com/take-a-brief-look-at-the-agile-management-features-in-tfs-2012/</guid><description>&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/dn189203.aspx" title="http://msdn.microsoft.com/en-us/magazine/dn189203.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dn189203.aspx&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="team-foundation-server"&gt;Team Foundation Server&lt;/h4&gt;
&lt;h3 id="agile-project-management-using-tfs-2012"&gt;Agile Project Management using TFS 2012&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/ee532098.aspx?sdmr=SulimanBattat&amp;amp;sdmi=authors"&gt;Suliman Battat&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>eBook - Better Unit Testing with Microsoft Fakes–available now…</title><link>https://www.cicoria.com/ebook-better-unit-testing-with-microsoft-fakesavailable-now/</link><pubDate>Mon, 11 Mar 2013 03:23:27 +0000</pubDate><guid>https://www.cicoria.com/ebook-better-unit-testing-with-microsoft-fakesavailable-now/</guid><description>&lt;p&gt;I was fortunate enough to work on a team for the past year on producing an eBook that covers the Microsoft Fakes Framework that shipped as part of Visual Studio 2012.  Note that Fakes is or will be available in the Premium edition of VS2012 with Update 2.&lt;/p&gt;
&lt;p&gt;Download the guide: &lt;a href="http://vsartesttoolingguide.codeplex.com/releases/view/102290" title="http://vsartesttoolingguide.codeplex.com/releases/view/102290"&gt;http://vsartesttoolingguide.codeplex.com/releases/view/102290&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/willy-peter_schaub/archive/2013/03/01/better-unit-testing-with-microsoft-fakes-guide-shipped.aspx" title="http://blogs.msdn.com/b/willy-peter_schaub/archive/2013/03/01/better-unit-testing-with-microsoft-fakes-guide-shipped.aspx"&gt;http://blogs.msdn.com/b/willy-peter_schaub/archive/2013/03/01/better-unit-testing-with-microsoft-fakes-guide-shipped.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Mike Fourie was the lead on this, and w/ out Mike, this wouldn’t be where it is today…&lt;/p&gt;</description></item><item><title>Cleaning up IIS Express Sites</title><link>https://www.cicoria.com/cleaning-up-iis-express-sites/</link><pubDate>Fri, 08 Mar 2013 04:00:51 +0000</pubDate><guid>https://www.cicoria.com/cleaning-up-iis-express-sites/</guid><description>&lt;p&gt;Over time, you may end up with lots of sites running in IIS Express.  I like things neat and tidy, and periodically, I’ll run a little cleanup command as follows:&lt;/p&gt;
&lt;p&gt;From PowerShell:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$appCmd = &amp;#34;C:\Program Files (x86)\IIS Express\appcmd.exe&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$result = Invoke-Command -Command {&amp;amp; $appCmd &amp;#39;list&amp;#39; &amp;#39;sites&amp;#39; &amp;#39;/text:SITE.NAME&amp;#39; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;for ($i=0; $i -lt $result.length; $i++) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{ 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Invoke-Command -Command {&amp;amp; $appCmd &amp;#39;delete&amp;#39; &amp;#39;site&amp;#39; $result[$i] } 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Querying a SharePoint 2013 Task List for Subtasks</title><link>https://www.cicoria.com/querying-a-sharepoint-2013-task-list-for-subtasks/</link><pubDate>Thu, 28 Feb 2013 11:11:01 +0000</pubDate><guid>https://www.cicoria.com/querying-a-sharepoint-2013-task-list-for-subtasks/</guid><description>&lt;p&gt;The CAML for the query easily enough includes a ParentID reference.  However, if you’re spelunking around in SP 2013 using the OData services, you might have a hard time finding the ParentID field.&lt;/p&gt;
&lt;p&gt;However, if you just issue the query:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://%3Cserver%3E/%3Cmp%3E/web/_api/Web/Lists/getByTitle('TaskListName')/Items/?$filter=ParentID"&gt;//web/_api/Web/Lists/getByTitle(&amp;lsquo;TaskListName&amp;rsquo;)/Items/?$filter=ParentID&amp;quot;&amp;gt;https://&lt;server&gt;/&lt;mp&gt;/web/_api/Web/Lists/getByTitle(&amp;lsquo;TaskListName&amp;rsquo;)/Items/?$filter=ParentID&lt;/a&gt; eq ‘101’&lt;/p&gt;
&lt;p&gt;You’ll be able to retrieve all Tasks that have task #101 as their parent.&lt;/p&gt;</description></item><item><title>Get your VHD images for testing–all prepped and ready to go…</title><link>https://www.cicoria.com/get-your-vhd-images-for-testingall-prepped-and-ready-to-go/</link><pubDate>Thu, 31 Jan 2013 11:05:37 +0000</pubDate><guid>https://www.cicoria.com/get-your-vhd-images-for-testingall-prepped-and-ready-to-go/</guid><description>&lt;p&gt;IE6 – WinXP, IE7 – Vista, IE8 – Win7, IE9 – Win7, and IE10 – Win8…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.modern.ie/virtualization-tools" title="http://www.modern.ie/virtualization-tools"&gt;http://www.modern.ie/virtualization-tools&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Disable swipe on synaptics touchpad in Windows 8</title><link>https://www.cicoria.com/disable-swipe-on-synaptics-touchpad-in-windows-8/</link><pubDate>Mon, 28 Jan 2013 23:20:00 +0000</pubDate><guid>https://www.cicoria.com/disable-swipe-on-synaptics-touchpad-in-windows-8/</guid><description>&lt;p&gt;If you&amp;rsquo;re using a touchpad on a laptop, like me with some fat fingers, the swip action is actually quite intrusive.  you can turn if off with the following&lt;/p&gt;
&lt;p&gt;Disable swipe on Trackpad&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Synaptics\SynTPEnh\ZoneConfig\TouchPadPS2\Right Edge Pull] &amp;#34;ActionType&amp;#34;=dword:00000000 [HKEY_CURRENT_USER\Software\Synaptics\SynTPEnh\ZoneConfig\TouchPadPS2\Left Edge Pull] &amp;#34;ActionType&amp;#34;=dword:00000000 [HKEY_CURRENT_USER\Software\Synaptics\SynTPEnh\ZoneConfig\TouchPadPS2\Right Edge Pull Extended Zone] &amp;#34;ActionType&amp;#34;=dword:00000000 [HKEY_CURRENT_USER\Software\Synaptics\SynTPEnh\ZoneConfig\TouchPadPS2\Top Edge Pull] &amp;#34;ActionType&amp;#34;=dword:00000000
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; Re-enable:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Synaptics\SynTPEnh\ZoneConfig\TouchPadPS2\Right Edge Pull] &amp;#34;ActionType&amp;#34;=dword:00000002 [HKEY_CURRENT_USER\Software\Synaptics\SynTPEnh\ZoneConfig\TouchPadPS2\Left Edge Pull] &amp;#34;ActionType&amp;#34;=dword:00000002 [HKEY_CURRENT_USER\Software\Synaptics\SynTPEnh\ZoneConfig\TouchPadPS2\Right Edge Pull Extended Zone] &amp;#34;ActionType&amp;#34;=dword:00000002 [HKEY_CURRENT_USER\Software\Synaptics\SynTPEnh\ZoneConfig\TouchPadPS2\Top Edge Pull] &amp;#34;ActionType&amp;#34;=dword:00000002
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Updating your TFS Service urls to from TfsPreview.com to VisualStudio.com</title><link>https://www.cicoria.com/updating-your-tfs-service-urls-to-from-tfspreview-com-to-visualstudio-com/</link><pubDate>Sat, 03 Nov 2012 01:12:42 +0000</pubDate><guid>https://www.cicoria.com/updating-your-tfs-service-urls-to-from-tfspreview-com-to-visualstudio-com/</guid><description>&lt;p&gt;If you haven’t heard, TFS Service has gone live at &lt;a href="http://tfs.visualstudio.com/"&gt;http://tfs.visualstudio.com/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;While the old DNS name works, at some point it may retire.&lt;/p&gt;
&lt;p&gt;So, &lt;a href="http://blogs.msdn.com/b/willy-peter_schaub/archive/2012/07/03/introducing-the-visual-studio-alm-rangers-jesse-houwing.aspx"&gt;Jesse Houwing&lt;/a&gt; has a post/script that makes it easy.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.jessehouwing.nl/2012/11/updating-your-team-foundation-service.html"&gt;http://blog.jessehouwing.nl/2012/11/updating-your-team-foundation-service.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here’s the script as well.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Get-ItemProperty -Path HKCU:\Software\Microsoft\VisualStudio\*\TeamFoundation\Instances\*.tfspreview.com Uri | %{set-itemproperty -Path $_.PSPath Uri -Value ( $_.Uri -Replace &amp;#34;.tfspreview.com/&amp;#34;, &amp;#34;.visualstudio.com/&amp;#34; )}   Get-ItemProperty -Path HKCU:\Software\Microsoft\VisualStudio\*\TeamFoundation\Instances\*.tfspreview.com\Collections\* Uri | %{set-itemproperty -Path $_.PSPath Uri -Value ( $_.Uri -Replace &amp;#34;.tfspreview.com/&amp;#34;, &amp;#34;.visualstudio.com/&amp;#34; )}   Get-ChildItem -Path HKCU:\Software\Microsoft\VisualStudio\*\TeamFoundation\Instances\*.tfspreview.com | Rename-Item -NewName { $_.PSChildName -Replace &amp;#34;.tfspreview.com$&amp;#34;, &amp;#34;.visualstudio.com&amp;#34; }
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>RealTime communication with SingalR…</title><link>https://www.cicoria.com/realtime-communication-with-singalr/</link><pubDate>Fri, 02 Nov 2012 00:41:01 +0000</pubDate><guid>https://www.cicoria.com/realtime-communication-with-singalr/</guid><description>&lt;p&gt;The upcoming Fall Release of VS2012 has some really great updates, bringing back OData, SPA, and now SingnalR.&lt;/p&gt;
&lt;p&gt;If you get a chance take a look at Scott Guthrie’s keynote session where he goes through it (SignalR &amp;ndash; along with a demo of New Relic – which rocks).&lt;/p&gt;
&lt;p&gt;SignalR is a hub/client model that leverages javascript to provide real time broadcast and point to point call backs from the hub to clients.  So, you can make some really cool sh**t with it.&lt;/p&gt;</description></item><item><title>Starting fresh with the Visual Studio 2012 RTM bits…</title><link>https://www.cicoria.com/starting-fresh-with-the-visual-studio-2012-rtm-bits/</link><pubDate>Sun, 19 Aug 2012 02:20:58 +0000</pubDate><guid>https://www.cicoria.com/starting-fresh-with-the-visual-studio-2012-rtm-bits/</guid><description>&lt;p&gt;Sometimes you can’t do a clean install of the OS and move to Win8 RTM.  One of my machines I’ll be using for an ongoing project it’s in that “perfect” operating mode – except for the RC versions of Visual Studio 2012.&lt;/p&gt;
&lt;p&gt;The following links provide the upgrade paths as needed (note that with Win8 – must move to RTM of Win8 to get VS2012 RTM.&lt;/p&gt;
&lt;p&gt;How to uninstall Visual Studio 2012 Release Candidate&lt;/p&gt;</description></item><item><title>Good use of the Charms Bar in Windows 8 Metro.</title><link>https://www.cicoria.com/good-use-of-the-charms-bar-in-windows-8-metro/</link><pubDate>Thu, 05 Jul 2012 07:24:25 +0000</pubDate><guid>https://www.cicoria.com/good-use-of-the-charms-bar-in-windows-8-metro/</guid><description>&lt;p&gt;If you’re using Win8 yet, no doubt you’ve run into the charms bar.  There’s a feature to extend via Share, links to your application.&lt;/p&gt;
&lt;p&gt;Details on the HOW are here:&lt;/p&gt;
&lt;h3 id="adding-share-metro-style-apps-using-javascript-and-html"&gt;Adding share (Metro style apps using JavaScript and HTML)&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh758314.aspx"&gt;http://msdn.microsoft.com/en-us/library/windows/apps/hh758314.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So, Digital Folio has taken their shopping tool to Win8 and enabled some really cool ways to take advantage.  I was fortunate enough to help out the folks there a while back on some other things, but their app is a nice shoppers aid.&lt;/p&gt;</description></item><item><title>Updated WIF tools for VS2012 RC are out–be safe…</title><link>https://www.cicoria.com/updated-wif-tools-for-vs2012-rc-are-outbe-safe/</link><pubDate>Wed, 20 Jun 2012 01:15:12 +0000</pubDate><guid>https://www.cicoria.com/updated-wif-tools-for-vs2012-rc-are-outbe-safe/</guid><description>&lt;p&gt;The updated tools for the RC along with the samples are out.  The samples from the prior 1.0 release will still work as well&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/vbertocci/archive/2012/06/19/windows-identity-foundation-tools-for-visual-studio-2012-rc.aspx"&gt;Windows Identity Foundation Tools for Visual Studio 2012 RC - Vibro.NET - Site Home - MSDN Blogs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Samples are at the bottom : &lt;a href="http://blogs.msdn.com/b/vbertocci/archive/2012/03/15/windows-identity-foundation-in-the-net-framework-4-5-beta-tools-samples-claims-everywhere.aspx" title="http://blogs.msdn.com/b/vbertocci/archive/2012/03/15/windows-identity-foundation-in-the-net-framework-4-5-beta-tools-samples-claims-everywhere.aspx"&gt;http://blogs.msdn.com/b/vbertocci/archive/2012/03/15/windows-identity-foundation-in-the-net-framework-4-5-beta-tools-samples-claims-everywhere.aspx&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Turning off the Visual Studio “Attach to process” security warning…</title><link>https://www.cicoria.com/turning-off-the-visual-studio-attach-to-process-security-warning/</link><pubDate>Thu, 12 Apr 2012 02:00:57 +0000</pubDate><guid>https://www.cicoria.com/turning-off-the-visual-studio-attach-to-process-security-warning/</guid><description>&lt;p&gt;When you’re urnning under x64 you have to affect 1 addition spot in the registry to disable this warning – which clearly should only be done by folks that know what they’re doing.&lt;/p&gt;
&lt;p&gt;NOTE: affecting the registry can be harmful – do so at your own risk.&lt;/p&gt;
&lt;p&gt;Windows Registry Editor Version 5.00&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Windows Registry Editor Version 5.00
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Debugger] 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;#34;DisableAttachSecurityWarning&amp;#34;=dword:00000001
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\VisualStudio\10.0\Debugger] 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;#34;DisableAttachSecurityWarning&amp;#34;=dword:00000001
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Getting a SecurityToken from a RequestSecurityTokenResponse in WIF</title><link>https://www.cicoria.com/getting-a-securitytoken-from-a-requestsecuritytokenresponse-in-wif/</link><pubDate>Thu, 22 Mar 2012 10:23:04 +0000</pubDate><guid>https://www.cicoria.com/getting-a-securitytoken-from-a-requestsecuritytokenresponse-in-wif/</guid><description>&lt;p&gt;When you’re working with WIF and WSTrustChannelFactory when you call the Issue operation, you can also request that a RequestSecurityTokenResponse as an out parameter.&lt;/p&gt;
&lt;p&gt;However, what can you do with that object?  Well, you could keep it around and use it for subsequent calls with the extension method CreateChannelWithIssuedToken – or can you?&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;public static T CreateChannelWithIssuedToken&amp;lt;T&amp;gt;(this ChannelFactory&amp;lt;T&amp;gt; factory, SecurityToken issuedToken);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;As you can see from the method signature it takes a SecurityToken – but that’s not present on the RequestSecurityTokenResponse class.&lt;/p&gt;</description></item><item><title>Learn More about Microsoft Codename "Trust Services" - TechNet Articles - Home - TechNet Wiki</title><link>https://www.cicoria.com/learn-more-about-microsoft-codename-trust-services-technet-articles-home-technet-wiki/</link><pubDate>Sat, 04 Feb 2012 01:52:42 +0000</pubDate><guid>https://www.cicoria.com/learn-more-about-microsoft-codename-trust-services-technet-articles-home-technet-wiki/</guid><description>&lt;p&gt;Many companies, ISV’s, and solutions have concerns about data in the cloud.  With PKI based encryption, Trust Services provides key management for your publisher/subscribers and a simplified SDK set of classes to abstract the encryption, decryption process.  Both managed classes and PowerShell add-in provided&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/7041.learn-more-about-microsoft-codename-trust-services.aspx"&gt;Learn More about Microsoft Codename &amp;ldquo;Trust Services&amp;rdquo; - TechNet Articles - Home - TechNet Wiki&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Making Windows Azure Drive Letter Persistent</title><link>https://www.cicoria.com/making-windows-azure-drive-letter-persistent/</link><pubDate>Thu, 19 Jan 2012 07:42:31 +0000</pubDate><guid>https://www.cicoria.com/making-windows-azure-drive-letter-persistent/</guid><description>&lt;p&gt;Windows Azure Fieldnote&lt;/p&gt;
&lt;h3 id="summary"&gt;Summary&lt;/h3&gt;
&lt;p&gt;Windows Azure Drives [1] provide a means to represent a file based (disk drive) persistent storage option for the various role types within Windows Azure Compute. Each of the roles within Windows Azure can mount and utilize for persistent storage (that survives reboot, reimaging, and updated deployments, of a role instances).&lt;/p&gt;
&lt;p&gt;During the mounting of a VHD as a &lt;strong&gt;CloudDrive&lt;/strong&gt;, the managed classes have no means to control the drive letter assignment this directly through the &lt;strong&gt;CloudDrive&lt;/strong&gt; managed classes that are provided through the Windows Azure SDK.&lt;/p&gt;</description></item><item><title>Viewing the User Token from Visual Studio 2010 Debugger</title><link>https://www.cicoria.com/viewing-the-user-token-from-visual-studio-2010-debugger/</link><pubDate>Tue, 06 Dec 2011 10:01:22 +0000</pubDate><guid>https://www.cicoria.com/viewing-the-user-token-from-visual-studio-2010-debugger/</guid><description>&lt;p&gt;When you’re debugging security related things, sometimes you need to take a look at the thread identities user token.&lt;/p&gt;
&lt;p&gt;When you’re inside of Visual Studio 2010 – in the watch windows you enter ‘$user’  and you’ll get the same as when in windbg with !token –n&lt;/p&gt;
&lt;p&gt;&lt;a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/56/metablogapi/2502.SNAGHTML6a3d6356_6D3DBBF8.png"&gt;&lt;img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/56/metablogapi/0842.SNAGHTML6a3d6356_thumb_7722AD63.png" alt="SNAGHTML6a3d635[6]" title="SNAGHTML6a3d635[6]"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Microsoft TechNet–Create PDF Takeaway chapters for your set of topics–great feature just added..</title><link>https://www.cicoria.com/microsoft-technetcreate-pdf-takeaway-chapters-for-your-set-of-topicsgreat-feature-just-added/</link><pubDate>Wed, 30 Nov 2011 02:26:08 +0000</pubDate><guid>https://www.cicoria.com/microsoft-technetcreate-pdf-takeaway-chapters-for-your-set-of-topicsgreat-feature-just-added/</guid><description>&lt;p&gt;If you’re like me, having those PDF version for offline review are great.  It was a pain before as I had to individually print web pages to single PDF using tools.&lt;/p&gt;
&lt;p&gt;Now, TechNet can track a “book” of topics for you, and then generate HTML or PDF for you to download – personal publishing &lt;img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/56/metablogapi/7077.wlEmoticon-smile_066DF710.png" alt="Smile"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/b/tonyso/archive/2011/09/13/roll-your-own-techdocs.aspx"&gt;Roll-your-own techdocs for free - TONYSO - Site Home - TechNet Blogs&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Dennis Ritchie, Father of C and Co-Developer of Unix, Dies | Wired Enterprise | Wired.com</title><link>https://www.cicoria.com/dennis-ritchie-father-of-c-and-co-developer-of-unix-dies-wired-enterprise-wired-com/</link><pubDate>Fri, 14 Oct 2011 03:43:30 +0000</pubDate><guid>https://www.cicoria.com/dennis-ritchie-father-of-c-and-co-developer-of-unix-dies-wired-enterprise-wired-com/</guid><description>&lt;p&gt;Wow – I still have my &lt;a href="http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?ie=UTF8&amp;amp;qid=1318603382&amp;amp;sr=8-1"&gt;K&amp;amp;R book&lt;/a&gt; from a class I took at AT&amp;amp;T.  Cut my teeth on nix…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.wired.com/wiredenterprise/2011/10/dennis-ritchie/"&gt;Dennis Ritchie, Father of C and Co-Developer of Unix, Dies | Wired Enterprise | Wired.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Description of Update Rollup 1 for Active Directory Federation Services (AD FS) 2.0</title><link>https://www.cicoria.com/description-of-update-rollup-1-for-active-directory-federation-services-ad-fs-2-0/</link><pubDate>Thu, 13 Oct 2011 01:57:42 +0000</pubDate><guid>https://www.cicoria.com/description-of-update-rollup-1-for-active-directory-federation-services-ad-fs-2-0/</guid><description>&lt;p&gt;Multiple UPN support now available…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://support.microsoft.com/kb/2607496"&gt;Description of Update Rollup 1 for Active Directory Federation Services (AD FS) 2.0&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Additional Mime Types in Visual Studio 2010 Development Web Server</title><link>https://www.cicoria.com/additional-mime-types-in-visual-studio-2010-development-web-server/</link><pubDate>Thu, 06 Oct 2011 11:40:13 +0000</pubDate><guid>https://www.cicoria.com/additional-mime-types-in-visual-studio-2010-development-web-server/</guid><description>&lt;p&gt;While the development server in Visual Studio 2010 is great for most work, it does have 1 shortcoming in that if you start adding content types that are not part of the base set of known Mime types built in, you won’t affect the proper header response that is emitted to the client/browser.&lt;/p&gt;
&lt;p&gt;For example MP4 files, out of the box the development web server emits application/octet-stream or something like that.  What we really need is video/mp4.&lt;/p&gt;</description></item><item><title>Faking SPContext–for testing only…</title><link>https://www.cicoria.com/faking-spcontextfor-testing-only/</link><pubDate>Wed, 21 Sep 2011 10:54:44 +0000</pubDate><guid>https://www.cicoria.com/faking-spcontextfor-testing-only/</guid><description>&lt;p&gt;Keith Dahlby has a good post on creating a fake SPContext.  Here’s the link and the code&lt;/p&gt;
&lt;p&gt;NOTE: This is not production safe code – use at own risk…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://solutionizing.net/2009/02/16/faking-spcontext/" title="http://solutionizing.net/2009/02/16/faking-spcontext/"&gt;http://solutionizing.net/2009/02/16/faking-spcontext/&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;public static SPContext FakeSPContext(SPWeb contextWeb)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; // Ensure HttpContext.Current
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; if (HttpContext.Current == null)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; HttpRequest request = new HttpRequest(&amp;#34;&amp;#34;, web.Url, &amp;#34;&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; HttpContext.Current = new HttpContext(request,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; new HttpResponse(TextWriter.Null));
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;// SPContext is based on SPControl.GetContextWeb(), which looks here 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;if(HttpContext.Current.Items[&amp;#34;HttpHandlerSPWeb&amp;#34;] == null) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;HttpContext.Current.Items[&amp;#34;HttpHandlerSPWeb&amp;#34;] = web;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;return SPContext.Current; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Use an Action delegate to time a method…</title><link>https://www.cicoria.com/use-an-action-delegate-to-time-a-method/</link><pubDate>Wed, 21 Sep 2011 08:14:58 +0000</pubDate><guid>https://www.cicoria.com/use-an-action-delegate-to-time-a-method/</guid><description>&lt;p&gt;I wanted an ability to be able to simply time methods and write to a log/trace sink and a very simple approach that I ended up using was to provide a method that takes an Action delegate which would be the method that is to be timed.&lt;/p&gt;
&lt;p&gt;The following is what I came up with (this is my reminder…)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;private static void TestMethod1()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; LoggingHelper.TimeThis(&amp;amp;quot;doing something&amp;amp;quot;, () =&amp;amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Console.WriteLine(&amp;amp;quot;This is the Real Method Body&amp;amp;quot;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Thread.Sleep(100);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; });
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Comparison of Windows Azure Storage Queues and Service Bus Queues « Microsoft Technologies Rocks !!!</title><link>https://www.cicoria.com/comparison-of-windows-azure-storage-queues-and-service-bus-queues-microsoft-technologies-rocks/</link><pubDate>Tue, 20 Sep 2011 01:06:10 +0000</pubDate><guid>https://www.cicoria.com/comparison-of-windows-azure-storage-queues-and-service-bus-queues-microsoft-technologies-rocks/</guid><description>&lt;p&gt;Nice table comparing Windows Azure Queues vs. Windows Azure AppFabric Service Bus – note the comment regarding in WAZ SDK 1.5 Queue message size is now 64KB&lt;/p&gt;
&lt;p&gt;Of course, I like the name of the blog too.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://preps2.wordpress.com/2011/09/17/comparison-of-windows-azure-storage-queues-and-service-bus-queues/"&gt;Comparison of Windows Azure Storage Queues and Service Bus Queues « Microsoft Technologies Rocks !!!&lt;/a&gt;&lt;/p&gt;</description></item><item><title>MiniProfiler– A simple but effective mini-profiler for ASP.NET MVC and ASP.NET.</title><link>https://www.cicoria.com/miniprofiler-a-simple-but-effective-mini-profiler-for-asp-net-mvc-and-asp-net/</link><pubDate>Sun, 18 Sep 2011 02:34:33 +0000</pubDate><guid>https://www.cicoria.com/miniprofiler-a-simple-but-effective-mini-profiler-for-asp-net-mvc-and-asp-net/</guid><description>&lt;p&gt;Once in a while a good tool that I find out about that helps me developing solutions comes in real handy.  MiniProfiler is one of those tools.&lt;/p&gt;
&lt;p&gt;Developed by the StackOverflow folks it’s available in source or binary, and NuGet packages&lt;/p&gt;
&lt;p&gt;Take a look&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.google.com/p/mvc-mini-profiler/" title="http://code.google.com/p/mvc-mini-profiler/"&gt;http://code.google.com/p/mvc-mini-profiler/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://nuget.org/List/Packages/MiniProfiler" title="http://nuget.org/List/Packages/MiniProfiler"&gt;http://nuget.org/List/Packages/MiniProfiler&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Slides for BUILD conference…</title><link>https://www.cicoria.com/slides-for-build-conference/</link><pubDate>Sun, 18 Sep 2011 01:45:15 +0000</pubDate><guid>https://www.cicoria.com/slides-for-build-conference/</guid><description>&lt;p&gt;On the Channel 9 site where the BUILD conference sessions are available, there are several feeds that provide the media associated with the sessions.&lt;/p&gt;
&lt;p&gt;One that’s not listed explicitly is the PowerPoint slides – that feed is here:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://channel9.msdn.com/Events/BUILD/BUILD2011/RSS/slides" title="https://channel9.msdn.com/Events/BUILD/BUILD2011/RSS/slides"&gt;https://channel9.msdn.com/Events/BUILD/BUILD2011/RSS/slides&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Building scalable web applications with Windows Azure (ed. and on premise too!)</title><link>https://www.cicoria.com/building-scalable-web-applications-with-windows-azure-ed-and-on-premise-too/</link><pubDate>Sat, 17 Sep 2011 05:17:07 +0000</pubDate><guid>https://www.cicoria.com/building-scalable-web-applications-with-windows-azure-ed-and-on-premise-too/</guid><description>&lt;p&gt;Matthew Kerner’s session at BUILD covers many of the patterns and approaches that a well designed and highly scalable solution can do to make the most efficient use of the platform.&lt;/p&gt;
&lt;p&gt;Truth is many of the areas Matthew covers should be for on Premise too – including use of Windows Azure CDN.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/56/metablogapi/6663.wlEmoticon-smile_74EDC6B3.png" alt="Smile"&gt;  At about ~30:00 in Matthew references one of my posts on Windows Azure CDN and using it with your Compute role (hosted service) as an CDN origin…&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Bringing Hyper-V to “Windows 8” - Building Windows 8 - Site Home - MSDN Blogs</title><link>https://www.cicoria.com/bringing-hyper-v-to-windows-8-building-windows-8-site-home-msdn-blogs/</link><pubDate>Wed, 07 Sep 2011 10:49:50 +0000</pubDate><guid>https://www.cicoria.com/bringing-hyper-v-to-windows-8-building-windows-8-site-home-msdn-blogs/</guid><description>&lt;p&gt;This is huge – and a welcomed addition.  Been waiting too long for this.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/b8/archive/2011/09/07/bringing-hyper-v-to-windows-8.aspx"&gt;Bringing Hyper-V to “Windows 8” - Building Windows 8 - Site Home - MSDN Blogs&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Hosted Service as a Windows Azure CDN Origin Tips</title><link>https://www.cicoria.com/hosted-service-as-a-windows-azure-cdn-origin-tips/</link><pubDate>Sun, 10 Jul 2011 06:26:34 +0000</pubDate><guid>https://www.cicoria.com/hosted-service-as-a-windows-azure-cdn-origin-tips/</guid><description>&lt;p&gt;The Windows Azure Content Delivery Network (CDN) helps improve the solution experience by putting content closer to the end-user, enhances availability, geo-distribution, scalability, lower latency delivery, and performance. If that’s the goal we want to be sure that when we instantiate the source of this content at the origin it’s as CDN friendly as we need.&lt;/p&gt;
&lt;p&gt;In Windows Azure, when you’re running under IIS7.x /ASP.NET you have to be aware of the inherent behavior associated with Output Caching as it is part of the standard deployment of IIS7.x.&lt;/p&gt;</description></item><item><title>Raffaele Rialdi DeployManager June 2011 edition–Now supports SAN certificates</title><link>https://www.cicoria.com/raffaele-rialdi-deploymanager-june-2011-editionnow-supports-san-certificates/</link><pubDate>Wed, 06 Jul 2011 08:26:10 +0000</pubDate><guid>https://www.cicoria.com/raffaele-rialdi-deploymanager-june-2011-editionnow-supports-san-certificates/</guid><description>&lt;p&gt;Raffaele Rialdi has been adding features to his certificate management tool.  Already supporting wildcard certificates, he’s now added SAN cert support.&lt;/p&gt;
&lt;p&gt;But it’s more than certificate management too.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.iamraf.net/Tools/deploymanager-june-2011-edition"&gt;IAmRaf - Tools&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Identity Claims Encoding for SharePoint</title><link>https://www.cicoria.com/identity-claims-encoding-for-sharepoint/</link><pubDate>Thu, 30 Jun 2011 03:50:59 +0000</pubDate><guid>https://www.cicoria.com/identity-claims-encoding-for-sharepoint/</guid><description>&lt;p&gt;Just to remind myself, the list of claim types and their encodings are listed here at the bottom.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/gg481769.aspx" title="http://msdn.microsoft.com/en-us/library/gg481769.aspx"&gt;http://msdn.microsoft.com/en-us/library/gg481769.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Where for example:&lt;/p&gt;
&lt;p&gt;i:0#.w|contoso\scicoria&lt;/p&gt;
&lt;p&gt;‘i’ = identity, could be ‘c’ for others&lt;/p&gt;
&lt;h1 id="-spclaimtypesuserlogonname"&gt;== SPClaimTypes.UserLogonName&lt;/h1&gt;
&lt;p&gt;. == Microsoft.IdentityModel.Claims.ClaimValueTypes.String&lt;/p&gt;
&lt;p&gt;Table for reference:&lt;/p&gt;
&lt;p&gt;Table 1. Claim types encoding&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Character&lt;/th&gt;
 &lt;th&gt;Claim Type&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;!&lt;/td&gt;
 &lt;td&gt;SPClaimTypes.IdentityProvider&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;”&lt;/td&gt;
 &lt;td&gt;SPClaimTypes.UserIdentifier&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;#&lt;/td&gt;
 &lt;td&gt;SPClaimTypes.UserLogonName&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;$&lt;/td&gt;
 &lt;td&gt;SPClaimTypes.DistributionListClaimType&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;%&lt;/td&gt;
 &lt;td&gt;SPClaimTypes.FarmId&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;amp;&lt;/td&gt;
 &lt;td&gt;SPClaimTypes.ProcessIdentitySID&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;‘&lt;/td&gt;
 &lt;td&gt;SPClaimTypes.ProcessIdentityLogonName&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;(&lt;/td&gt;
 &lt;td&gt;SPClaimTypes.IsAuthenticated&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;)&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimTypes.PrimarySid&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;*&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimTypes.PrimaryGroupSid&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;+&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimTypes.GroupSid&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimTypes.Role&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;.&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Anonymous&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;/&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Authentication&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.AuthorizationDecision&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Country&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.DateOfBirth&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;3&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.DenyOnlySid&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;4&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Dns&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;5&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Email&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;6&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Gender&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;7&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.GivenName&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;8&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Hash&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.HomePhone&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;lt;&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Locality&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;=&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.MobilePhone&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;gt;&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Name&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;?&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.NameIdentifier&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;@&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.OtherPhone&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;[&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.PostalCode&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;\&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.PPID&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;]&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Rsa&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;^&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Sid&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;_&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Spn&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;`&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.StateOrProvince&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;a&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.StreetAddress&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;b&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Surname&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;c&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.System&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;d&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Thumbprint&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;e&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Upn&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;f&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Uri&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;g&lt;/td&gt;
 &lt;td&gt;System.IdentityModel.Claims.ClaimTypes.Webpage&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="table-2-claim-value-types-encoding"&gt;Table 2. Claim value types encoding&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Character&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;Claim Type&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;!&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimValueTypes.Base64Binary&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;“&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimValueTypes.Boolean&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;#&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimValueTypes.Date&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;$&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimValueTypes.Datetime&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;%&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimValueTypes.DaytimeDuration&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;amp;&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimValueTypes.Double&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;‘&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimValueTypes.DsaKeyValue&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;(&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimValueTypes.HexBinary&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;)&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimValueTypes.Integer&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;*&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimValueTypes.KeyInfo&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;+&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimValueTypes.Rfc822Name&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimValueTypes.RsaKeyValue&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;.&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimValueTypes.String&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;/&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimValueTypes.Time&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimValueTypes.X500Name&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;Microsoft.IdentityModel.Claims.ClaimValueTypes.YearMonthDuration&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Creating Wildcard Certificates with makecert.exe</title><link>https://www.cicoria.com/creating-wildcard-certificates-with-makecert-exe/</link><pubDate>Tue, 28 Jun 2011 14:14:24 +0000</pubDate><guid>https://www.cicoria.com/creating-wildcard-certificates-with-makecert-exe/</guid><description>&lt;p&gt;Be nice to be able to make wildcard certificates for use in development with makecert – turns out, it’s real easy.  Just ensure that your CN=  is the wildcard string to use.&lt;/p&gt;
&lt;p&gt;The following sequence generates a CA cert, then the public/private key pair for a wildcard certificate&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;REM make the CA
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rem CA Certificate:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;makecert -r -pe -n &amp;#34;CN=AA Contoso Test Root Authority&amp;#34; -ss CA -sr CurrentUser -a sha1 -sky signature -cy authority -sv CA.pvk CA.cer -len 2048
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;REM now make the server wildcard cert 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;makecert -pe -n &amp;#34;CN=*.contosotest.com&amp;#34; -a sha1 -len 2048 -sky exchange -eku 1.3.6.1.5.5.7.3.1 -ic CA.cer -iv CA.pvk -sp &amp;#34;Microsoft RSA SChannel Cryptographic Provider&amp;#34; -sy 12 -sv wildcard.pvk wildcard.cer
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pvk2pfx -pvk wildcard.pvk -spc wildcard.cer -pfx wildcard.pfx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Lorem Ipsum–Generating in Word 2010</title><link>https://www.cicoria.com/lorem-ipsumgenerating-in-word-2010/</link><pubDate>Mon, 27 Jun 2011 08:25:33 +0000</pubDate><guid>https://www.cicoria.com/lorem-ipsumgenerating-in-word-2010/</guid><description>&lt;p&gt;Well, apparently I missed this hidden feature having used the Lorem Ipsum website for some time, but if you enter the following in blank Word document – you’ll get 10 paragraphs of generated text:&lt;/p&gt;
&lt;p&gt;=Lorem(10)&lt;/p&gt;
&lt;p&gt;Such as:&lt;/p&gt;
&lt;p&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.&lt;/p&gt;
&lt;p&gt;Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.&lt;/p&gt;</description></item><item><title>HACK: Forcing FBA Token Refresh against SPClaimProvider with No Credential Challenge</title><link>https://www.cicoria.com/hack-forcing-fba-token-refresh-against-spclaimprovider-with-no-credential-challenge/</link><pubDate>Wed, 15 Jun 2011 09:48:33 +0000</pubDate><guid>https://www.cicoria.com/hack-forcing-fba-token-refresh-against-spclaimprovider-with-no-credential-challenge/</guid><description>&lt;p&gt;The approach takes advantage of the SP 2010 OOB Session Token handler and FBA claims provider implementation that during a period of token lifetime, if there is activity during the period of time that can be defined as &amp;ldquo;EW&amp;rdquo; in the image in the section &amp;ldquo;Background&amp;rdquo; below, that the &lt;strong&gt;SPSecurityTokenManager&lt;/strong&gt; will, with the FBA provider, reissue a Session Token with new SessionToken &lt;strong&gt;ValidTo&lt;/strong&gt; and &lt;strong&gt;ValidFrom&lt;/strong&gt; times without forcing a re-challenge for user credentials (username and password).&lt;/p&gt;</description></item><item><title>SharePoint 2010 FBA and Sliding Sessions</title><link>https://www.cicoria.com/sharepoint-2010-fba-and-sliding-sessions/</link><pubDate>Fri, 10 Jun 2011 09:41:28 +0000</pubDate><guid>https://www.cicoria.com/sharepoint-2010-fba-and-sliding-sessions/</guid><description>&lt;p&gt;This is to provide a little bit of explanation on the implementation of FBA authentication with SP 2010. There have been blog posts that indicate there are no sliding sessions, but with a little manipulation and understanding of some of the settings, there is somewhat of support for sliding sessions and re-issuance of tokens. The current model provides for a little trade-off on performance as re-requests to the FBA providers and also any SP Custom Claim providers can have impact on overall performance.&lt;/p&gt;</description></item><item><title>Adding and Removing SPClaimProvider via PowerShell</title><link>https://www.cicoria.com/adding-and-removing-spclaimprovider-via-powershell/</link><pubDate>Thu, 09 Jun 2011 08:51:52 +0000</pubDate><guid>https://www.cicoria.com/adding-and-removing-spclaimprovider-via-powershell/</guid><description>&lt;p&gt;There are really 2 ways to get a SPClaimProvider registered – 1 via a Farm Feature activation.  The other is via PowerShell.&lt;/p&gt;
&lt;p&gt;However, the documentation on how to remove is not that clear.&lt;/p&gt;
&lt;p&gt;The following code will remove it based upon a TypeName.  Other identifiers can be used.&lt;/p&gt;
&lt;p&gt;In order to remove:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Know what Process is calling your SPClaimProvider</title><link>https://www.cicoria.com/know-what-process-is-calling-your-spclaimprovider/</link><pubDate>Mon, 06 Jun 2011 02:54:36 +0000</pubDate><guid>https://www.cicoria.com/know-what-process-is-calling-your-spclaimprovider/</guid><description>&lt;p&gt;If you’re writing a custom SharePoint Claims Provider (&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.claims.spclaimprovider.aspx"&gt;SPClaimProvider&lt;/a&gt;) in order to augment claims, it’s important to also understand what process is executing your specific code path.  In the situation where you are making calls to a DB or service endpoint you will need to understand which process actually makes that call.&lt;/p&gt;
&lt;p&gt;In situations when running in a Trusted Subsystem model, you’ll also need to &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx"&gt;RunWithElevated&lt;/a&gt; in order to have that code path execute in the context of the Windows Principal for that process.&lt;/p&gt;</description></item><item><title>Forcing use of the same Master Page in sub-sites without Publishing</title><link>https://www.cicoria.com/forcing-use-of-the-same-master-page-in-sub-sites-without-publishing/</link><pubDate>Thu, 02 Jun 2011 05:19:59 +0000</pubDate><guid>https://www.cicoria.com/forcing-use-of-the-same-master-page-in-sub-sites-without-publishing/</guid><description>&lt;p&gt;This seems to come up a few times.  The following sample script in PS applies a common master page across all SPWebs in a site collection.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$site = Get-SPSite http://fba.contosotest.com/dv1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$site | Get-SPWeb -limit all | ForEach-Object { $_.MasterUrl = &amp;#34;/dv1/_catalogs/masterpage/custom_v4.master&amp;#34;;$_.Update() }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$site.Dispose()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Thanks to Phil Childs - &lt;a href="http://get-spscripts.com/2010/09/changing-master-page-on-sharepoint.html" title="http://get-spscripts.com/2010/09/changing-master-page-on-sharepoint.html"&gt;http://get-spscripts.com/2010/09/changing-master-page-on-sharepoint.html&lt;/a&gt;&lt;/p&gt;</description></item><item><title>How does the Windows Azure Fabric controller do that?</title><link>https://www.cicoria.com/how-does-the-windows-azure-fabric-controller-do-that/</link><pubDate>Thu, 26 May 2011 04:24:10 +0000</pubDate><guid>https://www.cicoria.com/how-does-the-windows-azure-fabric-controller-do-that/</guid><description>&lt;p&gt;Kevin Williamson has a great post on the overall flow of things from the point of publishing of your package up on the Windows Azure Developer Portal to Run().&lt;/p&gt;
&lt;p&gt;These are good things to know as many times you need to inject steps, tasks, context at various stages of your service instance’s lifetime.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/kwill/archive/2011/05/05/windows-azure-role-architecture.aspx"&gt;http://blogs.msdn.com/b/kwill/archive/2011/05/05/windows-azure-role-architecture.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/kwill/archive/2011/05/05/windows-azure-role-architecture.aspx"&gt;Windows Azure Role Architecture - Windows Azure - Troubleshooting &amp;amp; Debugging - Site Home - MSDN Blogs&lt;/a&gt;&lt;/p&gt;</description></item><item><title>CloudNinja - Windows Azure Multi-tenant Sample - Home</title><link>https://www.cicoria.com/cloudninja-windows-azure-multi-tenant-sample-home/</link><pubDate>Wed, 18 May 2011 01:42:15 +0000</pubDate><guid>https://www.cicoria.com/cloudninja-windows-azure-multi-tenant-sample-home/</guid><description>&lt;p&gt;So, as one of the OneTAP leads for Windows Azure focusing on the BizSpark folks, I run into many questions regarding HOWTO and in areas of Auto-Scaling, provisioning, authentication.&lt;/p&gt;
&lt;p&gt;The folks at Full Scale 180 (&lt;a href="http://www.fullscale180.com" title="http://www.fullscale180.com"&gt;http://www.fullscale180.com&lt;/a&gt;) have created a nice sample application that demonstrates the following:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Key Features&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Metering&lt;/li&gt;
&lt;li&gt;Automated Scaling&lt;/li&gt;
&lt;li&gt;Federated Identity&lt;/li&gt;
&lt;li&gt;Provisioning&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Contents&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sample source code&lt;/li&gt;
&lt;li&gt;Design document&lt;/li&gt;
&lt;li&gt;Setup guide&lt;/li&gt;
&lt;li&gt;Sample walkthrough&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://cloudninja.codeplex.com/"&gt;CloudNinja - Windows Azure Multi-tenant Sample - Home&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Welcomed Addition to the WIF Family–SAML-P WIF Extension CTP</title><link>https://www.cicoria.com/welcomed-addition-to-the-wif-familysaml-p-wif-extension-ctp/</link><pubDate>Mon, 16 May 2011 12:12:38 +0000</pubDate><guid>https://www.cicoria.com/welcomed-addition-to-the-wif-familysaml-p-wif-extension-ctp/</guid><description>&lt;p&gt;This is a very nice addition and will make development across the various WebSSO protocols that much easier.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/card/archive/2011/05/16/announcing-the-wif-extension-for-saml-2-0-protocol-community-technology-preview.aspx"&gt;Announcing the WIF Extension for SAML 2.0 Protocol Community Technology Preview! - Claims-Based Identity Blog - Site Home - MSDN Blogs&lt;/a&gt;&lt;/p&gt;</description></item><item><title>State Machine is “back”…</title><link>https://www.cicoria.com/state-machine-is-back/</link><pubDate>Mon, 16 May 2011 10:04:00 +0000</pubDate><guid>https://www.cicoria.com/state-machine-is-back/</guid><description>&lt;p&gt;With the NetFx 4.0 platform update, the WF state machine is back…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/endpoint/archive/2011/04/18/microsoft-net-framework-4-platform-update-1.aspx"&gt;Microsoft .NET Framework 4 Platform Update 1 - The .NET Endpoint - Site Home - MSDN Blogs&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Who needs reflector? ILSpy to the rescue..</title><link>https://www.cicoria.com/who-needs-reflector-ilspy-to-the-rescue/</link><pubDate>Thu, 05 May 2011 10:21:41 +0000</pubDate><guid>https://www.cicoria.com/who-needs-reflector-ilspy-to-the-rescue/</guid><description>&lt;p&gt;Reflector has been invaluable over the years.  I’m torn about the idea it’s become a paid for tool, and by all means folks should be compensated for great work.  Not sure where Lutz is in the cash flow.&lt;/p&gt;
&lt;p&gt;But, the ICSharpCode guys have released ILSpy at &lt;a href="http://www.ILSpy.com"&gt;www.ILSpy.com&lt;/a&gt;  (&lt;a href="http://wiki.sharpdevelop.net/ilspy.ashx" title="http://wiki.sharpdevelop.net/ilspy.ashx"&gt;http://wiki.sharpdevelop.net/ilspy.ashx&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Right now the limitation is it’s NetFx 4.0+.  So, keep that unfortunately self-updating version of Reflector around.  I still may pay, but it’s good to know there’s competition.&lt;/p&gt;</description></item><item><title>Getting the MVC3 assemblies as part of your Windows Azure deployment</title><link>https://www.cicoria.com/getting-the-mvc3-assemblies-as-part-of-your-windows-azure-deployment/</link><pubDate>Fri, 15 Apr 2011 02:12:39 +0000</pubDate><guid>https://www.cicoria.com/getting-the-mvc3-assemblies-as-part-of-your-windows-azure-deployment/</guid><description>&lt;p&gt;There have been several techniques that have been posted on getting the MVC3 reference assemblies deployed as part of your Windows Azure Solution.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.smarx.com/posts/asp-net-mvc-in-windows-azure" title="http://blog.smarx.com/posts/asp-net-mvc-in-windows-azure"&gt;http://blog.smarx.com/posts/asp-net-mvc-in-windows-azure&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is something I learned today is in Visual Studio 2010 SP1.&lt;/p&gt;
&lt;p&gt;If you open up the context menu for the project, you’ll see “Add Deployable Dependencies”.  When you select the parts you need it adds the _bin_deployableAssemblies to the project and a copy.  With Vs2010 SP1, the build targets have been updated to ensure these are emitted to your /bin path as required.&lt;/p&gt;</description></item><item><title>Getting Office Web Apps to run on a Domain controller - AppServerHost.exe</title><link>https://www.cicoria.com/getting-office-web-apps-to-run-on-a-domain-controller-appserverhost-exe/</link><pubDate>Thu, 14 Apr 2011 14:50:55 +0000</pubDate><guid>https://www.cicoria.com/getting-office-web-apps-to-run-on-a-domain-controller-appserverhost-exe/</guid><description>&lt;p&gt;I recall we had a similar issue when running document conversion services.&lt;/p&gt;
&lt;p&gt;If you’re attempting Word or PowerPoint viewing and you see errors in the event log regarding AppServerHost.exe – you need to enable non-sandboxing.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/opal/archive/2010/04/25/faq-sharepoint-2010-rtm-installation.aspx" title="http://blogs.msdn.com/b/opal/archive/2010/04/25/faq-sharepoint-2010-rtm-installation.aspx"&gt;http://blogs.msdn.com/b/opal/archive/2010/04/25/faq-sharepoint-2010-rtm-installation.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Open SharePoint 2010 Management Shell, then run:&lt;/p&gt;
&lt;p&gt;#Enable Word Web App:&lt;/p&gt;
&lt;p&gt;$e = Get-SPServiceApplication | where {$_.TypeName.Equals(&amp;ldquo;Word Viewing Service Application&amp;rdquo;)}&lt;br&gt;
$e.WordServerIsSandboxed = $false&lt;br&gt;
$e.WordServerIsSandboxed&lt;/p&gt;
&lt;p&gt;#Enable PowerPoint Web App - you need to answer &amp;ldquo;Y&amp;rdquo; for each command:&lt;/p&gt;</description></item><item><title>Differences when Running with OutputCache managed module under ASP.NET IIS7.x with Cache-control header</title><link>https://www.cicoria.com/differences-when-running-with-outputcache-managed-module-under-asp-net-iis7-x-with-cache-control-header/</link><pubDate>Mon, 14 Mar 2011 13:39:36 +0000</pubDate><guid>https://www.cicoria.com/differences-when-running-with-outputcache-managed-module-under-asp-net-iis7-x-with-cache-control-header/</guid><description>&lt;p&gt;This post is to report some differences when using MVC or IHttpHandlers if you’re attempting to set the Cache-control : max-age or s-maxage value under IIS7.x using the HttpResponse.Cache methods.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;[UPDATE]: 2011-3-14 – The missing piece was calling  Response.Cache.SetSlidingExpiration(true) as follows:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;context.Response.Cache.SetCacheability(HttpCacheability.Public);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;context.Response.Cache.SetMaxAge(TimeSpan.FromMinutes(5));
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;context.Response.ContentType = &amp;#34;image/jpeg&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;context.Response.Cache.SetSlidingExpiration(true);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Under IIS7.x if you us one of the following 2 methods, you will only get a Cache-ability of “public”.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;public ActionResult Image2()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; MemoryStream oStream = new MemoryStream();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; using (Bitmap obmp = ImageUtil.RenderImage(&amp;#34;Respone.Cache.Setxx calls&amp;#34;, 5, DateTime.Now))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; obmp.Save(oStream, ImageFormat.Jpeg);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; oStream.Position = 0;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Response.Cache.SetCacheability(HttpCacheability.Public);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Response.Cache.SetMaxAge(TimeSpan.FromMinutes(5));
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; return new FileStreamResult(oStream, &amp;#34;image/jpeg&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Method 2 – which is just a plain old HttpHandler and really isn’t MVC3, but under the same MVC ASP.NET application, same result.&lt;/p&gt;</description></item><item><title>Taking advantage of Windows Azure CDN and Dynamic Pages in ASP.NET - Caching content from hosted services</title><link>https://www.cicoria.com/taking-advantage-of-windows-azure-cdn-and-dynamic-pages-in-asp-net-caching-content-from-hosted-services/</link><pubDate>Fri, 11 Mar 2011 07:59:34 +0000</pubDate><guid>https://www.cicoria.com/taking-advantage-of-windows-azure-cdn-and-dynamic-pages-in-asp-net-caching-content-from-hosted-services/</guid><description>&lt;p&gt;With the updates to Windows Azure CDN announced this week [&lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2011/03/09/now-available-updated-windows-azure-sdk-and-windows-azure-management-portal.aspx"&gt;1&lt;/a&gt;] I wanted to help illustrate the capability with a working sample that will serve up dynamic content from an ASP.NET site hosted in a WebRole.&lt;/p&gt;
&lt;p&gt;First, to get a good overview of the capability you can read the &lt;a href="http://msdn.microsoft.com/en-us/library/ff919703.aspx"&gt;Overview of the Windows Azure CDN [2]&lt;/a&gt; content on MSDN.&lt;/p&gt;
&lt;p&gt;When you setup the ability to cache content from a hosted service, the requirement is to provide a path to your role’s DNS endpoint that ends in the path “/cdn”.  Additionally, you then map CDN to that service.&lt;/p&gt;</description></item><item><title>Asus Slate–I gotta get one.</title><link>https://www.cicoria.com/asus-slatei-gotta-get-one/</link><pubDate>Mon, 07 Mar 2011 11:41:30 +0000</pubDate><guid>https://www.cicoria.com/asus-slatei-gotta-get-one/</guid><description>&lt;p&gt;This thing rocks…&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=FlciOy5UW-I&amp;amp;feature=youtube_gdata_player"&gt;&lt;img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/56/metablogapi/4274.videoed339e50477c_4DD521F4.jpg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>AD FS 2.0: Troubleshooting Event 364 and ThrowExceptionForHRInternal / NullReferenceException</title><link>https://www.cicoria.com/ad-fs-2-0-troubleshooting-event-364-and-throwexceptionforhrinternal-nullreferenceexception/</link><pubDate>Fri, 04 Mar 2011 07:18:28 +0000</pubDate><guid>https://www.cicoria.com/ad-fs-2-0-troubleshooting-event-364-and-throwexceptionforhrinternal-nullreferenceexception/</guid><description>&lt;p&gt;Ran into a situation today where after AD FS federation server was installed, configured and up &amp;amp; running, “all of a sudden” it stopped working.&lt;/p&gt;
&lt;p&gt;Turned out that another installer that affected the default web site, also seemingly affected the AppPools associated to all Applications under the Default Web site.&lt;/p&gt;
&lt;p&gt;By changing the “Enable 32-bit Applications” either through IIS admin or via command line&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;appcmd set apppool /apppool.name:MyAppPool /enable32BitAppOnWin64:false&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Back to normal…&lt;/p&gt;</description></item><item><title>Running Jetty under Windows Azure Using RoleEntryPoint in a Worker Role</title><link>https://www.cicoria.com/running-jetty-under-windows-azure-using-roleentrypoint-in-a-worker-role/</link><pubDate>Thu, 03 Mar 2011 11:10:16 +0000</pubDate><guid>https://www.cicoria.com/running-jetty-under-windows-azure-using-roleentrypoint-in-a-worker-role/</guid><description>&lt;p&gt;This post is built upon the work of &lt;a href="http://blogs.msdn.com/b/mariok"&gt;Mario Kosmiskas&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/b/dachou"&gt;David C. Chou’s&lt;/a&gt; prior postings – from here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/mariok/archive/2011/01/05/deploying-java-applications-in-azure.aspx" title="http://blogs.msdn.com/b/mariok/archive/2011/01/05/deploying-java-applications-in-azure.aspx"&gt;http://blogs.msdn.com/b/mariok/archive/2011/01/05/deploying-java-applications-in-azure.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/dachou/archive/2010/03/21/run-java-with-jetty-in-windows-azure.aspx" title="http://blogs.msdn.com/b/dachou/archive/2010/03/21/run-java-with-jetty-in-windows-azure.aspx"&gt;http://blogs.msdn.com/b/dachou/archive/2010/03/21/run-java-with-jetty-in-windows-azure.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As Mario points out in his post, when you need to have more control over the process that starts, it generally is better left to a RoleEntryPoint capability that as of now, requires the use of a CLR based assembly that is deployed as part of the package to Azure.&lt;/p&gt;
&lt;p&gt;There were things I liked especially about Mario’s post – specifically, the ability to pull down the JRE and Jetty runtimes at role startup and instantiate the process using the extracted bits.  The way Mario initialized the java process (and Jetty) was to take advantage of a role startup task configured as part of the service definition.  This is a great quick way to kick off processes or tasks prior to your role entry point.  However, if you need access to service configuration values or role events, that’s where RoleEntryPoint comes in.  For this PoC sample I moved the logic for retrieving the bits for the jre and jetty to the worker roles OnStart – in addition to moving the process kickoff to the OnStart method.  The Run method at this point is there to loop and just report the status of the java process. Beyond just making things more parameterized, both Mario’s and David’s articles still form the essence of the approach.&lt;/p&gt;</description></item><item><title>Azure VS Tools and SDK - systray already running…</title><link>https://www.cicoria.com/azure-vs-tools-and-sdk-systray-already-running/</link><pubDate>Wed, 02 Mar 2011 13:25:47 +0000</pubDate><guid>https://www.cicoria.com/azure-vs-tools-and-sdk-systray-already-running/</guid><description>&lt;p&gt;If you are getting a message when you start the Compute Emulator “Systray already running…” from within Visual Studio one fix is to check what the image name is loading is.&lt;/p&gt;
&lt;p&gt;For some reason, on 2 of my machines the image was loading with the 8.3 format.  This caused the logic in the VS tools to not find the process.&lt;/p&gt;
&lt;p&gt;So, to fix, I just did a little copy/rename magic.&lt;/p&gt;</description></item><item><title>SAML Request / Response decoding.</title><link>https://www.cicoria.com/saml-request-response-decoding/</link><pubDate>Sat, 29 Jan 2011 00:59:43 +0000</pubDate><guid>https://www.cicoria.com/saml-request-response-decoding/</guid><description>&lt;p&gt;When you’re working with Web SSO integration, sometimes it’s helpful to be able to decode the tokens that get passed around via the browser from the various participants in the trust – RP, STS, etc.&lt;/p&gt;
&lt;p&gt;With SAML tokens, sometimes they’re simply base64 encoded when they’re in the POST body; other times they’re part of the query string, which they end up being base64encoded, deflated, then Url encoded.&lt;/p&gt;
&lt;p&gt;I always end up putting together some simple tool that does this for me – so, this is an effort to make this more permanent.&lt;/p&gt;</description></item><item><title>ASP.NET MVC3, WebMatrix, NuGet, SQL Compact 4–all released…</title><link>https://www.cicoria.com/asp-net-mvc3-webmatrix-nuget-sql-compact-4all-released/</link><pubDate>Thu, 13 Jan 2011 06:20:01 +0000</pubDate><guid>https://www.cicoria.com/asp-net-mvc3-webmatrix-nuget-sql-compact-4all-released/</guid><description>&lt;p&gt;Along with the release of WebMatrix announced here..&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/webplatform/archive/2011/01/12/webmatrix-shipping-january-13-2011.aspx" title="http://blogs.msdn.com/b/webplatform/archive/2011/01/12/webmatrix-shipping-january-13-2011.aspx"&gt;http://blogs.msdn.com/b/webplatform/archive/2011/01/12/webmatrix-shipping-january-13-2011.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A slew of dependencies were released as well.  If you download WebMatrix, it will install these dependencies – also via a new release of the Web platform installer (3.0).&lt;/p&gt;
&lt;p&gt;You get IIS 7.5 Express for hosting the Web Matrix projects as well.&lt;/p&gt;
&lt;p&gt;And, to top it off – the Microsoft Web Deploy 2.0 tool…&lt;/p&gt;
&lt;p&gt;The ASP.NET updates include the Visual Studio 2010 tools updates, adding the MVC3 templates, and, under websites, adding a template for ASP.NET Web Site (Razor)&lt;/p&gt;</description></item><item><title>Certificate management for developers</title><link>https://www.cicoria.com/certificate-management-for-developers/</link><pubDate>Sat, 08 Jan 2011 01:52:56 +0000</pubDate><guid>https://www.cicoria.com/certificate-management-for-developers/</guid><description>&lt;p&gt;There’s no doubt that certificate management, when you haven’t futzed with it for some time, is a fun time…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.iamraf.net/"&gt;Raffaele Rialdi&lt;/a&gt; has the start of what looks like a promising tool to help manage the process of managing and deploying certificates for services (WCF) and a bunch of other tasks.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.iamraf.net/Tools/DeployManager-first-release-certificates-management" title="http://www.iamraf.net/Tools/DeployManager-first-release-certificates-management"&gt;http://www.iamraf.net/Tools/DeployManager-first-release-certificates-management&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ADFS v2 Rules Language–Great short video…</title><link>https://www.cicoria.com/adfs-v2-rules-languagegreat-short-video/</link><pubDate>Fri, 07 Jan 2011 08:21:24 +0000</pubDate><guid>https://www.cicoria.com/adfs-v2-rules-languagegreat-short-video/</guid><description>&lt;p&gt;The following video does a great overview of the rule language in ADFS v2.  Just 5 minutes to get you started…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=149156"&gt;&lt;img src="http://img.microsoft.com/showcase/Content/img/resx/en-US/installSL.gif" alt="Get Microsoft Silverlight"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://m.webtrends.com/dcsygm2gb10000kf9xm7kfvub_9p1t/njs.gif?dcsuri=/nojavascript&amp;amp;WT.js=No" alt="DCSIMG"&gt;&lt;/p&gt;</description></item><item><title>Are these 2 strings equal?</title><link>https://www.cicoria.com/are-these-2-strings-equal/</link><pubDate>Fri, 07 Jan 2011 08:03:18 +0000</pubDate><guid>https://www.cicoria.com/are-these-2-strings-equal/</guid><description>&lt;p&gt;I spent way too many hours on this one. I was going through full configuration of ADFS v2 with WCF active client scenarios and using self generated certificates, had all things lined up perfectly.  Using the certificate snap in I just copied the thumbprint into the IdentityModel section (trusted issuers) in my service config.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; one &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;‎ecb8fd950978d94ae21d4f073227fdc2718bdb96&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; two &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;ecb8fd950978d94ae21d4f073227fdc2718bdb96&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;What ended up is in the first, there’s a buried nonprintable series of characters (â€Ž – or E2 80 8E in 0x format).&lt;/p&gt;</description></item><item><title>Visual Studio 2010 Setup Projects and x64 Support</title><link>https://www.cicoria.com/visual-studio-2010-setup-projects-and-x64-support/</link><pubDate>Tue, 21 Dec 2010 14:24:59 +0000</pubDate><guid>https://www.cicoria.com/visual-studio-2010-setup-projects-and-x64-support/</guid><description>&lt;p&gt;I was taking the Windows Azure CmdLets project and getting it into an MSI just to make it easier to deploy in a nice package.  I ran into problems with the Setup project not being able to properly establish the right registry settings for an x64 environment.&lt;/p&gt;
&lt;p&gt;Even though you set the target platform on the Setup project to x64 the InstallUtil.lib that get’s run is still x86.  In order to have it work property, you need to follow the steps identified here:&lt;/p&gt;</description></item><item><title>One Reason to have a Facebook Identity</title><link>https://www.cicoria.com/one-reason-to-have-a-facebook-identity/</link><pubDate>Sun, 05 Dec 2010 01:05:00 +0000</pubDate><guid>https://www.cicoria.com/one-reason-to-have-a-facebook-identity/</guid><description>&lt;p&gt;Reading this article &lt;a href="http://www.nytimes.com/2010/12/05/us/05bully.html?_r=1&amp;amp;hp" title="http://www.nytimes.com/2010/12/05/us/05bully.html?_r=1&amp;amp;hp"&gt;http://www.nytimes.com/2010/12/05/us/05bully.html?_r=1&amp;amp;hp&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It’s clear that ensuring you “grab” your online “address” (Facebook page) and establish it as authoritative, before some other clown does is important.&lt;/p&gt;
&lt;p&gt;Once you have your kids (yourself) online, then you monitor.  Best you take the slot before somebody else does…&lt;/p&gt;</description></item><item><title>Extending SQL 2008 R2 Master Data Services (MDS) with IWorkflowTypeExtender</title><link>https://www.cicoria.com/extending-sql-2008-r2-master-data-services-mds-with-iworkflowtypeextender/</link><pubDate>Sun, 14 Nov 2010 08:57:30 +0000</pubDate><guid>https://www.cicoria.com/extending-sql-2008-r2-master-data-services-mds-with-iworkflowtypeextender/</guid><description>&lt;p&gt;During hierarchy changes, MDS provides some basic rules for validating hierarchy members against some logic that is defined in the model within the MDS interface or through the Services interface.  Behind the scenes, MDS is generating all sorts of T-SQL to ultimately enforce these rules.&lt;/p&gt;
&lt;p&gt;There is the ability to extend these rules with your own custom implementation if the configuration driven rules don’t suffice – either a SharePoint workflow or through custom CLR code packaged as an assembly.&lt;/p&gt;</description></item><item><title>Free ebook: Programming Windows Phone 7, by Charles Petzold</title><link>https://www.cicoria.com/free-ebook-programming-windows-phone-7-by-charles-petzold/</link><pubDate>Mon, 08 Nov 2010 23:39:43 +0000</pubDate><guid>https://www.cicoria.com/free-ebook-programming-windows-phone-7-by-charles-petzold/</guid><description>&lt;p&gt;How many of us cut our teeth with a Petzold book on Windows?  Gee, I still have an OS/2 book on Presentation Manager from Mr. Petzold – pre-warp.&lt;/p&gt;
&lt;p&gt;Well, MS Press has released his latest book in XPS/PDF form, along with the samples up on the MS Press site.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/microsoft_press/archive/2010/10/28/free-ebook-programming-windows-phone-7-by-charles-petzold.aspx"&gt;Free ebook: Programming Windows Phone 7, by Charles Petzold - Microsoft Press - Site Home - MSDN Blogs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/microsoft_press/archive/2010/10/28/free-ebook-programming-windows-phone-7-by-charles-petzold.aspx"&gt;&lt;img src="http://www.charlespetzold.com/phone/ProgWinPhone7.jpg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Note to self – cURL download utility…</title><link>https://www.cicoria.com/note-to-self-curl-download-utility/</link><pubDate>Fri, 08 Oct 2010 07:28:17 +0000</pubDate><guid>https://www.cicoria.com/note-to-self-curl-download-utility/</guid><description>&lt;p&gt;Time to time, we all need this capability.  I keep forgetting what the link/name of this tool is.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/CURL" title="http://en.wikipedia.org/wiki/CURL"&gt;http://en.wikipedia.org/wiki/CURL&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://curl.haxx.se/" title="http://curl.haxx.se/"&gt;http://curl.haxx.se/&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Really should have a custom error page regardless…</title><link>https://www.cicoria.com/really-should-have-a-custom-error-page-regardless/</link><pubDate>Sun, 19 Sep 2010 12:39:34 +0000</pubDate><guid>https://www.cicoria.com/really-should-have-a-custom-error-page-regardless/</guid><description>&lt;p&gt;Throughout the blogosphere there’s been reports of an issue with ASP.NET that will bring a site to it’s knees – or so, it’s been overblown and reported as such.&lt;/p&gt;
&lt;p&gt;Microsoft has released an advisory &lt;a href="http://www.microsoft.com/technet/security/advisory/2416728.mspx"&gt;here&lt;/a&gt; that discusses the matter.&lt;/p&gt;
&lt;p&gt;The workaround for now is something that any public website should’ve been doing anyway.  That is, implement a custom error handling page and suppress revealing detailed errors.  This is a normal part of a security audit and if you follow the STRIDE threat modeling you should have this as part of your checklist of things that you should ensure your following.&lt;/p&gt;</description></item><item><title>Capturing Feedback in IE9</title><link>https://www.cicoria.com/capturing-feedback-in-ie9/</link><pubDate>Fri, 17 Sep 2010 00:52:43 +0000</pubDate><guid>https://www.cicoria.com/capturing-feedback-in-ie9/</guid><description>&lt;p&gt;IE9 adds a nice feature - “Send Feedback” – which, helps you gather a report, even launches the “Problem Step Recorder” (PSR) tool that comes with Windows 7/2008R2 ***.   The PSR tool is also usable outside of this feedback and is an optional capture that can be added to the feedback report.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/56/metablogapi/3581.image_1A8D2B84.png"&gt;&lt;img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/56/metablogapi/4555.image_thumb_4E5521D5.png" alt="image" title="image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/56/metablogapi/1832.image_0D46A271.png"&gt;&lt;img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/56/metablogapi/2330.image_thumb_3DF9AA1C.png" alt="image" title="image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;*** &lt;a href="http://technet.microsoft.com/en-us/windows/dd320286.aspx"&gt;HOWTO: Problem Step Recorder&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Live Mesh – becoming Windows Live Mesh…</title><link>https://www.cicoria.com/live-mesh-becoming-windows-live-mesh/</link><pubDate>Mon, 13 Sep 2010 10:49:29 +0000</pubDate><guid>https://www.cicoria.com/live-mesh-becoming-windows-live-mesh/</guid><description>&lt;p&gt;Good to see it’s sticking around and most importantly, they’ve increased the initial 2 GB limit to match what we had on Live Mesh – 5 GB.&lt;/p&gt;
&lt;p&gt;I’ve been loving this tool since it came out and becoming one of those things I can’t do without.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://windowsteamblog.com/windows_live/b/windowslive/archive/2010/08/27/windows-live-sync-to-be-named-windows-live-mesh.aspx" title="http://windowsteamblog.com/windows_live/b/windowslive/archive/2010/08/27/windows-live-sync-to-be-named-windows-live-mesh.aspx"&gt;http://windowsteamblog.com/windows_live/b/windowslive/archive/2010/08/27/windows-live-sync-to-be-named-windows-live-mesh.aspx&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Making Web Client requests behave from .NET or in reality misbehave – ignoring Certificate Issues from HttpWebRequest</title><link>https://www.cicoria.com/making-web-client-requests-behave-from-net-or-in-reality-misbehave-ignoring-certificate-issues-from-httpwebrequest/</link><pubDate>Sun, 05 Sep 2010 04:39:14 +0000</pubDate><guid>https://www.cicoria.com/making-web-client-requests-behave-from-net-or-in-reality-misbehave-ignoring-certificate-issues-from-httpwebrequest/</guid><description>&lt;p&gt;Many times, especially during development, you could have certificates that are out of date, aren’t singed by any real authority (makecert, etc.), or even don’t match the host name that the request is issued against, but you want to test, etc.&lt;/p&gt;
&lt;p&gt;One example is if you want to run Fiddler to get a good over-the-wire trace of the HTTP traffic, when the endpoint is accessed over HTTPS.  With Fiddler, you can capture HTTPS traffic, only thing is, it sticks it’s own certificate in the chain which doesn&amp;rsquo;t match the DNS name of the host.  So, your HttpWebRequest call will fail regardless.&lt;/p&gt;</description></item><item><title>Federation Metadata Generation Tool</title><link>https://www.cicoria.com/federation-metadata-generation-tool/</link><pubDate>Wed, 18 Aug 2010 15:13:28 +0000</pubDate><guid>https://www.cicoria.com/federation-metadata-generation-tool/</guid><description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;Disclaimer: Use at your own risk – no warranties are granted or implied&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: this has been moved to Github here: &lt;a href="https://github.com/cicorias/federationmetadatagenerator"&gt;https://github.com/cicorias/federationmetadatagenerator&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you’ve worked with Windows Identity Foundation (WIF) without the help of ADFS 2.0, you’ll run into situations where you’ll need to potentially generate or regenerate the metadata used for federation.&lt;/p&gt;
&lt;p&gt;Additionally, while WIF supports SAML tokens, it doesn’t have support for SAML Passive Requestor protocol (urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST)  - you get that with ADFS 2.0.&lt;/p&gt;</description></item><item><title>Updated Visual Studio Performance Testing Quick Reference Guide (Version 3.5) Released</title><link>https://www.cicoria.com/updated-visual-studio-performance-testing-quick-reference-guide-version-3-5-released/</link><pubDate>Mon, 02 Aug 2010 03:48:06 +0000</pubDate><guid>https://www.cicoria.com/updated-visual-studio-performance-testing-quick-reference-guide-version-3-5-released/</guid><description>&lt;p&gt;Make sure, for today at least, you navigate to “Downloads” instead of using the quick link on the right side.&lt;/p&gt;
&lt;h3 id="summary"&gt;Summary&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;This document is a collection of items from public blog sites, Microsoft® internal discussion aliases (sanitized) and experiences from various Test Consultants in the Microsoft Services Labs. The idea is to provide quick reference points around various aspects of Microsoft Visual Studio® performance testing features that may not be covered in core documentation, or may not be easily understood. The different types of information cover:&lt;br&gt;
 How does this feature work under the covers?&lt;br&gt;
 How can I implement a workaround for this missing feature?&lt;br&gt;
 This is a known bug and here is a fix or workaround.&lt;br&gt;
 How do I troubleshoot issues I am having?&lt;/em&gt;&lt;/p&gt;</description></item><item><title>View Engine Razor – MVC 3 preview – and how to get it in WebMatrix…</title><link>https://www.cicoria.com/view-engine-razor-mvc-3-preview-and-how-to-get-it-in-webmatrix/</link><pubDate>Wed, 28 Jul 2010 01:45:43 +0000</pubDate><guid>https://www.cicoria.com/view-engine-razor-mvc-3-preview-and-how-to-get-it-in-webmatrix/</guid><description>&lt;p&gt;WebMatrix is back – sort of.  There used to be Web Matrix in the early days of ASP.NET.  Now, it’s back again, and it’s ready with some of the upcoming preview capabilities coming out – such as a view engine called Razor.&lt;/p&gt;
&lt;h3 id="aspnet-mvc-3-preview-1"&gt;ASP.NET MVC 3 Preview 1&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=cb42f741-8fb1-4f43-a5fa-812096f8d1e8&amp;amp;displaylang=en" title="http://www.microsoft.com/downloads/details.aspx?FamilyID=cb42f741-8fb1-4f43-a5fa-812096f8d1e8&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=cb42f741-8fb1-4f43-a5fa-812096f8d1e8&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="webmatrix"&gt;WebMatrix&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/web/webmatrix/" title="http://www.microsoft.com/web/webmatrix/"&gt;http://www.microsoft.com/web/webmatrix/&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="razor"&gt;Razor&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx" title="http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Visual Studio 2010 Architecture Tooling Guidance is published…</title><link>https://www.cicoria.com/visual-studio-2010-architecture-tooling-guidance-is-published/</link><pubDate>Sun, 27 Jun 2010 02:50:13 +0000</pubDate><guid>https://www.cicoria.com/visual-studio-2010-architecture-tooling-guidance-is-published/</guid><description>&lt;p&gt;Something that I had the privilege to review has been released.&lt;/p&gt;
&lt;p&gt;Willy-Peter Schaub goes into great detail about the release, along with links and summaries of all the other great VS ALM Rangers content.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/willy-peter_schaub/archive/2010/06/26/visual-studio-alm-rangers-architecture-guidance-gets-thumbs-up.aspx?wa=wsignin1.0" title="http://blogs.msdn.com/b/willy-peter_schaub/archive/2010/06/26/visual-studio-alm-rangers-architecture-guidance-gets-thumbs-up.aspx?wa=wsignin1.0"&gt;http://blogs.msdn.com/b/willy-peter_schaub/archive/2010/06/26/visual-studio-alm-rangers-architecture-guidance-gets-thumbs-up.aspx?wa=wsignin1.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://vsarchitectureguide.codeplex.com/" title="http://vsarchitectureguide.codeplex.com/"&gt;http://vsarchitectureguide.codeplex.com/&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://vsarchitectureguide.codeplex.com/"&gt;Visual Studio 2010 Architecture Tooling Guidance&lt;/a&gt;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Practical guidance for Visual Studio 2010 Ultimate, focused on modelling tools. These release includes common usage scenarios, hands on labs and lessons learnt from the community discussions. The scenarios include understanding and reverse engineering an existing solution or starting a new solution from scratch. These are both common challenges that any dev lead or architect faces. The intent is not to give you an in-depth tour of the product features, but to present you with examples that show how these tools can support you in real world scenarios, and to provide you with practical guidance and checklists. This guidance is focused on practical ways of effectively using Visual Studio 2010 Ultimate and other tools to create a new or revised design as part of application lifecycle management.&lt;br&gt;
&lt;em&gt;The Rangers involved with this project are: &lt;a href="http://blogs.msdn.com/b/alan_cameron_wills/"&gt;Alan Wills&lt;/a&gt; (MSFT), Bijan Javidi (MSFT), Christof Sprenger (MSFT), &lt;a href="http://blogs.msdn.com/b/willy-peter_schaub/archive/2010/06/26/www.ClemensReijnen.nl"&gt;Clemens Reijnen&lt;/a&gt; (MVP), Clementino de Mendonca (MVP),&lt;/em&gt; &lt;a href="http://edwardbakker.nl/"&gt;&lt;em&gt;Edward Bakker&lt;/em&gt;&lt;/a&gt; &lt;em&gt;(MVP),&lt;/em&gt; &lt;a href="http://msmvps.com/blogs/ffagas"&gt;&lt;em&gt;Francisco Xavier Fagas Albarracín&lt;/em&gt;&lt;/a&gt; &lt;em&gt;(MVP),&lt;/em&gt; &lt;a href="http://blogs.infosupport.com/marcelv"&gt;&lt;em&gt;Marcel de Vries&lt;/em&gt;&lt;/a&gt; &lt;em&gt;(MVP), &lt;a href="http://blogs.msdn.com/b/mglehman/"&gt;Michael Lehman&lt;/a&gt; (MSFT), &lt;a href="http://blogs.msdn.com/b/randymiller/"&gt;Randy Miller&lt;/a&gt; (MSFT),&lt;/em&gt; &lt;a href="http://agilior.pt/blogs/tiago.pascoal"&gt;&lt;em&gt;Tiago Pascoal&lt;/em&gt;&lt;/a&gt; &lt;em&gt;(MVP), &lt;a href="http://blogs.msdn.com/b/willy-peter_schaub/"&gt;Willy-Peter Schaub&lt;/a&gt; (MSFT), &lt;a href="http://blogs.msdn.com/b/suhail/"&gt;Suhail Dutta&lt;/a&gt; (MSFT), David Trowbridge (MSFT),&lt;/em&gt; &lt;a href="http://hassanfad001.blogspot.com/"&gt;&lt;em&gt;Hassan Fadili&lt;/em&gt;&lt;/a&gt; &lt;em&gt;(MVP),&lt;/em&gt; &lt;a href="http://msmvps.com/blogs/molausson/"&gt;&lt;em&gt;Mathias Olausson&lt;/em&gt;&lt;/a&gt; &lt;em&gt;(MVP), &lt;a href="http://blogs.msdn.com/b/robsteel/"&gt;Rob Steel&lt;/a&gt; (MSFT) and &lt;a href="http://blogs.msdn.com/b/scicoria/"&gt;Shawn Cicoria&lt;/a&gt; (MSFT).&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Can’t see the AppFabric Directory on x64 systems…</title><link>https://www.cicoria.com/cant-see-the-appfabric-directory-on-x64-systems/</link><pubDate>Fri, 25 Jun 2010 11:13:29 +0000</pubDate><guid>https://www.cicoria.com/cant-see-the-appfabric-directory-on-x64-systems/</guid><description>&lt;p&gt;This is one I have to jot down.&lt;/p&gt;
&lt;p&gt;If you’re using tools like Reflector, or just want to open up any of the files in the c:\windows\system32\AppFabric directory, you’ll run into some issues – like, the tool that you’re using complaining that “can’t find c:\windows\system32\appfabric…”  errors.&lt;/p&gt;
&lt;p&gt;On x64 systems, you need to replace the path with:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;C:\Windows\SysNative\AppFabric
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This is the FileSystem redirector virtual path as described here: &lt;a href="http://msdn.microsoft.com/en-us/library/aa384187%28VS.85%29.aspx" title="http://msdn.microsoft.com/en-us/library/aa384187%28VS.85%29.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa384187%28VS.85%29.aspx&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The “Jersey Doesn't Stink” website – does it really need a site?</title><link>https://www.cicoria.com/the-jersey-doesnt-stink-website-does-it-really-need-a-site/</link><pubDate>Mon, 21 Jun 2010 10:46:22 +0000</pubDate><guid>https://www.cicoria.com/the-jersey-doesnt-stink-website-does-it-really-need-a-site/</guid><description>&lt;p&gt;I have to admit, been in Jersey all my life – and yes, it does stink – but probably no more than any other state.  Grass isn’t always greener – and yes, we do have grass in NJ.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jerseydoesntstink.com/"&gt;Jersey Doesn&amp;rsquo;t Stink&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Hyper-V Update List for Windows Server 2008 R2</title><link>https://www.cicoria.com/hyper-v-update-list-for-windows-server-2008-r2/</link><pubDate>Sat, 19 Jun 2010 01:05:19 +0000</pubDate><guid>https://www.cicoria.com/hyper-v-update-list-for-windows-server-2008-r2/</guid><description>&lt;p&gt;Anytime you’re running the Hyper-V role, is a good place to check for any updates that may be affecting either performance or basic troubleshooting.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/ff394763(WS.10).aspx"&gt;Hyper-V Update List for Windows Server 2008 R2&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Spaces in type attribute for Behavior Extension Configuration Issues</title><link>https://www.cicoria.com/spaces-in-type-attribute-for-behavior-extension-configuration-issues/</link><pubDate>Thu, 10 Jun 2010 13:03:42 +0000</pubDate><guid>https://www.cicoria.com/spaces-in-type-attribute-for-behavior-extension-configuration-issues/</guid><description>&lt;p&gt;If you’ve deployed your WCF Behavior Extension, and you get a Configuration Error, it might just be you’re lacking a space between your “Type” name and the “Assembly” name.&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll get the following error message:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Verify that the extension is registered in the extension collection at system.serviceModel/extensions/behaviorExtensions&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/56/metablogapi/4341.image_10708039.png"&gt;&lt;img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/56/metablogapi/6813.image_thumb_6C87A8DE.png" alt="image" title="image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So, if you’ve entered as below without&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;system.serviceModel&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;extensions&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;behaviorExtensions&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;add name=&amp;#34;appFabricE2E&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type=&amp;#34;Fabrikam.Services.AppFabricE2EBehaviorElement,Fabrikam.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null&amp;#34;/&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/behaviorExtensions&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/extensions&amp;gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The following will work – notice the additional space between the Type name and the Assembly name:&lt;/p&gt;</description></item><item><title>Using a WCF Message Inspector to extend AppFabric Monitoring</title><link>https://www.cicoria.com/using-a-wcf-message-inspector-to-extend-appfabric-monitoring/</link><pubDate>Thu, 10 Jun 2010 10:42:06 +0000</pubDate><guid>https://www.cicoria.com/using-a-wcf-message-inspector-to-extend-appfabric-monitoring/</guid><description>&lt;p&gt;I read through Ron Jacobs post on Monitoring WCF Data Services with AppFabric&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/endpoint/archive/2010/06/09/tracking-wcf-data-services-with-windows-server-appfabric.aspx" title="http://blogs.msdn.com/b/endpoint/archive/2010/06/09/tracking-wcf-data-services-with-windows-server-appfabric.aspx"&gt;http://blogs.msdn.com/b/endpoint/archive/2010/06/09/tracking-wcf-data-services-with-windows-server-appfabric.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What is immediately striking are 2 things – it’s so easy to get monitoring data into a viewer (AppFabric Dashboard) w/ very little work.  And the 2nd thing is, why can’t this be a WCF message inspector on the dispatch side.&lt;/p&gt;
&lt;p&gt;So, I took the base class &lt;strong&gt;WCFUserEventProvider&lt;/strong&gt; that’s located in the WCF/WF samples &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=35ec8682-d5fd-4bc3-a51a-d8ad115a8792&amp;amp;displaylang=en"&gt;[1]&lt;/a&gt; in the following path, \WF_WCF_Samples\WCF\Basic\Management\AnalyticTraceExtensibility\CS\WCFAnalyticTracingExtensibility\  and then created a few classes that project the injection as a IEndPointBehavior&lt;/p&gt;</description></item><item><title>AppFabric – where are all the monitoring events?</title><link>https://www.cicoria.com/appfabric-where-are-all-the-monitoring-events/</link><pubDate>Thu, 10 Jun 2010 10:28:37 +0000</pubDate><guid>https://www.cicoria.com/appfabric-where-are-all-the-monitoring-events/</guid><description>&lt;p&gt;When you’ve just gone through a setup of AppFabric and you’ve got some WF/WCF things happening, if you start looking at the Dashboard and you see nothing, it might be as simple as restarting SQL Agent.&lt;/p&gt;
&lt;p&gt;I generally don’t reboot my system for several days and after installing AppFabric the SQL Agent jobs didn’t start firing right away.  Yes, even running a boot to VHD, you can still put the machine to sleep (just logoff and click on Sleep)…&lt;/p&gt;</description></item><item><title>App_offline.htm and SharePoint and wholly contained images…</title><link>https://www.cicoria.com/app_offline-htm-and-sharepoint-and-wholly-contained-images/</link><pubDate>Tue, 08 Jun 2010 10:24:51 +0000</pubDate><guid>https://www.cicoria.com/app_offline-htm-and-sharepoint-and-wholly-contained-images/</guid><description>&lt;p&gt;The question came up today if we could use an “app_offline.htm” file along with HTML in that file that would reference images.&lt;/p&gt;
&lt;p&gt;First, I wasn’t 100% sure if the app_offline.htm would work, but it sure did.  Since it’s just the Asp.net hosting process that detects the file, it circumvents loading any HttpApplications (SharePoint) beyond just serving up the HTML content.&lt;/p&gt;
&lt;p&gt;The second question was about having something more than text, specifically &lt;img&gt; tags.  So, since the HttpHandlers are taking all requests for all resources through the Asp.net pipeline, as soon as the app_offline.htm file is there, nothing else will get served from within that web application.    Sure, we could host the file (images) outside the web app, but what fun would that be?&lt;/p&gt;</description></item><item><title>BizTalk 2009 Orchestration Fails to Find References on External Assemblies</title><link>https://www.cicoria.com/biztalk-2009-orchestration-fails-to-find-references-on-external-assemblies/</link><pubDate>Sun, 06 Jun 2010 12:10:12 +0000</pubDate><guid>https://www.cicoria.com/biztalk-2009-orchestration-fails-to-find-references-on-external-assemblies/</guid><description>&lt;p&gt;If you’re developing BizTalk 2009 solutions (Orchestrations) and you’ve split your schemas out into alternative assemblies (projects) – sometimes you’ll get odd not found issues with some (if not all) of the types in those referenced assemblies.  You can try everything – recompile, de-gac, re-gac, – doesn’t matter.&lt;/p&gt;
&lt;p&gt;Well there’s a hotfix for this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://support.microsoft.com/kb/977428/en-us" title="http://support.microsoft.com/kb/977428/en-us"&gt;http://support.microsoft.com/kb/977428/en-us&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;FIX: You experience various problems when you develop a BizTalk project that references another BizTalk project in Visual Studio on a computer that is running BizTalk Server 2009&lt;/p&gt;</description></item><item><title>Strings are UTF-16…. There is an error in XML document (1, 1).</title><link>https://www.cicoria.com/strings-are-utf-16-there-is-an-error-in-xml-document-1-1/</link><pubDate>Fri, 28 May 2010 10:36:23 +0000</pubDate><guid>https://www.cicoria.com/strings-are-utf-16-there-is-an-error-in-xml-document-1-1/</guid><description>&lt;p&gt;I had a situation today where an xml document had a directive indicating it was utf-8.  So, the code in question was reading in the “string” of that xml then attempting to de-serialize it using an Xsd generated type.&lt;/p&gt;
&lt;p&gt;What you end up with is an exception indicating that there’s an error in the Xml document at (1,1) or something to that effect.&lt;/p&gt;
&lt;p&gt;The fix is, run it through a memory stream – which reads the string, but at utf8 bytes – if you have things that fall outside of 8 bit chars, you’ll get an exception.&lt;/p&gt;</description></item><item><title>Need an ESB for Windows – Built on .NET</title><link>https://www.cicoria.com/need-an-esb-for-windows-built-on-net/</link><pubDate>Tue, 27 Apr 2010 01:02:14 +0000</pubDate><guid>https://www.cicoria.com/need-an-esb-for-windows-built-on-net/</guid><description>&lt;p&gt;Neudesic is offering up registered access to their ESB platform – Neuron.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.neuronesb.com/esb-download/neuron-esb-download-info.aspx"&gt;http://www.neuronesb.com/esb-download/neuron-esb-download-info.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;More information here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.neuronesb.com/" title="http://www.neuronesb.com/"&gt;http://www.neuronesb.com/&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Enterprise Library 5.0 Released…</title><link>https://www.cicoria.com/enterprise-library-5-0-released/</link><pubDate>Wed, 21 Apr 2010 02:01:02 +0000</pubDate><guid>https://www.cicoria.com/enterprise-library-5-0-released/</guid><description>&lt;p&gt;The announcement is up here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/agile/archive/2010/04/20/microsoft-enterprise-library-5-0-released.aspx" title="http://blogs.msdn.com/agile/archive/2010/04/20/microsoft-enterprise-library-5-0-released.aspx"&gt;http://blogs.msdn.com/agile/archive/2010/04/20/microsoft-enterprise-library-5-0-released.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Some of the things on the list of what’s new &amp;amp; improved&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Redesign of the configuration tool – heck, that thing looked the same since the bits were acquired from Avanade quite a while back – good to see the changes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Logging performance – this is has been 1 of the areas that we all need&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Configuration improvements: XSD enabled, intellisence (yeah!)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Oh, and .NET 4.0 support :)&lt;/p&gt;</description></item><item><title>Performance Testing – Quick Reference Guide – Released up on CodePlex</title><link>https://www.cicoria.com/performance-testing-quick-reference-guide-released-up-on-codeplex/</link><pubDate>Thu, 01 Apr 2010 07:36:05 +0000</pubDate><guid>https://www.cicoria.com/performance-testing-quick-reference-guide-released-up-on-codeplex/</guid><description>&lt;p&gt;Why performance test at all right?  Well, physics still plays a role in what we do.  Why not take a better look at your application – need help, well, the Rangers team just released the following to help:&lt;/p&gt;
&lt;p&gt;The following has both VS2008 &amp;amp; VS2010 content:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://vstt2008qrg.codeplex.com/" title="http://vstt2008qrg.codeplex.com/"&gt;http://vstt2008qrg.codeplex.com/&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="visual-studio-performance-testing-quick-reference-guide-version-20"&gt;Visual Studio Performance Testing Quick Reference Guide (Version 2.0)&lt;/h3&gt;
&lt;p&gt;The final released copy is here and ready for full time use. Please enjoy and post feedback on the discussion board.&lt;br&gt;
This document is a collection of items from public blog sites, Microsoft® internal discussion aliases (sanitized) and experiences from various Test Consultants in the Microsoft Services Labs. The idea is to provide quick reference points around various aspects of Microsoft Visual Studio® performance testing features that may not be covered in core documentation, or may not be easily understood. The different types of information cover:&lt;/p&gt;</description></item><item><title>Fixing my SQL Directory NTFS ACLS</title><link>https://www.cicoria.com/fixing-my-sql-directory-ntfs-acls/</link><pubDate>Fri, 12 Mar 2010 05:26:29 +0000</pubDate><guid>https://www.cicoria.com/fixing-my-sql-directory-ntfs-acls/</guid><description>&lt;p&gt;I run my development server by boot to VHD (Windows Server 2008 R2 x64).  In that instance, I also have an attached VHD (I attach via script at boot up time using Task Scheduler).  That VHD I have my SQL instances installed.&lt;/p&gt;
&lt;p&gt;So, the other day, acting hasty, I chmod my ACLS – wow, what a day after that.&lt;/p&gt;
&lt;p&gt;So, in order to fix it I created this set of BAT commands that resets it back to operational state – not 100% of all what you get, I also didn’t want to run a “repair” – but, all operational again.&lt;/p&gt;</description></item><item><title>Copying Properties between 2 Different Types…</title><link>https://www.cicoria.com/copying-properties-between-2-different-types/</link><pubDate>Thu, 11 Mar 2010 04:26:34 +0000</pubDate><guid>https://www.cicoria.com/copying-properties-between-2-different-types/</guid><description>&lt;p&gt;I’m not sure where I had seen some of this base code, but this comes up time &amp;amp; time again on projects.&lt;/p&gt;
&lt;p&gt;Here’s a little method that copies all the R/W properties (public) between 2 distinct class definitions:&lt;/p&gt;
&lt;p&gt;It’s called as follows:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;private &lt;span style="color:#66d9ef"&gt;static&lt;/span&gt; void Test1()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;MyClass obj1 &lt;span style="color:#f92672"&gt;=&lt;/span&gt; new MyClass()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Prop1 &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;one&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Prop2 &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;two&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Prop3 &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;100&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;MyOtherClass obj2 &lt;span style="color:#f92672"&gt;=&lt;/span&gt; null;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;obj2 &lt;span style="color:#f92672"&gt;=&lt;/span&gt; CopyClass&lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;myclass , MyOtherClass&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;(obj1);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Console&lt;span style="color:#f92672"&gt;.&lt;/span&gt;WriteLine(obj1); 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Console&lt;span style="color:#f92672"&gt;.&lt;/span&gt;WriteLine(obj2); 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;namespace Space1 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{ 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;public &lt;span style="color:#66d9ef"&gt;class&lt;/span&gt; MyClass 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{ 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;public string Prop1 { get; set; } 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;public string Prop2 { get; set; } 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;public &lt;span style="color:#a6e22e"&gt;int&lt;/span&gt; Prop3 { get; set; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;public override string ToString() 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{ 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; rv &lt;span style="color:#f92672"&gt;=&lt;/span&gt; string&lt;span style="color:#f92672"&gt;.&lt;/span&gt;Format(&lt;span style="color:#e6db74"&gt;&amp;#34;MyClass: {0} Prop2: {1} Prop3 {2}&amp;#34;&lt;/span&gt;, Prop1, Prop2, Prop3); 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; rv; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;namespace Space2 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{ 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;public &lt;span style="color:#66d9ef"&gt;class&lt;/span&gt; MyOtherClass 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{ 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;public string Prop1 { get; set; } 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;public string Prop2 { get; set; } 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;public &lt;span style="color:#a6e22e"&gt;int&lt;/span&gt; Prop3 { get; set; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;public override string ToString() 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{ 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; rv &lt;span style="color:#f92672"&gt;=&lt;/span&gt; string&lt;span style="color:#f92672"&gt;.&lt;/span&gt;Format(&lt;span style="color:#e6db74"&gt;&amp;#34;MyOtherClass: {0} Prop2: {1} Prop3 {2}&amp;#34;&lt;/span&gt;, Prop1, Prop2, Prop3); 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; rv; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Source of the method:&lt;/p&gt;</description></item><item><title>Need a simple LDAP server for Windows 7?</title><link>https://www.cicoria.com/need-a-simple-ldap-server-for-windows-7/</link><pubDate>Fri, 26 Feb 2010 09:02:14 +0000</pubDate><guid>https://www.cicoria.com/need-a-simple-ldap-server-for-windows-7/</guid><description>&lt;p&gt;Well, in the past we had ADAM – which has migrated to AD LDS for Windows – under Vista, we really only had a hack to get it (ADAM) running on Vista.&lt;/p&gt;
&lt;p&gt;Now, we have it for both Server and Client – and it’s known as Active Directory Lightweight Directory Services – aka LDAP!!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=a45059af-47a8-4c96-afe3-93dab7b5b658"&gt;Download details: AD LDS for Windows7&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Collapse Project as a Visual Studio AddIn.</title><link>https://www.cicoria.com/collapse-project-as-a-visual-studio-addin/</link><pubDate>Tue, 23 Feb 2010 08:40:59 +0000</pubDate><guid>https://www.cicoria.com/collapse-project-as-a-visual-studio-addin/</guid><description>&lt;p&gt;I’ve taken that macro that’s been passed around for years, and put it into a VS Addin.&lt;/p&gt;
&lt;p&gt;The following links for the full VS Solution and the MSI installer&lt;/p&gt;
&lt;p&gt;&lt;a href="http://cicoria.com/downloads/VsAuto/CollapseProjectsSln.zip" title="http://cicoria.com/downloads/VsAuto/CollapseProjectsSln.zip"&gt;http://cicoria.com/downloads/VsAuto/CollapseProjectsSln.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://cicoria.com/downloads/VsAuto/CollapseProjectsSetup7z.exe" title="http://cicoria.com/downloads/VsAuto/CollapseProjectsSetup7z.exe"&gt;http://cicoria.com/downloads/VsAuto/CollapseProjectsSetup7z.exe&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Deployment of Resource files (*.resx) to App_GlobalResources under SharePoint</title><link>https://www.cicoria.com/deployment-of-resource-files-resx-to-app_globalresources-under-sharepoint/</link><pubDate>Sun, 31 Jan 2010 05:45:43 +0000</pubDate><guid>https://www.cicoria.com/deployment-of-resource-files-resx-to-app_globalresources-under-sharepoint/</guid><description>&lt;p&gt;This is a continuation from&lt;/p&gt;
&lt;p&gt;&lt;a href="http://cicoria.com/CS1/blogs/cedarlogic/archive/2010/01/31/deployment-of-theme-and-resource-files-via-feature-timer-jobs.aspx"&gt;Deployment of Theme and Resource files&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Resource File Deployment (Resx)&lt;/p&gt;
&lt;p&gt;The second item was deploying Resource files to the App_GlobalResource directory present as a subdirectory under each IIS site for each SharePoint Web Application zone. Remember that you can have multiple IIS Sites for each “Logical” SharePoint Web Application.&lt;/p&gt;
&lt;p&gt;The other requirement we had was that each Web Application needed to have its own set of resource files and were to be deployed and scoped as a Web Application feature.&lt;/p&gt;</description></item><item><title>Deployment of Theme and Resource files via Feature / Timer Jobs</title><link>https://www.cicoria.com/deployment-of-theme-and-resource-files-via-feature-timer-jobs/</link><pubDate>Sun, 31 Jan 2010 05:33:01 +0000</pubDate><guid>https://www.cicoria.com/deployment-of-theme-and-resource-files-via-feature-timer-jobs/</guid><description>&lt;p&gt;Recently, we had a deployment scenario where we needed to deploy a custom theme and some resource files (resx) to the Farm and the Web Application zones respectively.&lt;/p&gt;
&lt;h3 id="theme-deployment-via-feature--timer-job"&gt;Theme Deployment via Feature / Timer Job&lt;/h3&gt;
&lt;p&gt;For the first feature, deployment of a theme, we initially went down the path assuming that we could scope the feature at Farm, and SharePoint would call the FeatureInstalled method in our Feature Receiver. Unfortunately, this all worked in development on our single machine environments. When it came time to deploy to a multi-server SharePoint environment we found that the FeatureInstalled event NEVER fired on all machines; however, the FeatureDeactivating and FeatureUninstalling fired every time when we de-activated/retracted the solution respectively. Even the FeatureActivated didn’t fire on all machines.&lt;/p&gt;</description></item><item><title>No, your local admin account is NOT a SQL sysadmin – automatically</title><link>https://www.cicoria.com/no-your-local-admin-account-is-not-a-sql-sysadmin-automatically/</link><pubDate>Mon, 25 Jan 2010 02:36:13 +0000</pubDate><guid>https://www.cicoria.com/no-your-local-admin-account-is-not-a-sql-sysadmin-automatically/</guid><description>&lt;p&gt;There have been many times that I’ve been handed a SQL instance that doesn’t allow me to do much with it even though the IT Admin for the machine have indicated they’ve done the install and your AD account is part of the Local Admin group.&lt;/p&gt;
&lt;p&gt;By default, in SQL 2008 local admin’s are not part of the sysadmin role – unless you’re running in single user mode.&lt;/p&gt;
&lt;p&gt;So, this article has a quick HOWTO on getting access back so you can go on your merry sysadmin way…&lt;/p&gt;</description></item><item><title>I’m with COCO….</title><link>https://www.cicoria.com/im-with-coco/</link><pubDate>Wed, 13 Jan 2010 10:32:42 +0000</pubDate><guid>https://www.cicoria.com/im-with-coco/</guid><description>&lt;p&gt;Definitely a surprise to hear that NBC would even consider all the late night shuffle after all the crap he’s had to wait for.  In support of Conan O’Brien…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.facebook.com/imwithcoco" title="http://www.facebook.com/imwithcoco"&gt;http://www.facebook.com/imwithcoco&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Don’t get caught with long Account Names!!</title><link>https://www.cicoria.com/dont-get-caught-with-long-account-names/</link><pubDate>Thu, 07 Jan 2010 01:27:22 +0000</pubDate><guid>https://www.cicoria.com/dont-get-caught-with-long-account-names/</guid><description>&lt;p&gt;This has bitten me a couple of times.&lt;/p&gt;
&lt;p&gt;This error surfaced yesterday when running a scripted install with psconfig.exe – the error that appears in the log is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;LookupAccountName failed to get the SID for account &lt;domain&gt;\LONG AC NAME &amp;gt; 20 chars&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When setting up SharePoint, we usually have a bunch of service accounts that generally are setup by different teams that manage the Active Directory accounts – well, that’s how it should work, but that’s another story.&lt;/p&gt;</description></item><item><title>What Identity with IIS7 and ApplicationPoolIdentity?</title><link>https://www.cicoria.com/what-identity-with-iis7-and-applicationpoolidentity/</link><pubDate>Thu, 24 Dec 2009 05:13:50 +0000</pubDate><guid>https://www.cicoria.com/what-identity-with-iis7-and-applicationpoolidentity/</guid><description>&lt;p&gt;With IIS7, we have a little bit more isolation with AppPool Identities&lt;/p&gt;
&lt;p&gt;For example, if you’re using the the DefaultAppPool, if you need to assign permissions to NTFS, SQL, etc., what you’d use instead is as follows:&lt;/p&gt;
&lt;p&gt;IIS APPPOOL\DefaultAppPool&lt;/p&gt;
&lt;p&gt;Where “DefaultAppPool” ends up being the name of your AppPool as shown in IIS Manager…&lt;/p&gt;
&lt;p&gt;That is if you’ve set the identity to the “ApplicationPoolIdentity” instead of something else, such as Network Service, Local System, or something other…&lt;/p&gt;</description></item><item><title>Wildcard Certificates and IIS7</title><link>https://www.cicoria.com/wildcard-certificates-and-iis7/</link><pubDate>Wed, 23 Dec 2009 08:29:30 +0000</pubDate><guid>https://www.cicoria.com/wildcard-certificates-and-iis7/</guid><description>&lt;p&gt;Let’s face it, during development, managing all the certificates if you’re doing anything with validating SSL/TLS traffic is a pain.&lt;/p&gt;
&lt;p&gt;Now with Windows Identity Foundation (fka Geneva) we really have to get crackin on getting used to managing certificates, setting up SSL sites, etc.&lt;/p&gt;
&lt;p&gt;So, here’s great post on setting up IIS7 to use wildcard certificates…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.mikeobrien.net/PermaLink,guid,12d9628c-a350-4f7b-a573-9d05429b54e8.aspx" title="http://blog.mikeobrien.net/PermaLink,guid,12d9628c-a350-4f7b-a573-9d05429b54e8.aspx"&gt;http://blog.mikeobrien.net/PermaLink,guid,12d9628c-a350-4f7b-a573-9d05429b54e8.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This gives you 1 certificate rooted at some common domain (eg.    mydev.local) where all sites would be site1.mydev.local, site2.mydev.local, etc.  The CN in the certificate ends up being *.mydev.local – just wire up in your hosts file (..\drivers\etc\hosts) and you’re golden…&lt;/p&gt;</description></item><item><title>Make sure you copy the correct web.config…</title><link>https://www.cicoria.com/make-sure-you-copy-the-correct-web-config/</link><pubDate>Wed, 16 Dec 2009 03:58:45 +0000</pubDate><guid>https://www.cicoria.com/make-sure-you-copy-the-correct-web-config/</guid><description>&lt;p&gt;During an installation issue, a client followed the TechNet article (&lt;a href="http://technet.microsoft.com/en-us/library/cc298447.aspx" title="http://technet.microsoft.com/en-us/library/cc298447.aspx"&gt;http://technet.microsoft.com/en-us/library/cc298447.aspx&lt;/a&gt;) and those instructions are misleading.&lt;/p&gt;
&lt;p&gt;It indicates to copy the “web.config” to the Layouts directory – what if fails to specify is it should be the “layoutsweb.config” file instead.&lt;/p&gt;
&lt;p&gt;While following the article does get you passed the issue that brought you there in the first place, you eventually end up with issues on provisioned sites that reference anything in _layouts are there are sections “&amp;lt;system.web&amp;gt;” that don’t make sense in a IIS path.&lt;/p&gt;</description></item><item><title>How did I miss this one – The VirtualPathUtility in ASP.NET</title><link>https://www.cicoria.com/how-did-i-miss-this-one-the-virtualpathutility-in-asp-net/</link><pubDate>Fri, 04 Dec 2009 05:11:21 +0000</pubDate><guid>https://www.cicoria.com/how-did-i-miss-this-one-the-virtualpathutility-in-asp-net/</guid><description>&lt;p&gt;I’ve been writing one off methods that apparently are handled quite well for a few things in the type System.Web.VirtualPathUtility.&lt;/p&gt;
&lt;p&gt;For example, if you just want the page name or the extension, you have this utility to quickly get that from the current request path.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.web.virtualpathutility.aspx" title="http://msdn.microsoft.com/en-us/library/system.web.virtualpathutility.aspx"&gt;http://msdn.microsoft.com/en-us/library/system.web.virtualpathutility.aspx&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Snip-IT Pro – manage all those little code snippets for re-use and sharing…</title><link>https://www.cicoria.com/snip-it-pro-manage-all-those-little-code-snippets-for-re-use-and-sharing/</link><pubDate>Mon, 30 Nov 2009 09:42:11 +0000</pubDate><guid>https://www.cicoria.com/snip-it-pro-manage-all-those-little-code-snippets-for-re-use-and-sharing/</guid><description>&lt;p&gt;An old colleague of mine from Avanade has apparently put out a very cool tool for managing re-usable “snippets” of code from a repository.  This is a tool that could be used every day, or even for demos…&lt;/p&gt;
&lt;p&gt;This is a smooth application that takes advantage of some the P&amp;amp;P smart client framework.  Quite a professional tool…&lt;/p&gt;
&lt;p&gt;The name of the tools is Snip-IT Pro&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.snipitpro.com/index.html" title="http://www.snipitpro.com/index.html"&gt;http://www.snipitpro.com/index.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It can also managed / retrieve snippets from a hosted service called &lt;a href="http://snipplr.com/" title="http://snipplr.com/"&gt;http://snipplr.com/&lt;/a&gt; along with&lt;/p&gt;</description></item><item><title>SharePoint 2010 and Claims Based Awareness</title><link>https://www.cicoria.com/sharepoint-2010-and-claims-based-awareness/</link><pubDate>Mon, 23 Nov 2009 03:51:37 +0000</pubDate><guid>https://www.cicoria.com/sharepoint-2010-and-claims-based-awareness/</guid><description>&lt;p&gt;The industry it moving towards identity standards, and with the recent release of Windows Identity Foundation (fka Geneva), and the beta of SharePoint 2010, it’s important to take a look at the direction of how identity is being normalized into a “service” within the SharePoint object model.&lt;/p&gt;
&lt;p&gt;With SPS 2010, the SPUser object is now a claims identity.  Identity management has been normalized to a approach that internally uses an STS that takes all “provider” or external STS identities, then creates a SPUser claims identity.  This can have implications for LOB application design.  Even Windows identities are presented within SPS as a claims identity after banging against the SP STS for claims transformation.&lt;/p&gt;</description></item><item><title>SharePoint 2007 and InfoPath 2010 Client – current install issues…</title><link>https://www.cicoria.com/sharepoint-2007-and-infopath-2010-client-current-install-issues/</link><pubDate>Tue, 17 Nov 2009 05:24:20 +0000</pubDate><guid>https://www.cicoria.com/sharepoint-2007-and-infopath-2010-client-current-install-issues/</guid><description>&lt;p&gt;Ok, I’ve been bitten twice in the past week on this.  If you have InfoPath 2010 Beta installed and you’ve also got SharePoint 2007 running, at least with the latest SP2 and October CU, you run into an issue that surfaces in the logs as follows&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;One or more types failed to load. Please refer to the upgrade log for more details&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When you pull that log apart, you’ll see that it’s attempting to load a few types such as Microsoft.Office.InfoPath.Server.DocumentLifetime.XmlFormHost&amp;rsquo; from assembly &amp;lsquo;Microsoft.Office.InfoPath.Server.&lt;/p&gt;</description></item><item><title>Loopback Check on Windows 2008, etc.</title><link>https://www.cicoria.com/loopback-check-on-windows-2008-etc/</link><pubDate>Tue, 17 Nov 2009 05:21:38 +0000</pubDate><guid>https://www.cicoria.com/loopback-check-on-windows-2008-etc/</guid><description>&lt;p&gt;This KB article (&lt;a href="http://support.microsoft.com/kb/926642"&gt;KB926642&lt;/a&gt;) explains 2 methods for handling the scenarios that we as developers require for using a local machine for development.  My option has been, going forward, of being explicitly in the host names that my development machine will use.  From that article:&lt;/p&gt;
&lt;p&gt;Method 1 (recommended): Create the Local Security Authority host names that can be referenced in an NTLM authentication request&lt;/p&gt;
&lt;p&gt;To do this, follow these steps for all the nodes on the client computer:&lt;/p&gt;</description></item><item><title>Tongue in Cheek Geek Humor from the PDC</title><link>https://www.cicoria.com/tongue-in-cheek-geek-humor-from-the-pdc/</link><pubDate>Tue, 17 Nov 2009 00:37:15 +0000</pubDate><guid>https://www.cicoria.com/tongue-in-cheek-geek-humor-from-the-pdc/</guid><description>&lt;p&gt;An old colleague (&lt;a href="http://biffgaut.com/"&gt;Biff Gaut&lt;/a&gt;) of mine has a great daily newsletter from the PDC.  This is certainly targeted for those of us looking for a “light” look at all things new that come out of PDC, but at times very technical with a perspective from someone who has been in the industry for some time (20+ years), started off as a C or C++ developer (not sure how early as I started with C/ASM).&lt;/p&gt;</description></item><item><title>Cleanup your Features…</title><link>https://www.cicoria.com/cleanup-your-features/</link><pubDate>Wed, 11 Nov 2009 07:36:52 +0000</pubDate><guid>https://www.cicoria.com/cleanup-your-features/</guid><description>&lt;p&gt;Many times, your coding, etc. SharePoint features.  You’ll code something up, deploy, activate, etc.&lt;/p&gt;
&lt;p&gt;Using WSP builder, while a convenient tool, it also leaves some orphans around.  It forcibly deletes the solution leaving any place it’s activate with some “broken features”.&lt;/p&gt;
&lt;p&gt;Fortunately, there’s a tool to help you cleanup those orphans.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://featureadmin.codeplex.com/"&gt;http://featureadmin.codeplex.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/scicoria/WindowsLiveWriter/CleanupyourFeatures_DAE8/image_2.png"&gt;&lt;img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/scicoria/WindowsLiveWriter/CleanupyourFeatures_DAE8/image_thumb.png" alt="image" title="image"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Minor update to the WSS Command Prompt…</title><link>https://www.cicoria.com/minor-update-to-the-wss-command-prompt/</link><pubDate>Wed, 11 Nov 2009 06:59:32 +0000</pubDate><guid>https://www.cicoria.com/minor-update-to-the-wss-command-prompt/</guid><description>&lt;p&gt;Take the following and paste into a VBS file – then run.&lt;/p&gt;
&lt;p&gt;Still need to choose the Link, then set the “Run as administrator” when UAC is on…&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set Shell = CreateObject(&amp;#34;WScript.Shell&amp;#34;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set Env = Shell.Environment(&amp;#34;PROCESS&amp;#34;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;DesktopPath = Shell.SpecialFolders(&amp;#34;Desktop&amp;#34;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set link = Shell.CreateShortcut(DesktopPath &amp;amp; &amp;#34;\WSS CMD.lnk&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cssHive = Env(&amp;#34;CommonProgramFiles&amp;#34;) &amp;amp; &amp;#34;\Microsoft Shared\web server extensions\12&amp;#34; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;currentPath = RTrim(Replace(WScript.ScriptFullName, WScript.ScriptName, &amp;#34;&amp;#34;)) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;envBatFile = &amp;#34;setWssPath.cmd&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;CreateBatFile currentPath &amp;amp; setWssPath &amp;amp; envBatFile, cssHive
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;link.Arguments = &amp;#34;/k &amp;#34; &amp;amp; &amp;#34; &amp;#34; &amp;amp; Chr(34) &amp;amp; currentPath &amp;amp; envBatFile &amp;amp; Chr(34) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;link.Description = &amp;#34;WSS Command Prompt&amp;#34; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;link.HotKey = &amp;#34;CTRL+SHIFT+W&amp;#34; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;link.IconLocation = &amp;#34;%SystemRoot%\system32\SHELL32.dll,94&amp;#34; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;link.TargetPath = &amp;#34;%comspec%&amp;#34; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;link.WindowStyle = 1 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;link.WorkingDirectory = cssHive 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;link.Save 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Sub CreateBatFile(fileName, cssHive) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set fso = CreateObject(&amp;#34;Scripting.FileSystemObject&amp;#34;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set file = fso.CreateTextFile(fileName, True) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;file.WriteLine(&amp;#34;@SET PATH=%PATH%;&amp;#34; &amp;amp; cssHive &amp;amp; &amp;#34;\bin&amp;#34;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;file.WriteLine(&amp;#34;@ECHO WSS CMD Shell - Shawn Cicoria&amp;#34;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;file.WriteLine(&amp;#34;CD &amp;#34; &amp;amp; cssHive)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;End Sub
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>SharePoint 2010 Developer | Learn | Channel 9</title><link>https://www.cicoria.com/sharepoint-2010-developer-learn-channel-9/</link><pubDate>Wed, 11 Nov 2009 03:38:25 +0000</pubDate><guid>https://www.cicoria.com/sharepoint-2010-developer-learn-channel-9/</guid><description>&lt;p&gt;Ted Pattison and Andrew Connell have a bunch of Learning SharePoint 2010 content up on Channel 9.&lt;/p&gt;
&lt;p&gt;I can say, having attended Ted’s classes in the past, he’s one of the best to learn SharePoint development from.  He’s been at the forefront of getting to the reality of how to build things while working with the guidelines, rules, constraints of a “managed” platform such as SharePoint.&lt;/p&gt;
&lt;p&gt;If you get a chance take a look at these videos – even better, if you can attend in person, check out &lt;a href="http://www.criticalpathtraining.com/" title="http://www.criticalpathtraining.com/"&gt;http://www.criticalpathtraining.com/&lt;/a&gt; for classes.&lt;/p&gt;</description></item><item><title>TeamPrise acquired by Microsoft.</title><link>https://www.cicoria.com/teamprise-acquired-by-microsoft/</link><pubDate>Mon, 09 Nov 2009 03:34:56 +0000</pubDate><guid>https://www.cicoria.com/teamprise-acquired-by-microsoft/</guid><description>&lt;p&gt;TeamPrise – the cross platform “client” for TFS, with Eclipse support (plug-in), command line – has been acquired by Microsoft.&lt;/p&gt;
&lt;p&gt;So, we’ve been pushing folks to a 3rd parties to get back to the ALM Mothership – which is by far the best Enterprise class ALM platform that can scale from “1” person (see 2010 TFS) to thousands, geo-distributed – now, we can offer it direct resolving client’s concerns.&lt;/p&gt;
&lt;p&gt;Not that the SourceGear guys are of concern, they’ve been around for quite some time.&lt;/p&gt;</description></item><item><title>Making a Windows 7 bootable USB…</title><link>https://www.cicoria.com/making-a-windows-7-bootable-usb/</link><pubDate>Thu, 22 Oct 2009 03:37:19 +0000</pubDate><guid>https://www.cicoria.com/making-a-windows-7-bootable-usb/</guid><description>&lt;p&gt;This get’s even easier.  &lt;a href="http://store.microsoft.com"&gt;The Microsoft store&lt;/a&gt; has released a utility that will, from an ISO (eg. one you get from the Microsoft Store) create a bootable USB flash drive.&lt;/p&gt;
&lt;p&gt;The direct link is here to the description page&lt;/p&gt;
&lt;p&gt;&lt;a href="http://store.microsoft.com/Help/ISO-Tool" title="http://store.microsoft.com/Help/ISO-Tool"&gt;http://store.microsoft.com/Help/ISO-Tool&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Visual Web Part Designer in Visual Studio 2010</title><link>https://www.cicoria.com/visual-web-part-designer-in-visual-studio-2010/</link><pubDate>Sat, 03 Oct 2009 02:28:35 +0000</pubDate><guid>https://www.cicoria.com/visual-web-part-designer-in-visual-studio-2010/</guid><description>&lt;p&gt;In the October edition of MSDN Magazine, there’s a great article that does a quick rundown of building a component that can be surfaced as a Web Part via the Gallery and placed in Web Part zones on pages.&lt;/p&gt;
&lt;p&gt;The article by Steve Fox is here: &lt;a href="http://msdn.microsoft.com/en-us/magazine/ee309510.aspx"&gt;Steve Fox - Visual Studio 2010 Tools for SharePoint Development – MSDN Magazine October 2009&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There’s a couple very important aspect that might not be 100% clear from the title – 1st, you’re really visually designing a User Control (ASCX).  So, this is really just a “visual user control designer and web part cookbook combination deployment helper”…&lt;/p&gt;</description></item><item><title>Connecting to Verizon Wireless Broadband</title><link>https://www.cicoria.com/connecting-to-verizon-wireless-broadband/</link><pubDate>Thu, 13 Aug 2009 15:11:07 +0000</pubDate><guid>https://www.cicoria.com/connecting-to-verizon-wireless-broadband/</guid><description>&lt;p&gt;For some reason all of a sudden I started getting PPP errors during connection on VZW broadband on my Mobile phone.&lt;/p&gt;
&lt;p&gt;So, I had to re-initialize the connection on the phone.  This also works when tethering the phone and you don’t have to use the VZW software&lt;/p&gt;
&lt;p&gt;• Device: Smartphone wireless USB modem&lt;/p&gt;
&lt;p&gt;• Connection Name: [[whatever name you want]]&lt;/p&gt;
&lt;p&gt;• Number To Dial: #777&lt;/p&gt;
&lt;p&gt;• Connection Availability: Anyone&amp;rsquo;s Use&lt;/p&gt;</description></item><item><title>MSDN Library – Low Bandwidth Mode…</title><link>https://www.cicoria.com/msdn-library-low-bandwidth-mode/</link><pubDate>Thu, 28 May 2009 13:17:47 +0000</pubDate><guid>https://www.cicoria.com/msdn-library-low-bandwidth-mode/</guid><description>&lt;p&gt;If you’re needing access to MSDN library from a 3g tethered, or low bandwidth at a location, MSDN Library is now published in a mode that lowers the payload…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/default(loband).aspx" title="http://msdn.microsoft.com/en-us/library/default(loband).aspx"&gt;http://msdn.microsoft.com/en-us/library/default(loband).aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Much more detail on Scott Hanselman’s blog on the HOW…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.hanselman.com/blog/LowBandwidthViewAndOtherHiddenAndFutureFeaturesOfMSDN.aspx" title="http://www.hanselman.com/blog/LowBandwidthViewAndOtherHiddenAndFutureFeaturesOfMSDN.aspx"&gt;http://www.hanselman.com/blog/LowBandwidthViewAndOtherHiddenAndFutureFeaturesOfMSDN.aspx&lt;/a&gt;&lt;/p&gt;</description></item><item><title>This version of the enterprise library cannot be installed side by side with version 4.0 on x64</title><link>https://www.cicoria.com/this-version-of-the-enterprise-library-cannot-be-installed-side-by-side-with-version-4-0-on-x64/</link><pubDate>Fri, 22 May 2009 08:56:40 +0000</pubDate><guid>https://www.cicoria.com/this-version-of-the-enterprise-library-cannot-be-installed-side-by-side-with-version-4-0-on-x64/</guid><description>&lt;p&gt;When upgrading to Enterprise Library 4.1 on an x64 machine, even though you’ve run the 4.0 uninstaller, and even removed the registry key, you’ll still end up with an installer complaining that you can’t do side-by-side install.  The issue is the key is actually under the Wow node for x86 compatability – just remove this key…&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Enterprise Library v4
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Building a Mini URL Service – Part 2 – The Algorithm</title><link>https://www.cicoria.com/building-a-mini-url-service-part-2-the-algorithm/</link><pubDate>Tue, 05 May 2009 04:22:00 +0000</pubDate><guid>https://www.cicoria.com/building-a-mini-url-service-part-2-the-algorithm/</guid><description>&lt;p&gt;&lt;a href="http://cicoria.com/CS1/blogs/cedarlogic/archive/2009/05/04/building-a-mini-url-service-part-1.aspx"&gt;Part 1&lt;/a&gt; – Part 2&lt;/p&gt;
&lt;p&gt;The first order of business is what URL shortening approach should be used to take some very long URL, which in IE7 is limited to 2,083 characters (&lt;a href="http://support.microsoft.com/kb/208427"&gt;KB208427&lt;/a&gt;) and provide a nice compact link.&lt;/p&gt;
&lt;p&gt;The first part of the link (protocol + server + port) is generally controlled by what domain name you can get – for me, my little demo is &lt;a href="http://MyMiniUrl.net"&gt;http://MyMiniUrl.net&lt;/a&gt;. The rest of the URL – the path is something in your control.&lt;/p&gt;</description></item><item><title>Building a Mini URL Service – Part 1</title><link>https://www.cicoria.com/building-a-mini-url-service-part-1/</link><pubDate>Mon, 04 May 2009 10:23:00 +0000</pubDate><guid>https://www.cicoria.com/building-a-mini-url-service-part-1/</guid><description>&lt;p&gt;This set of posts is about a &amp;ldquo;Mini URL&amp;rdquo; service that I created initially to help provide a means to automate shortening of URL&amp;rsquo;s for sending in emails to users in SharePoint. If you&amp;rsquo;ve used SharePoint and at times you need to send a link to a List or Document item one way is to &amp;ldquo;right-click&amp;rdquo; the item (whether it&amp;rsquo;s a folder, list item, or document) then if it&amp;rsquo;s IE choose &amp;ldquo;Copy Shortcut&amp;rdquo;. You can then just past that into an email and send over to your recipient.&lt;/p&gt;</description></item><item><title>Making a Win7 Bootable USB device.</title><link>https://www.cicoria.com/making-a-win7-bootable-usb-device/</link><pubDate>Mon, 04 May 2009 02:21:04 +0000</pubDate><guid>https://www.cicoria.com/making-a-win7-bootable-usb-device/</guid><description>&lt;p&gt;I have an old Toshiba that has no optical drive.  To install Win7, I needed a bootable USB stick.  Here are the basic steps&lt;/p&gt;
&lt;ol start="0"&gt;
&lt;li&gt;
&lt;p&gt;Download Win7 &lt;a href="http://www.microsoft.com/windows/windows-7/" title="http://www.microsoft.com/windows/windows-7/"&gt;http://www.microsoft.com/windows/windows-7/&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Get a USB stick – need a 4 gig one here – the ISO is about 2.5 GIG&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Format the USB as NTFS (use quick – no need for sector check) – it MUST be NTFS&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run DISKPART from an elevated command prompt&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Make the new USB volume “ACTIVE”&lt;/p&gt;</description></item><item><title>Thanks Jukka – MOSS 2007 SP2 Upgrade Failure – Solution!</title><link>https://www.cicoria.com/thanks-jukka-moss-2007-sp2-upgrade-failure-solution/</link><pubDate>Thu, 30 Apr 2009 11:49:29 +0000</pubDate><guid>https://www.cicoria.com/thanks-jukka-moss-2007-sp2-upgrade-failure-solution/</guid><description>&lt;p&gt;During an upgrade, the psconfig command fails with&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Failed to upgrade SharePoint Products and Technologies.&lt;/p&gt;
&lt;p&gt;An exception of type Microsoft.SharePoint.Upgrade.SPUpgradeException was thrown.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Quick live search and I find on Jukka’s blog the answer:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/jukka/archive/2009/04/30/error-during-sharepoint-sp2-install.aspx" title="http://blogs.msdn.com/jukka/archive/2009/04/30/error-during-sharepoint-sp2-install.aspx"&gt;http://blogs.msdn.com/jukka/archive/2009/04/30/error-during-sharepoint-sp2-install.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Specifically, a feature was not installed, and quickly installing using the stsadm command Jukku provides, it then works…&lt;/p&gt;</description></item><item><title>Couple of Visio Links</title><link>https://www.cicoria.com/couple-of-visio-links/</link><pubDate>Sat, 04 Apr 2009 05:28:02 +0000</pubDate><guid>https://www.cicoria.com/couple-of-visio-links/</guid><description>&lt;p&gt;Visio is my primary diagramming tool.  I wanted to point out a couple of recent links I came accross that help in diagramming various things.&lt;/p&gt;
&lt;p&gt;The first are stencils that are used on MSDN and TechNet diagrams – these are a set of stencils that can be used in Visio just by adding the stencil to the list for your diagram.  Located here:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Visio stencils for IT Pro posters&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=08105458-1D92-44AD-B7E0-744AA853A7BF&amp;amp;displaylang=en" title="http://www.microsoft.com/downloads/details.aspx?familyid=08105458-1D92-44AD-B7E0-744AA853A7BF&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=08105458-1D92-44AD-B7E0-744AA853A7BF&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;</description></item><item><title>SharePoint Designer is now “Free”</title><link>https://www.cicoria.com/sharepoint-designer-is-now-free/</link><pubDate>Thu, 02 Apr 2009 04:37:42 +0000</pubDate><guid>https://www.cicoria.com/sharepoint-designer-is-now-free/</guid><description>&lt;p&gt;Get your copy now …&lt;/p&gt;
&lt;p&gt;Mentioned here: &lt;a href="http://office.microsoft.com/en-us/sharepointdesigner/FX100487631033.aspx" title="http://office.microsoft.com/en-us/sharepointdesigner/FX100487631033.aspx"&gt;http://office.microsoft.com/en-us/sharepointdesigner/FX100487631033.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Direct Link here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=baa3ad86-bfc1-4bd4-9812-d9e710d44f42" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=baa3ad86-bfc1-4bd4-9812-d9e710d44f42"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=baa3ad86-bfc1-4bd4-9812-d9e710d44f42&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Registration required…  Well, almost free&lt;/p&gt;</description></item><item><title>Kerberos Configuration Troubleshooting</title><link>https://www.cicoria.com/kerberos-configuration-troubleshooting/</link><pubDate>Thu, 26 Feb 2009 03:17:42 +0000</pubDate><guid>https://www.cicoria.com/kerberos-configuration-troubleshooting/</guid><description>&lt;p&gt;I wanted to post about one of the best tools I’ve found for getting Kerberos properly configured and in the process getting some great HOWTO information on Kerberos, how it works, etc.&lt;/p&gt;
&lt;p&gt;When working with SharePoint, and the plan is to have your site run under Kerberos, I recommend using this tool before actually provisioning the Web App.  You can do it later, but you’d have to “stop” the WSS provisioned Web App before using this tool.  Why?  Because the IIS site you use for testing must use the DNS name of the Web App – that ultimately is the key to Kerberos – getting all the SPN (servicePrincipalName) set for the right AD Principals.&lt;/p&gt;</description></item><item><title>SharePoint learning resources.</title><link>https://www.cicoria.com/sharepoint-learning-resources/</link><pubDate>Wed, 18 Feb 2009 16:44:04 +0000</pubDate><guid>https://www.cicoria.com/sharepoint-learning-resources/</guid><description>&lt;p&gt;Here are several links to some good resources:&lt;/p&gt;
&lt;p&gt;Sales&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/sharepointserver2007trainingcanada/archive/2009/02/10/sales-sharepoint-server-2007-training-resources.aspx"&gt;http://blogs.msdn.com/sharepointserver2007trainingcanada/archive/2009/02/10/sales-sharepoint-server-2007-training-resources.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Architect&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/sharepointserver2007trainingcanada/archive/2009/02/10/architect-sharepoint-server-2007-training-resources.aspx"&gt;http://blogs.msdn.com/sharepointserver2007trainingcanada/archive/2009/02/10/architect-sharepoint-server-2007-training-resources.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Developer&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/sharepointserver2007trainingcanada/archive/2009/02/10/developer-sharepoint-server-2007-training-resources.aspx"&gt;http://blogs.msdn.com/sharepointserver2007trainingcanada/archive/2009/02/10/developer-sharepoint-server-2007-training-resources.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Implementer&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/sharepointserver2007trainingcanada/archive/2009/02/10/implementer-sharepoint-server-2007-training-resources.aspx"&gt;http://blogs.msdn.com/sharepointserver2007trainingcanada/archive/2009/02/10/implementer-sharepoint-server-2007-training-resources.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And on Kirk Evan’s blog links to a whole bunch more…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/kaevans/archive/2009/02/17/free-sharepoint-developer-resources.aspx" title="http://blogs.msdn.com/kaevans/archive/2009/02/17/free-sharepoint-developer-resources.aspx"&gt;http://blogs.msdn.com/kaevans/archive/2009/02/17/free-sharepoint-developer-resources.aspx&lt;/a&gt;&lt;/p&gt;</description></item><item><title>SourceSafe in the Cloud – a second life for VSS</title><link>https://www.cicoria.com/sourcesafe-in-the-cloud-a-second-life-for-vss/</link><pubDate>Mon, 16 Feb 2009 15:22:26 +0000</pubDate><guid>https://www.cicoria.com/sourcesafe-in-the-cloud-a-second-life-for-vss/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;This post in no way endorses the use of Visual Source Safe, Mesh, or general supportability of this approach.  This is entirely at your own risk….&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Visual Source Safe (VSS) has been around for some time.  There have been a few 3rd parties, then Microsoft, that implemented some nice server side capabilities such as Source Off Site (SOS), VSSConnect, and now in VSS internet based access.&lt;/p&gt;
&lt;p&gt;The issue with the server approach is that all of these requires some process to be running and hosting some part of VSS all the time.&lt;/p&gt;</description></item><item><title>Try spending some time in the cloud…</title><link>https://www.cicoria.com/try-spending-some-time-in-the-cloud/</link><pubDate>Fri, 13 Feb 2009 03:59:43 +0000</pubDate><guid>https://www.cicoria.com/try-spending-some-time-in-the-cloud/</guid><description>&lt;p&gt;Cloud services that is.  Windows Azure, .NET Services, Live Services….&lt;/p&gt;
&lt;p&gt;If you looking for the spoon fed variety of information, a bunch of HOWTO vides have been released – see below.&lt;/p&gt;
&lt;p&gt;These are small little “nuggets” – like those MSDN Nuggets out of Microsoft UK.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/azure/dd464806.aspx"&gt;&lt;img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/scicoria/image_4EBE3A30.png" alt="image" title="image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="http://msdn.microsoft.com/en-us/azure/dd327648.aspx"&gt;&lt;strong&gt;Get Started Developing on Windows Azure?&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;If you’re a developer and you’re new to Windows Azure, start here! You’ll see what you need to download and install, and how to create a simple “Hello World” Windows Azure application.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="http://msdn.microsoft.com/en-us/azure/dd327644.aspx"&gt;&lt;strong&gt;Deploy a Windows Azure Application&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;You’ll see what it takes to move your application into the cloud – you’ll see how to request and register a token, how to upload your Windows Azure application and how to move it between staging and production in the cloud.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/azure/dd327650.aspx"&gt;Store Blobs in Windows Azure Storage?&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Learn how to leverage Windows Azure storage to store data as blobs. You’ll learn about blob storage, containers and the API that makes it easy to manage everything from managed code.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/azure/dd464806.aspx"&gt;Leverage Queues in Windows Azure?&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Learn how to use queues to facilitate communication between Web and Worker roles in Windows Azure.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="http://msdn.microsoft.com/en-us/azure/dd464807.aspx"&gt;&lt;strong&gt;Debugging Tips for Windows Azure Applications&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;The Windows Azure SDK includes a development fabric that provides a &amp;ldquo;cloud on your desktop.&amp;rdquo; In this screencast, learn how to debug your Windows Azure applications in this environment.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/azure/dd441704.aspx"&gt;Get Started with .NET Services?&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;.NET Services are a set of highly scalable building blocks for programming in the cloud. In this brief screencast, you&amp;rsquo;ll learn about the registration process, the SDK and the built-in samples - everything you need to know in order to get started.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/azure/dd441706.aspx"&gt;Harness the Microsoft .NET Service Bus?&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;The .NET Service Bus makes it easy to access your Web services no matter where they are. In this brief screencast, you&amp;rsquo;ll see how to take a basic Windows Communication Foundation (WCF) service and expose it to the Internet with the .NET Service Bus.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/azure/dd425068.aspx"&gt;Get Started with the Live Framework?&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;If you are looking to get started developing with the Live Framework, this is the place to start! In this screencast you&amp;rsquo;ll learn how to get a Live Services token and what you need to download in order to start writing Live Framework applications.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/azure/dd441707.aspx"&gt;Use the Microsoft Live Framework Resource Browser?&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;The Live Framework Resource Model is a simple, straightforward information model based on entities, collections and relationships. In this brief screencast you&amp;rsquo;ll learn how to navigate the relationships between entities by using the Live Framework Resource Browser, which is a tool that ships with the Live Framework SDK.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Startup Delayer – Smoother Starts…</title><link>https://www.cicoria.com/startup-delayer-smoother-starts/</link><pubDate>Fri, 06 Feb 2009 04:44:34 +0000</pubDate><guid>https://www.cicoria.com/startup-delayer-smoother-starts/</guid><description>&lt;p&gt;I have to give a nod to &lt;a href="http://www.r2.com.au/software.php?page=2&amp;amp;show=startdelay"&gt;Startup Delayer from r2 Studios&lt;/a&gt;…&lt;/p&gt;
&lt;p&gt;This tool takes over the “timely” launching of all those startup programs that just seem to bog down a fresh boot.  Just not having all these programs competing for resources makes the process nicer.&lt;/p&gt;
&lt;p&gt;A few programs that I use that had issues at startup with System Tray icons just not appearing but the programs were running are no longer an issue.&lt;/p&gt;</description></item><item><title>Setting Navigation properties on a SharePoint (WSS) Site…</title><link>https://www.cicoria.com/setting-navigation-properties-on-a-sharepoint-wss-site/</link><pubDate>Sat, 24 Jan 2009 10:01:29 +0000</pubDate><guid>https://www.cicoria.com/setting-navigation-properties-on-a-sharepoint-wss-site/</guid><description>&lt;p&gt;Recently, I was going through setting up some sample navigation approaches for SharePoint.  The first step was in creating a bunch of Child Sites and some basic hierarchical structure. For that I used a great tool from &lt;a href="http://www.idevfactory.com/products/swat/default.aspx"&gt;IDevFactory called SWAT&lt;/a&gt; just to create some empty Team Sites.&lt;/p&gt;
&lt;p&gt;The one issue with that tool is it doesn’t allow setting a few options globally.&lt;/p&gt;
&lt;p&gt;What I wanted was to have under the Navigation options to have the “Show Subsites” enabled.  In addition to a few other navigation settings.  Just as shown below:&lt;/p&gt;</description></item><item><title>What’s my WSS/MOSS patch level?</title><link>https://www.cicoria.com/whats-my-wssmoss-patch-level/</link><pubDate>Fri, 16 Jan 2009 12:36:57 +0000</pubDate><guid>https://www.cicoria.com/whats-my-wssmoss-patch-level/</guid><description>&lt;p&gt;For a good list on what your current farm patch level is at check out the following post:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.mindsharpblogs.com/penny/articles/481.aspx" title="http://www.mindsharpblogs.com/penny/articles/481.aspx"&gt;http://www.mindsharpblogs.com/penny/articles/481.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Just navigate to Central Administration –&amp;gt; Servers in Farm and look at the version reported.&lt;/p&gt;</description></item><item><title>A little bit more on the issue with “Not enough storage is available to complete the operation”</title><link>https://www.cicoria.com/a-little-bit-more-on-the-issue-with-not-enough-storage-is-available-to-complete-the-operation/</link><pubDate>Fri, 16 Jan 2009 12:15:27 +0000</pubDate><guid>https://www.cicoria.com/a-little-bit-more-on-the-issue-with-not-enough-storage-is-available-to-complete-the-operation/</guid><description>&lt;p&gt;OK.  When the …\User Agent\Post Platform key (explained in the prior post) has too many items and the total length exceeds 260 characters, what happens is the javascript function windows.navigator.userAgent reports back as MSIE 6.0.&lt;/p&gt;
&lt;p&gt;As follows – using the &lt;a href="http://www.fiddlertool.com/ua.aspx" title="http://www.fiddlertool.com/ua.aspx"&gt;http://www.fiddlertool.com/ua.aspx&lt;/a&gt; test page:&lt;/p&gt;
&lt;h4 id="with-a-http_user_agent-string-exceeding-260-characters"&gt;With a HTTP_USER_AGENT string exceeding 260 characters:&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/scicoria/image_69269A91.png"&gt;&lt;img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/scicoria/image_thumb_34761889.png" alt="image" title="image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;getComponentVersion says you are running Internet Explorer 7,0,6001,18000.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;window.navigator.userAgent:&lt;/strong&gt; [Mozilla/4.0 (compatible; MSIE 6.0)]&lt;br&gt;
&lt;strong&gt;window.navigator.appMinorVersion:&lt;/strong&gt; [0]&lt;/p&gt;
&lt;h4 id="with-a-string-less-than-260-characters"&gt;With a string less than 260 characters&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/scicoria/image_048B50FB.png"&gt;&lt;img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/scicoria/image_thumb_254F13E2.png" alt="image" title="image"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Adding Web Parts via IE 7 and the “Not enough storage is available to complete this operation” javascript Error Message…</title><link>https://www.cicoria.com/adding-web-parts-via-ie-7-and-the-not-enough-storage-is-available-to-complete-this-operation-javascript-error-message/</link><pubDate>Thu, 15 Jan 2009 10:39:00 +0000</pubDate><guid>https://www.cicoria.com/adding-web-parts-via-ie-7-and-the-not-enough-storage-is-available-to-complete-this-operation-javascript-error-message/</guid><description>&lt;p&gt;Recently, installed a bunch of new Windows Live components such as Messenger, etc.&lt;/p&gt;
&lt;p&gt;That update extended my HTTP_USER_AGENT string to beyond 260 characters, which unfortunately IE then, when asked via javascript, reports itself back as IE 6 – this causes the Modal dialog boxes in SharePoint for things like adding web parts to zones to report a message that “Not enough storage is available to complete this operation”.&lt;/p&gt;
&lt;p&gt;So, since this is an x64 machine, I need to trim down the string which is taken from the following registry key:&lt;/p&gt;</description></item><item><title>Roger Lamb updates some guidance on SharePoint and Dispose…</title><link>https://www.cicoria.com/roger-lamb-updates-some-guidance-on-sharepoint-and-dispose/</link><pubDate>Wed, 14 Jan 2009 13:38:55 +0000</pubDate><guid>https://www.cicoria.com/roger-lamb-updates-some-guidance-on-sharepoint-and-dispose/</guid><description>&lt;p&gt;If you’re doing WSS/MOSS development then you need to understand the implications of when to Dispose and not Dispose of your objects from the SharePoint object model.  Roger Lamb has been keeping us all up to date and I’m sure there’s more forthcoming…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/rogerla/archive/2009/01/14/try-finally-using-sharepoint-dispose.aspx" title="http://blogs.msdn.com/rogerla/archive/2009/01/14/try-finally-using-sharepoint-dispose.aspx"&gt;http://blogs.msdn.com/rogerla/archive/2009/01/14/try-finally-using-sharepoint-dispose.aspx&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Welcomed updates to VSeWSS – now x64 support</title><link>https://www.cicoria.com/welcomed-updates-to-vsewss-now-x64-support/</link><pubDate>Tue, 13 Jan 2009 03:17:26 +0000</pubDate><guid>https://www.cicoria.com/welcomed-updates-to-vsewss-now-x64-support/</guid><description>&lt;p&gt;If you’ve been running x64 WSS/MOSS in development VSeWSS has been a challenge (wouldn’t install – albeit I believe the Bamboo solutions folks had some hack…)&lt;/p&gt;
&lt;p&gt;Now, the CTP of VSeWSS 1.3 has been announced&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/sharepoint/default.aspx"&gt;SharePoint Team Blog&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/sharepoint/archive/2009/01/12/announcing-community-technology-preview-of-visual-studio-2008-extensions-for-sharepoint-v1-3.aspx"&gt;CTP Preview of VSeWSS&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Key capabilities in 1.3&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The extensions now install on x64 bit OS. Visual Studio 2008 and SharePoint must be already installed.&lt;/li&gt;
&lt;li&gt;Command Line Build option for TFS and MSBuild integration&lt;/li&gt;
&lt;li&gt;Separate WSP Package and Retract commands. You can now build the WSP without deploying it&lt;/li&gt;
&lt;li&gt;SPSolGen to Support Exporting from Content Management Publishing Sites&lt;/li&gt;
&lt;li&gt;New Item Template for RootFiles Deployment&lt;/li&gt;
&lt;li&gt;Automatically Remove conflicting existing features on development SharePoint server&lt;/li&gt;
&lt;li&gt;WSP View New Feature Dialog Improvements: scope, receiver checkbox, element checkbox&lt;/li&gt;
&lt;li&gt;WSP View can now be used to merge features and it blocks site features being merged into web features&lt;/li&gt;
&lt;li&gt;Allow adding separate binary files such as Workflow assemblies&lt;/li&gt;
&lt;li&gt;Some refactoring allowing for Web Part renaming and removing lines from feature.xml Item Removed&lt;/li&gt;
&lt;li&gt;Allow selection of GAC or BIN deployment for Web Part Project not including CAS generation&lt;/li&gt;
&lt;li&gt;Increase visibility of hidden features that VSeWSS creates&lt;/li&gt;
&lt;li&gt;Add fast update deploy for DLL only or file only changes to solutions&lt;/li&gt;
&lt;li&gt;Numerous Bug Fixes and improvements to error messages&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Live Messenger and AVG (Grisoft) Anti-Virus Issue 8100030d</title><link>https://www.cicoria.com/live-messenger-and-avg-grisoft-anti-virus-issue-8100030d/</link><pubDate>Sat, 10 Jan 2009 03:51:16 +0000</pubDate><guid>https://www.cicoria.com/live-messenger-and-avg-grisoft-anti-virus-issue-8100030d/</guid><description>&lt;p&gt;If you’re running Grisoft AVG with Web Shield and trying the new Windows Live Messenger you might be experiencing connection issues.&lt;/p&gt;
&lt;p&gt;For me disabling the Web Shield MSN Messenger protection worked…&lt;/p&gt;</description></item><item><title>Emitting XML via LINQ</title><link>https://www.cicoria.com/emitting-xml-via-linq/</link><pubDate>Wed, 03 Dec 2008 02:49:42 +0000</pubDate><guid>https://www.cicoria.com/emitting-xml-via-linq/</guid><description>&lt;p&gt;Just posted about reading XML via LINQ. Now, this post is about the opposite direction - emitting XML from a collection. The simplicity of LINQ provides a straightforward interaction with XML makes LINQ to XML for me one of the easiest and most natural ways to interact with XML.&lt;/p&gt;
&lt;p&gt;The following emits a collection of objects out to an XElement (which can be streamed elsewhere as required.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;   35 Customer[] customers = new Customer[]{
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;   36    new Customer{
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;   37     firstName=&amp;#34;john&amp;#34;, lastName=&amp;#34;lennon&amp;#34;},
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;   38    new Customer{
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;   39       firstName=&amp;#34;ringo&amp;#34;, lastName=&amp;#34;starr&amp;#34;} };
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;   40 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;   41 XNamespace ns1 = &amp;#34;UGLY_NAMESPACE&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;   42 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;   43 XElement custs = new XElement(&amp;#34;myRoot&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;   44 from c in customers
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;   45  select new XElement(ns1 + &amp;#34;customer&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;   46   new XElement(ns1 + &amp;#34;firstName&amp;#34;, c.firstName),
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;   47   new XElement(ns1 + &amp;#34;lastName&amp;#34;, c.lastName)));
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This creates the following XML&lt;/p&gt;</description></item><item><title>LINQ to XML - retrieving Element values with varying namespaces...</title><link>https://www.cicoria.com/linq-to-xml-retrieving-element-values-with-varying-namespaces/</link><pubDate>Mon, 24 Nov 2008 14:07:37 +0000</pubDate><guid>https://www.cicoria.com/linq-to-xml-retrieving-element-values-with-varying-namespaces/</guid><description>&lt;p&gt;Recently I had to deal with some XML supplied to a development group that wasn&amp;rsquo;t the greatest in structure.  For one, there was inconsistent use of namespaces and each repeating element had the namespace duplicated.&lt;/p&gt;
&lt;p&gt;The goal was to retrieve from the XML various element values for a business object.&lt;/p&gt;
&lt;p&gt;So, using LINQ to XML, there&amp;rsquo;s some pretty neat ways to go about this.  The most succinct that I came up with is below - of course it could be tiny bit more succinct in terms of not using locally scoped variable names but it&amp;rsquo;s there for readability&lt;/p&gt;</description></item><item><title>PowerCommands 1.1 and disappearing Visual Studio 2008</title><link>https://www.cicoria.com/powercommands-1-1-and-disappearing-visual-studio-2008/</link><pubDate>Mon, 24 Nov 2008 11:39:31 +0000</pubDate><guid>https://www.cicoria.com/powercommands-1-1-and-disappearing-visual-studio-2008/</guid><description>&lt;p&gt;If youre running Visual Studio 2008 SP1 and you&amp;rsquo;re also a &lt;a href="http://code.msdn.microsoft.com/PowerCommands"&gt;PowerCommands&lt;/a&gt; fan you might run into the issue that VS just crashes with no exception box and only the following error in the Application event log:&lt;/p&gt;
&lt;p&gt;.NET Runtime version 2.0.50727.3053 - Fatal Execution Engine Error (000007FEF63D203F) (0)&lt;/p&gt;
&lt;p&gt;To correct, you need to have an assembly redirection put into the devenv.exe.config file (which .NET will use for configuration information while running in VS..&lt;/p&gt;</description></item><item><title>All this technology - where do I start!</title><link>https://www.cicoria.com/all-this-technology-where-do-i-start/</link><pubDate>Fri, 07 Nov 2008 12:53:16 +0000</pubDate><guid>https://www.cicoria.com/all-this-technology-where-do-i-start/</guid><description>&lt;p&gt;One this is for sure, there&amp;rsquo;s plenty of materials on getting ramped on the Microsoft stack.&lt;/p&gt;
&lt;p&gt;We now have up on the MSDN Ramp Up center tracks for SharePoint&amp;hellip;&lt;/p&gt;
&lt;p&gt;Check it out:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/rampup/default.aspx" title="http://msdn.microsoft.com/en-us/rampup/default.aspx"&gt;http://msdn.microsoft.com/en-us/rampup/default.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.MyRampUp.com"&gt;www.MyRampUp.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Installing WCF CTP Extensions with VS 2005 after .NET 3.0 service packs....</title><link>https://www.cicoria.com/installing-wcf-ctp-extensions-with-vs-2005-after-net-3-0-service-packs/</link><pubDate>Wed, 22 Oct 2008 12:48:31 +0000</pubDate><guid>https://www.cicoria.com/installing-wcf-ctp-extensions-with-vs-2005-after-net-3-0-service-packs/</guid><description>&lt;p&gt;If you&amp;rsquo;re installing Visual Studio 2005 and need the WCF CTP Extensions, BUT you&amp;rsquo;ve already installed .NET 3.0 with service packs, the installer fails.&lt;/p&gt;
&lt;p&gt;To override the check use the following:&lt;/p&gt;
&lt;p&gt;msiexec /i vsextwfx.msi WRC_INSTALLED_OVERRIDE=1&lt;/p&gt;</description></item><item><title>Daily PDC Newsletter...</title><link>https://www.cicoria.com/daily-pdc-newsletter/</link><pubDate>Mon, 13 Oct 2008 15:20:25 +0000</pubDate><guid>https://www.cicoria.com/daily-pdc-newsletter/</guid><description>&lt;p&gt;Biff Gaut is continuing his tradition of mixing humor with some good technical content as he attends the PDC.  Over the past several PDC&amp;rsquo;s, Biff has always been able to sprinkle his dry sense of humor into the mix of his daily reports on what he sees.&lt;/p&gt;
&lt;p&gt;Check it out here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.biffspdcnewsletter.com/" title="http://www.biffspdcnewsletter.com/"&gt;http://www.biffspdcnewsletter.com/&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Creating a WSS / MOSS Command Prompt on the Desktop</title><link>https://www.cicoria.com/creating-a-wss-moss-command-prompt-on-the-desktop/</link><pubDate>Thu, 24 Jul 2008 11:13:25 +0000</pubDate><guid>https://www.cicoria.com/creating-a-wss-moss-command-prompt-on-the-desktop/</guid><description>&lt;p&gt;&lt;strong&gt;UPDATED: 8/6/2008 - Minor issue on Path&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve built quite a few WSS / MOSS machines and one task that I always seem to do is create a simple CMD shell prompt on the desktop (quick launch, etc.) that gives me easy access to STSADM and has the path set correctly.  So in the interest of saving time I&amp;rsquo;ve created a simple VBScript file located &lt;a href="http://cicoria.com/downloads/WSS30/WssCmdShellTool.zip"&gt;here&lt;/a&gt; as well as the full listing below&lt;/p&gt;</description></item><item><title>Using Virtual.Server COM interfaces on an x64 Machine and Visual Studio</title><link>https://www.cicoria.com/using-virtual-server-com-interfaces-on-an-x64-machine-and-visual-studio/</link><pubDate>Tue, 15 Jul 2008 09:13:30 +0000</pubDate><guid>https://www.cicoria.com/using-virtual-server-com-interfaces-on-an-x64-machine-and-visual-studio/</guid><description>&lt;p&gt;Recently, I messed up a set of VHD files that were based upon differencing disks.  Basically, I killed the parent drive - so, any child drives are useless.&lt;/p&gt;
&lt;p&gt;So, how do you know which drives are differencing disks and what is their parent?&lt;/p&gt;
&lt;p&gt;One way is through the COM interfaces (that call into an out-of-process server).  Virtual Server must be installed and the service running for these interfaces to work.&lt;/p&gt;</description></item><item><title>Well, already messed up National Shutdown Day...</title><link>https://www.cicoria.com/well-already-messed-up-national-shutdown-day/</link><pubDate>Sat, 03 May 2008 03:36:00 +0000</pubDate><guid>https://www.cicoria.com/well-already-messed-up-national-shutdown-day/</guid><description>&lt;p&gt;I had heard on the radio a short blurb about &amp;ldquo;National Shutdown Day&amp;rdquo; being Saturday May 3rd (today).  Only problem is I didn&amp;rsquo;t hear about what we were shutting down.  I had initially thought it was something like &amp;ldquo;National Lights Out day&amp;rdquo; (which I also missed).&lt;/p&gt;
&lt;p&gt;So, today, I light up my computer and do a Live search on what it&amp;rsquo;s all about.  Well, I blew it.  It&amp;rsquo;s about turning off your computer for 1 day - as I&amp;rsquo;m reading that on my turned on computer (haven&amp;rsquo;t figure out how to use it w/ out the power on) and typing this and also checking weather, some blogs, and my calendar.&lt;/p&gt;</description></item><item><title>Learning LINQ - No excuses</title><link>https://www.cicoria.com/learning-linq-no-excuses/</link><pubDate>Thu, 13 Mar 2008 06:03:36 +0000</pubDate><guid>https://www.cicoria.com/learning-linq-no-excuses/</guid><description>&lt;p&gt;There are really a whole bunch of great resources out there that help the community get up &amp;amp; running with LINQ.&lt;/p&gt;
&lt;p&gt;Personally, with all the additional providers that I&amp;rsquo;ve seen (&lt;a href="http://oakleafblog.blogspot.com/2007/03/third-party-linq-providers.html"&gt;Qak Leaf List&lt;/a&gt;) - several of which I see great use for - &lt;a href="http://community.bartdesmet.net/blogs/bart/archive/2007/04/22/linq-to-sharepoint-0-1-2-0-alpha-release-available-now.aspx"&gt;LINQ to SharePoint&lt;/a&gt; and &lt;a href="http://community.bartdesmet.net/blogs/bart/archive/2007/04/05/the-iqueryable-tales-linq-to-ldap-part-0.aspx"&gt;LINQ to LDAP&lt;/a&gt; / &lt;a href="http://www.codeplex.com/LINQtoAD"&gt;LINQ for AD&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In regards to tools, LINQ Pad is the tool that allows you to toil with the syntax, etc.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.linqpad.net/"&gt;LINQ Pad&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ASP.NET - Mixing Forms Authentication and Basic Authentication...</title><link>https://www.cicoria.com/asp-net-mixing-forms-authentication-and-basic-authentication/</link><pubDate>Wed, 31 Dec 1969 19:00:00 +0000</pubDate><guid>https://www.cicoria.com/asp-net-mixing-forms-authentication-and-basic-authentication/</guid><description>&lt;p&gt;Recently, I was on a project that required access to both internal and external users.  The internal users identities are present in Active Directory.  The external users would not be.&lt;/p&gt;
&lt;p&gt;Now, SharePoint has the ability (WSS 3.0 and MOSS 2007) to provide access to a single Content Store / Site Structure with a mix of Authentication providers - such as Active Directory and the Membership Provider framework that is part of ASP.NET 2.0.  However, this was a straight ASP.NET 2.0 implementation.&lt;/p&gt;</description></item><item><title>Search</title><link>https://www.cicoria.com/search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.cicoria.com/search/</guid><description/></item></channel></rss>