<?xml version="1.0" encoding="UTF-8" ?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel><title>Chris Blank</title><description>Chris Blank Blog</description><link>https://chris-blank.de/</link><atom:link href="https://chris-blank.de/feed_rss_created.xml" rel="self" type="application/rss+xml" /><language>en</language> <pubDate>Thu, 08 May 2025 17:42:05 -0000</pubDate> <lastBuildDate>Thu, 08 May 2025 17:42:05 -0000</lastBuildDate> <ttl>1440</ttl> <generator>MkDocs RSS plugin - v1.17.1</generator> <image> <url>None</url> <title>Chris Blank</title><link>https://chris-blank.de/</link> </image> <item> <title>Splatting in PowerShell</title> <author>Chris Blank</author> <category>PowerShell</category> <description>&lt;h1&gt;Splatting in PowerShell&lt;/h1&gt;&lt;p&gt;PowerShell &#34;splatting&#34; is a technique that allows you to bundle command-line parameters - typically in a hashtable - so you can pass them as a group to a cmdlet. This practice results in cleaner, more readable, and easier-to-maintain scripts. In the world of Business Central automation and container management, using splatting makes it easier to work with long lists of parameters that Business Central PowerShell modules, like BcContainerHelper, require. It’s a game changer for those who build and manage large script files or even modules.&lt;/p&gt;</description><link>https://chris-blank.de/2025/05/08/splatting-in-powershell/</link> <pubDate>Thu, 08 May 2025 00:00:00 +0000</pubDate><source url="https://chris-blank.de/feed_rss_created.xml">Chris Blank</source><guid isPermaLink="true">https://chris-blank.de/2025/05/08/splatting-in-powershell/</guid> <enclosure url="https://chris-blank.de/assets/images/social/2025/05/08/splatting-in-powershell.png" type="image/png" length="None" /> </item> <item> <title>Isolated Storage is no guarantee of security</title> <author>Chris Blank</author> <category>AL</category> <description>&lt;h1&gt;Isolated Storage is no guarantee of security&lt;/h1&gt;&lt;p&gt;During code reviews and the analysis of partner apps, I have often noticed that centralized &#34;Isolated Storage Management” codeunits are created which have getter and setter procedures.This is certainly nice from a code structuring point of view, but from a security point of view it&#39;s a nightmare.&lt;/p&gt;&lt;p&gt;The AppSourceCop gives an indication of the security problem:&lt;/p&gt;&lt;p&gt;!!! quote &#34;AppSourceCop Warning AS0081 - InternalsVisibleTo should not be used as a security feature.&#34; The InternalsVisibleTo setting will expose your internal objects to any extension with the given name, publisher, and ID. Access modifiers are not designed to be used as a security boundary, but for API development.&lt;/p&gt;&lt;pre&gt;&lt;code&gt;[Source](https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0081#description)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This message is unfortunately ignored far too often, but it is really important!&lt;/p&gt;</description><link>https://chris-blank.de/2024/10/08/isolated-storage-is-no-guarantee-of-security/</link> <pubDate>Tue, 08 Oct 2024 00:00:00 +0000</pubDate><source url="https://chris-blank.de/feed_rss_created.xml">Chris Blank</source><guid isPermaLink="true">https://chris-blank.de/2024/10/08/isolated-storage-is-no-guarantee-of-security/</guid> <enclosure url="https://chris-blank.de/assets/images/social/2024/10/08/isolated-storage-is-no-guarantee-of-security.png" type="image/png" length="46817" /> </item> <item> <title>Using GitHub Codespaces for AL development</title> <author>Chris Blank</author> <category>DevOps</category> <description>&lt;h1&gt;Using GitHub Codespaces for AL development&lt;/h1&gt;&lt;p&gt;From an DevOps and develop experience (DX) point of view, the announcement that the Visual Studio Code extension for AL development now runs on linux (&lt;a href=&#34;https://learn.microsoft.com/en-us/dynamics365/release-plan/2023wave2/smb/dynamics365-business-central/use-al-language-extension-linux-preview&#34;&gt;src&lt;/a&gt;) was super exciting for me. At first glance this is not a great thing as most of us have little contact with ubuntu and its ilk in our professional lives.But the Linux support is the basis for remote development and GitHub Codespaces.&lt;/p&gt;</description><link>https://chris-blank.de/2023/10/30/using-github-codespaces-for-al-development/</link> <pubDate>Mon, 30 Oct 2023 00:00:00 +0000</pubDate><source url="https://chris-blank.de/feed_rss_created.xml">Chris Blank</source><guid isPermaLink="true">https://chris-blank.de/2023/10/30/using-github-codespaces-for-al-development/</guid> <enclosure url="https://chris-blank.de/assets/images/social/2023/10/30/using-github-codespaces-for-al-development.png" type="image/png" length="49265" /> </item> <item> <title>Hello World</title> <author>Chris Blank</author> <category>General</category> <description>&lt;h1&gt;Hello World&lt;/h1&gt;&lt;p&gt;After i have been thinking about it for a long time i have decided to start a blog.&lt;/p&gt;&lt;p&gt;Let me introduce myself and explain what to expect.&lt;/p&gt;</description><link>https://chris-blank.de/2023/10/23/hello-world/</link> <pubDate>Mon, 23 Oct 2023 00:00:00 +0000</pubDate><source url="https://chris-blank.de/feed_rss_created.xml">Chris Blank</source><guid isPermaLink="true">https://chris-blank.de/2023/10/23/hello-world/</guid> <enclosure url="https://chris-blank.de/assets/images/social/2023/10/23/hello-world.png" type="image/png" length="23634" /> </item> </channel></rss>