<?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>DEV Community: Noraa Junker</title>
    <description>The latest articles on DEV Community by Noraa Junker (@noraajunker).</description>
    <link>https://dev.to/noraajunker</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F506700%2Fc658ddb8-616b-4533-9997-9c135201c8ee.png</url>
      <title>DEV Community: Noraa Junker</title>
      <link>https://dev.to/noraajunker</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/noraajunker"/>
    <language>en</language>
    <item>
      <title>Overview over Microsoft's developer tools for Windows</title>
      <dc:creator>Noraa Junker</dc:creator>
      <pubDate>Thu, 18 Jan 2024 20:51:50 +0000</pubDate>
      <link>https://dev.to/noraajunker/overview-over-microsofts-developer-tools-for-windows-35b1</link>
      <guid>https://dev.to/noraajunker/overview-over-microsofts-developer-tools-for-windows-35b1</guid>
      <description>&lt;p&gt;If you just started programming on Windows this blog article might be interesting for you. I will give you an overview over the different tools Microsoft offers for developers. I will also give you some hints on how to get started with them. What this article won't cover are IDEs like Visual Studio or Visual Studio Code, as the article is more about helper tools.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source of the images used: Microsoft and Microsoft Learn&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Dev Home
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F33fryros5e2ivpsad7r1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F33fryros5e2ivpsad7r1.png" alt="Dev home Homepage" width="800" height="510"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/microsoft/DevHome" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/windows/dev-home/?wt.mc_id=studentamb_274787" rel="noopener noreferrer"&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aka.ms/devhome" rel="noopener noreferrer"&gt;Download&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To start I have to mention Dev Home. From here you can set up your development machine with the right tools, settings and repositories. You're also able to create a dashboard with different widgets that show you information about your development environment.&lt;/p&gt;

&lt;p&gt;As Dev Home is relatively new it's still in preview, but still there are already two extensions available for it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aka.ms/devhomegithubextension" rel="noopener noreferrer"&gt;Dev Home GitHub Extensions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aka.ms/devhomeazureextension" rel="noopener noreferrer"&gt;Dev Home Azure Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Microsoft PowerToys
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftcurssb3xu45hted48m6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftcurssb3xu45hted48m6.png" alt="PowerToys settings screen" width="800" height="811"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aka.ms/powertoys" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/windows/powertoys/?wt.mc_id=studentamb_274787" rel="noopener noreferrer"&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aka.ms/installpowertoys" rel="noopener noreferrer"&gt;Download&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On every developers PC Microsoft PowerToys should not be absent. PowerToys is a collection of tools that help you to be more productive. The tools are open source and can be found on &lt;a href="https://aka.ms/powertoys" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. Following an excerpt of my favorite tools (although all are great):&lt;/p&gt;

&lt;h3&gt;
  
  
  Always on Top
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frmnb6feifa673o87je36.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frmnb6feifa673o87je36.png" alt="A window that is on top of another window" width="400" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Always on Top allows you to pin a window onto the foreground, before any other windows. So even when it looses focus it will stay on top of all other windows.&lt;/p&gt;

&lt;h3&gt;
  
  
  Color Picker
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo6p5s0t9qniuh6xwj31k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo6p5s0t9qniuh6xwj31k.png" alt="The color picker tool" width="400" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Color Picker allows you to pick a color from your screen. It will show you the color code in many different formats, so you can easily use it in your code or your image editing software.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; You can create your own custom formats that meet your needs.&lt;/p&gt;

&lt;h3&gt;
  
  
  File Explorer Add-ons
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fstiqj8ixy9movn26yxag.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fstiqj8ixy9movn26yxag.png" alt="The file explorer add-ons showing a markdown preview in Windows Explorer" width="400" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;File Explorer Add-ons add a bunch of Thumbnail providers and Preview handlers to Windows Explorer. This allows you to see a preview of your markdown files, SVGs, source code files and many more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; In the settings for File Explorer Add-ons under "Source code files" you can activate "Try to format the source for preview". This will format JSON and XML files automatically in the preview window.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keyboard Manager
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd3iug42g6dyrbgjv33vf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd3iug42g6dyrbgjv33vf.png" alt="The keyboard manager tool settings" width="400" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Keyboard manager allows you to remap keys and shortcuts. From remapping Alt+R to Alt+Shift+R or even remapping to a sequence of characters like Ctrl+Alt+Shift+D to "Hello World" everything is possible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; I use this tool to remap Shift+F1 to F13, Shift+F2 to F14 and so on. This allows me to use the F13-F24 keys for shortcuts in my applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  PowerRename
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flearn.microsoft.com%2Fwindows%2Fimages%2Fpowerrename-demo.gif%3Fwt.mc_id%3Dstudentamb_274787" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flearn.microsoft.com%2Fwindows%2Fimages%2Fpowerrename-demo.gif%3Fwt.mc_id%3Dstudentamb_274787" alt="The PowerRename tool in action" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PowerRename allows you to rename multiple files at once. You can use regular expressions to find and replace text in the file names.&lt;/p&gt;

&lt;h3&gt;
  
  
  PowerToys Run
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvkqwd8tkv1xj4x78e6g1.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvkqwd8tkv1xj4x78e6g1.gif" alt="The PowerToys Run tool in action" width="760" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PowerToys Run is a tool that allows you to quickly search for applications, files, folders and many more (Check out all the plugins in the settings). You can also use it to quickly run commands or do quick calculations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quick Accent
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpmzr85d4ykmeylnh72bq.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpmzr85d4ykmeylnh72bq.gif" alt="The Quick Accent tool in action" width="1232" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As the last item on this list I want to mention Quick Accent. Quick Accent allows you to quickly insert special characters into your text by simply holding the key for the character you want to insert. For example if you want to insert an "ä" you simply hold the "a" key and select the "ä" from the popup with the arrow keys.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; If you hold shift plus a key you will get the uppercase version of the character.&lt;/p&gt;

&lt;h2&gt;
  
  
  Windows subsystem for Linux
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm2bphxutgerhk42j3sje.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm2bphxutgerhk42j3sje.png" alt="The Windows subsystem for Linux opened in Windows Terminal" width="800" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/windows/wsl/?wt.mc_id=studentamb_274787" rel="noopener noreferrer"&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/windows/wsl/installhttps://aka.ms/wslinstall?wt.mc_id=studentamb_274787" rel="noopener noreferrer"&gt;Installation guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Windows subsystem for Linux (WSL) allows you to use different linux distributions on your Windows PC.&lt;/p&gt;

&lt;p&gt;This means you don't longer need quirks to run Linux applications on Windows.&lt;/p&gt;

&lt;p&gt;Even GUI apps are supported.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7wno5au8pehyykos2d5k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7wno5au8pehyykos2d5k.png" alt="Different WSL GUI apps open" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; If WSL ever locks up you can force the termination of a distribution by running &lt;code&gt;wsl --terminate &amp;lt;distribution name&amp;gt;&lt;/code&gt; in PowerShell or the command line.&lt;/p&gt;

&lt;h3&gt;
  
  
  Windows subsystem for Android
&lt;/h3&gt;

&lt;p&gt;Also worth mentioning if you're developing Android apps is the Windows subsystem for Android. It allows you to run Android apps directly on your Windows PC.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/windows/android/wsa/?wt.mc_id=studentamb_274787" rel="noopener noreferrer"&gt;More information&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  WinGet
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/microsoft/winget-cli" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/windows/package-manager?wt.mc_id=studentamb_274787" rel="noopener noreferrer"&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;WinGet is a package manager for Windows, which comes pre-installed with Windows 11. It allows you to install applications from the command line. It's similar to apt-get on Linux.&lt;/p&gt;

&lt;p&gt;Just enter &lt;code&gt;winget install &amp;lt;package name&amp;gt;&lt;/code&gt; to install a package.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; You can also use WinGet to install and update applications from the Microsoft Store.&lt;/p&gt;

&lt;h2&gt;
  
  
  Windows Terminal
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/microsoft/terminal" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/windows/terminal/?wt.mc_id=studentamb_274787" rel="noopener noreferrer"&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aka.ms/terminal" rel="noopener noreferrer"&gt;Download&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As already seen in the screenshots in the WSL section Windows Terminal is a great tool to work with the command line. It allows you to open multiple tabs and panes and organize them at your needs. You can also customize the look of the terminal as you please.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tip 1:&lt;/strong&gt; In the settings add a shortcut for quake mode. This allows you to open a dockable terminal window with a shortcut from anywhere.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tip 2:&lt;/strong&gt; Use &lt;a href="https://ohmyposh.dev/" rel="noopener noreferrer"&gt;oh-my-posh&lt;/a&gt; to customize your terminal prompt and make working in your terminal even more fun.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing words
&lt;/h2&gt;

&lt;p&gt;Whether you're a beginner or an experienced developer,whether you use these tools or not, have fun developing on Windows! And make it your own! Please reach out to me on &lt;a href="https://x.com/theredcuber" rel="noopener noreferrer"&gt;X (Twitter)&lt;/a&gt; or per &lt;a href="//mailto:aaron.junker@outlook.com"&gt;email&lt;/a&gt; and let me know what tools you're using. I hope this article was helpful and you were able to learn something new.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Foreach loops on multidimensional arrays in PHP</title>
      <dc:creator>Noraa Junker</dc:creator>
      <pubDate>Sat, 12 Mar 2022 06:17:26 +0000</pubDate>
      <link>https://dev.to/noraajunker/foreach-loops-on-multidimensional-arrays-in-php-36gj</link>
      <guid>https://dev.to/noraajunker/foreach-loops-on-multidimensional-arrays-in-php-36gj</guid>
      <description>&lt;p&gt;&lt;small&gt;Inspired by &lt;a href="https://bit.ly/3psMXqD" rel="noopener noreferrer"&gt;https://bit.ly/3psMXqD&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;If you have a multidimensional array you don’t have to procced it like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
    &lt;span class="nv"&gt;$array&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"AA"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"AB"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
            &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"ACA"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"ACD"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"BA"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"BB"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
            &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"BCA"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"BCD"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"CA"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"CB"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
            &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"CCA"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"CCD"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;];&lt;/span&gt;

    &lt;span class="k"&gt;foreach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$array&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nv"&gt;$a&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
        &lt;span class="k"&gt;foreach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$a&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nv"&gt;$b&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;is_array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$b&lt;/span&gt;&lt;span class="p"&gt;)){&lt;/span&gt;
                &lt;span class="k"&gt;foreach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$b&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nv"&gt;$c&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
                    &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$c&lt;/span&gt;&lt;span class="s2"&gt; "&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
                &lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$b&lt;/span&gt;&lt;span class="s2"&gt; "&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can simply make it like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
    &lt;span class="nv"&gt;$array&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"AA"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"AB"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
            &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"ACA"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"ACD"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"BA"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"BB"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
            &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"BCA"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"BCD"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"CA"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"CB"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
            &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"CCA"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"CCD"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;];&lt;/span&gt;

    &lt;span class="k"&gt;foreach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$array&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="k"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$b&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$c&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$d&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$a&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$b&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$c&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$d&lt;/span&gt;&lt;span class="s2"&gt; "&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For every new dimension you just need to add a new dimension of the &lt;code&gt;list()&lt;/code&gt; function.&lt;/p&gt;

</description>
      <category>php</category>
    </item>
    <item>
      <title>Looping through letters and dates in PHP with the for loop</title>
      <dc:creator>Noraa Junker</dc:creator>
      <pubDate>Mon, 07 Mar 2022 16:58:41 +0000</pubDate>
      <link>https://dev.to/noraajunker/looping-through-letters-and-dates-in-php-with-the-for-loop-3a69</link>
      <guid>https://dev.to/noraajunker/looping-through-letters-and-dates-in-php-with-the-for-loop-3a69</guid>
      <description>&lt;p&gt;&lt;small&gt;Inspired by: &lt;a href="https://bit.ly/2ZmgKGT" rel="noopener noreferrer"&gt;https://bit.ly/2ZmgKGT&lt;/a&gt; and &lt;a href="https://bit.ly/3u7oSZO" rel="noopener noreferrer"&gt;https://bit.ly/3u7oSZO&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;Did you know that you can loop through letters in a &lt;code&gt;for&lt;/code&gt; loop? It’s simple as the example below shows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$char&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'A'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;$char&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="s1"&gt;'AA'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;$char&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
        &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$char&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;' '&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The result:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After Z it’s starting from AA to AZ to ZZ and then from AAA to AAZ to AZZ to BAA and so on.&lt;br&gt;
It can’t go before A. That means the following code just prints out a bunch of A's:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$char&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'A'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;$char&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="s1"&gt;'AA'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;$char&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
        &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$char&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;' '&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also loop through dates:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
    &lt;span class="nv"&gt;$start&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;strtotime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"2021-01-01"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nv"&gt;$end&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;strtotime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"2021-02-01"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nv"&gt;$count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;strtotime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"+2 day"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$date&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$date&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$satrt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;$date&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nv"&gt;$end&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;$date&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$count&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nb"&gt;date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Y-m-d"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$date&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s2"&gt;"&amp;lt;br /&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This example prints out every second date between the January 1st and February 1st.&lt;/p&gt;

</description>
      <category>php</category>
    </item>
    <item>
      <title>System32 Discovery #4 - The secret behind the System32 folder</title>
      <dc:creator>Noraa Junker</dc:creator>
      <pubDate>Sun, 06 Mar 2022 06:50:52 +0000</pubDate>
      <link>https://dev.to/aaronjunker/system32-discovery-4-the-secret-behind-the-system32-folder-ko2</link>
      <guid>https://dev.to/aaronjunker/system32-discovery-4-the-secret-behind-the-system32-folder-ko2</guid>
      <description>&lt;h2&gt;
  
  
  ⚠️ Warning!
&lt;/h2&gt;

&lt;p&gt;Messing around with system32 files without knowing what you’re doing can demage your system! The author doens’t take any responsibility for demaged systems and installations.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/CBbHzXyjxeo"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;You may know the System32 folder as the folder where all the system files are located. But that's not necessarily true. All these applications, dll files and other stuff are so called hard links.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a hard link?
&lt;/h2&gt;

&lt;p&gt;You surely know shortcuts in Windows. These can also be called soft links.  If you remove or rename a softlink file it will not have any affect on the other file. It's just a pointer to where the file is located.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bgimQf-L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/58633848/151668028-042092ed-dc14-4084-b0a4-a01e87835600.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bgimQf-L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/58633848/151668028-042092ed-dc14-4084-b0a4-a01e87835600.png" alt="softlink" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A hard link for comparsion is two times the same file, just at different location. If you rename the file on one end it will also get renamed on the other end.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r2AW7UK9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/58633848/151668027-75e0499f-b091-4a3f-892d-7fbb46624957.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r2AW7UK9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/58633848/151668027-75e0499f-b091-4a3f-892d-7fbb46624957.png" alt="hardlink" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why?
&lt;/h2&gt;

&lt;p&gt;So, why are these files all hardlinks?&lt;/p&gt;

&lt;p&gt;Because you can execute all the commands from this folder directly. You don't have to go first into the folder where they are really located and then execute &lt;code&gt;explorer&lt;/code&gt; &lt;code&gt;logonui&lt;/code&gt;, etc.&lt;/p&gt;

&lt;p&gt;With all these files in one folder it's easier to index them all.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where are they really?
&lt;/h2&gt;

&lt;p&gt;They are mostly in package folders in the &lt;code&gt;%windir%/WinSxS&lt;/code&gt; folder.&lt;/p&gt;

&lt;p&gt;The package name has the following pattern:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;[target platform]_([platform])_[name]_[id]_[version]_[language]_[hash]&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  [target platform]
&lt;/h3&gt;

&lt;p&gt;The targeted platform: x86, wow64, msil or amd64&lt;/p&gt;

&lt;h3&gt;
  
  
  [platform]
&lt;/h3&gt;

&lt;p&gt;Optional indicator of the platform. &lt;br&gt;
For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;system&lt;/li&gt;
&lt;li&gt;Microsoft-Windows&lt;/li&gt;
&lt;li&gt;bth&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  [name]
&lt;/h3&gt;

&lt;p&gt;The package name. If the name is too long &lt;code&gt;...&lt;/code&gt; will replace a part of the name.&lt;/p&gt;

&lt;p&gt;e.g.: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;basicrender.inf.resources&lt;/li&gt;
&lt;li&gt;s..store-adm.resources&lt;/li&gt;
&lt;li&gt;syncres.resources&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  [id]
&lt;/h3&gt;

&lt;p&gt;Unknown&lt;/p&gt;

&lt;h3&gt;
  
  
  [version]
&lt;/h3&gt;

&lt;p&gt;The version of the system&lt;/p&gt;

&lt;h3&gt;
  
  
  [language]
&lt;/h3&gt;

&lt;p&gt;The language of a package&lt;/p&gt;

&lt;h3&gt;
  
  
  [hash]
&lt;/h3&gt;

&lt;p&gt;Unknown&lt;/p&gt;

</description>
      <category>system32</category>
      <category>windows</category>
    </item>
    <item>
      <title>System32 Discovery #3 - System information</title>
      <dc:creator>Noraa Junker</dc:creator>
      <pubDate>Sun, 06 Mar 2022 06:46:52 +0000</pubDate>
      <link>https://dev.to/aaronjunker/system32-discovery-3-system-information-1ggh</link>
      <guid>https://dev.to/aaronjunker/system32-discovery-3-system-information-1ggh</guid>
      <description>&lt;div class="table-wrapper-paragraph"&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;b&gt;Application title&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;System Information&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;File name&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;msinfo32.exe&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;File name stands for&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;
&lt;b&gt;M&lt;/b&gt;icro&lt;b&gt;S&lt;/b&gt;oft &lt;b&gt;Info&lt;/b&gt;rmation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Syntax&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Msinfo32.exe [/?] [/nfo Path] [/report Path] [/computer ComputerName]&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Type&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Application/Console Application&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;File description&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;System Information&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;WinSxS package&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;md64_microsoft-windows-msinfo32-exe&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  ⚠️ Warning!
&lt;/h2&gt;

&lt;p&gt;Messing around with system32 files without knowing what you’re doing can demage your system! The author doens’t take any responsibility for demaged systems and installations.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/1hgELblNLsI"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;The system information displays information about the hardware, system drivers, the Windows installation and other things of your or a remote computer.&lt;/p&gt;

&lt;h2&gt;
  
  
  All categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;System Summary

&lt;ul&gt;
&lt;li&gt;Hardware Resources&lt;/li&gt;
&lt;li&gt;Conflicts/Sharing&lt;/li&gt;
&lt;li&gt;DMA&lt;/li&gt;
&lt;li&gt;Forced Hardware&lt;/li&gt;
&lt;li&gt;I/O&lt;/li&gt;
&lt;li&gt;IRQs&lt;/li&gt;
&lt;li&gt;Memory&lt;/li&gt;
&lt;li&gt;Components&lt;/li&gt;
&lt;li&gt;Multimedia

&lt;ul&gt;
&lt;li&gt;Audio Codecs&lt;/li&gt;
&lt;li&gt;Video Codecs&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;CD-ROM&lt;/li&gt;
&lt;li&gt;Sound Device&lt;/li&gt;
&lt;li&gt;Display&lt;/li&gt;
&lt;li&gt;Infrared&lt;/li&gt;
&lt;li&gt;Input

&lt;ul&gt;
&lt;li&gt;Keyboard&lt;/li&gt;
&lt;li&gt;Pointing Device&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Modem&lt;/li&gt;
&lt;li&gt;Network

&lt;ul&gt;
&lt;li&gt;Adapter&lt;/li&gt;
&lt;li&gt;Protocol&lt;/li&gt;
&lt;li&gt;WinSock&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Ports

&lt;ul&gt;
&lt;li&gt;Serial&lt;/li&gt;
&lt;li&gt;Parallel&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Storage

&lt;ul&gt;
&lt;li&gt;Drivers&lt;/li&gt;
&lt;li&gt;Disks&lt;/li&gt;
&lt;li&gt;SCSI&lt;/li&gt;
&lt;li&gt;IDE&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Printing&lt;/li&gt;
&lt;li&gt;Problem Devices&lt;/li&gt;
&lt;li&gt;USB&lt;/li&gt;
&lt;li&gt;Software Environment&lt;/li&gt;
&lt;li&gt;System Drivers&lt;/li&gt;
&lt;li&gt;Environment Variables&lt;/li&gt;
&lt;li&gt;Print Jobs&lt;/li&gt;
&lt;li&gt;Network Connections&lt;/li&gt;
&lt;li&gt;Running Tasks&lt;/li&gt;
&lt;li&gt;Loaded Modules&lt;/li&gt;
&lt;li&gt;Services&lt;/li&gt;
&lt;li&gt;Program Groups&lt;/li&gt;
&lt;li&gt;Start-up Programs&lt;/li&gt;
&lt;li&gt;OLE Registration&lt;/li&gt;
&lt;li&gt;Windows Error Reporting&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Arguments
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;/?&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Opens the help article to System Information: &lt;a href="https://support.microsoft.com/en-gb/topic/description-of-microsoft-system-information-msinfo32-exe-tool-10d335d8-5834-90b4-8452-42c58e61f9fc"&gt;https://support.microsoft.com/en-gb/topic/description-of-microsoft-system-information-msinfo32-exe-tool-10d335d8-5834-90b4-8452-42c58e61f9fc&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;/nfo Path&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Saves an nfo file to the specified path. If the path doesn't end with &lt;code&gt;.nfo&lt;/code&gt; it will be appendend.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;/report Path&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Saves an txt file to the specified path.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;/computer ComputerName&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Opens the system information for the specifid computer.&lt;/p&gt;

&lt;h2&gt;
  
  
  More Information
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://go.microsoft.com/fwlink/?LinkID=2100680"&gt;KB300887&lt;/a&gt;&lt;/p&gt;

</description>
      <category>system32</category>
      <category>windows</category>
    </item>
    <item>
      <title>How to send messages to the Office 365 Company portal</title>
      <dc:creator>Noraa Junker</dc:creator>
      <pubDate>Sat, 05 Mar 2022 06:35:28 +0000</pubDate>
      <link>https://dev.to/noraajunker/send-messages-to-the-office-365-company-portal-aon</link>
      <guid>https://dev.to/noraajunker/send-messages-to-the-office-365-company-portal-aon</guid>
      <description>&lt;p&gt;This blog post shows you how to the Office 365 company portal. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F58633848%2F156612073-18141321-6199-41ef-ab65-3ff7787fc724.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F58633848%2F156612073-18141321-6199-41ef-ab65-3ff7787fc724.jpeg" width="800" height="1712"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The steps for sending messages to Microsoft Intune are the same.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the Office 365 admin center.&lt;/li&gt;
&lt;li&gt;In the nav bar click on "show all".&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsmqtys5dv4c15d02s0n8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsmqtys5dv4c15d02s0n8.png" alt="image" width="304" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Then click on "Endpoint Manager".&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F45c5p9b0633hc1ez1qqy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F45c5p9b0633hc1ez1qqy.png" alt="image" width="266" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A new tab should open. There click on "Tenant administration".&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy67f5x8938w6i3yo889o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy67f5x8938w6i3yo889o.png" alt="image" width="800" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Then select "Custom notifications".&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2fcb42y1zt9g7jn1021n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2fcb42y1zt9g7jn1021n.png" alt="image" width="295" height="714"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Now you can set a title and the message you want to appear.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjph9slcwucavkrnh8kqo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjph9slcwucavkrnh8kqo.png" alt="image" width="783" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click on "Next".&lt;/li&gt;
&lt;li&gt;Now you can select the groups that this message should be send to. Just click on "Add groups", choose them and click on "select".&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh1yr7jd3lzi366ov2kjh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh1yr7jd3lzi366ov2kjh.png" alt="image" width="800" height="471"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Now you can click on "next", review your message and then select "create".&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After a few minutes a push notifications will appear on the devices connected to the company.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm67qbfh228r7p1358lul.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm67qbfh228r7p1358lul.png" alt="image" width="408" height="170"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  More informations
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://docs.microsoft.com/en-us/mem/intune/remote-actions/custom-notifications" rel="noopener noreferrer"&gt;On Microsoft Docs&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>office365</category>
      <category>azure</category>
      <category>endpointmanager</category>
    </item>
    <item>
      <title>Access overwritten built-in functions in PHP</title>
      <dc:creator>Noraa Junker</dc:creator>
      <pubDate>Tue, 01 Mar 2022 08:26:22 +0000</pubDate>
      <link>https://dev.to/noraajunker/access-overwritten-built-in-functions-5660</link>
      <guid>https://dev.to/noraajunker/access-overwritten-built-in-functions-5660</guid>
      <description>&lt;p&gt;PHP has many built in functions. Normally you can’t override them. The only exception: If you’re in another namespace. But how can you then access the real function again? Simply add a backslash before the functions name and the built-in function get called.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;  
    &lt;span class="kn"&gt;namespace&lt;/span&gt; &lt;span class="nn"&gt;test&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;phpversion&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s2"&gt;"Not the real phpversion"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nb"&gt;phpversion&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s2"&gt;"&amp;lt;br /&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nf"&gt;\phpversion&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s2"&gt;"&amp;lt;br /&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nb"&gt;phpversion&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s2"&gt;"&amp;lt;br /&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will output something like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Not the real phpversion&lt;br&gt;
8.0.0&lt;br&gt;
Not the real phpversion &lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>php</category>
    </item>
    <item>
      <title>Get temporary dictionary in PHP</title>
      <dc:creator>Noraa Junker</dc:creator>
      <pubDate>Sun, 27 Feb 2022 16:51:48 +0000</pubDate>
      <link>https://dev.to/noraajunker/get-temporary-dictionary-in-php-f9c</link>
      <guid>https://dev.to/noraajunker/get-temporary-dictionary-in-php-f9c</guid>
      <description>&lt;p&gt;&lt;small&gt;Inspired by: &lt;a href="https://bit.ly/2NaI8oN" rel="noopener noreferrer"&gt;https://bit.ly/2NaI8oN&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;If you want to get a temporary dictionary you could use &lt;code&gt;sys_get_temp_dir()&lt;/code&gt;. But this doesn’t guarantee that you have write access to this dictionary. So, you can also get the upload_tmp_dir property from the php.ini file.&lt;/p&gt;

&lt;p&gt;You can combine this for simplicity in a function:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
    &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;get_temp&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;&lt;span class="kt"&gt;string&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="c1"&gt;// Returns a temporary dictionary path.&lt;/span&gt;
        &lt;span class="c1"&gt;// When it can't find one, it returns false.&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;is_writable&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;sys_get_temp_dir&lt;/span&gt;&lt;span class="p"&gt;())){&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;sys_get_temp_dir&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="k"&gt;elseif&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;is_writable&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;ini_get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"upload_tmp_dir"&lt;/span&gt;&lt;span class="p"&gt;))){&lt;/span&gt;
             &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;ini_get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"upload_tmp_dir"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nf"&gt;get_temp&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or the short form:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
    &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;get_temp&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;&lt;span class="kt"&gt;string&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;bool&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;is_writable&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;sys_get_temp_dir&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="nb"&gt;sys_get_temp_dir&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;is_writable&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;ini_get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"upload_tmp_dir"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="nb"&gt;ini_get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"upload_tmp_dir"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>php</category>
    </item>
    <item>
      <title>How to buffer text to the client with PHP</title>
      <dc:creator>Noraa Junker</dc:creator>
      <pubDate>Sun, 27 Feb 2022 16:41:38 +0000</pubDate>
      <link>https://dev.to/noraajunker/how-to-buffer-text-to-the-client-with-php-2kdh</link>
      <guid>https://dev.to/noraajunker/how-to-buffer-text-to-the-client-with-php-2kdh</guid>
      <description>&lt;p&gt;When you look over the internet there are many people, who say it isn’t possible anymore to buffer text to the clients browser. Earlier it was possible, but not anymore. That’s not true. It’s just a bit more complicated.&lt;/p&gt;

&lt;p&gt;At the very beginning of the file (before doctype!) you have to set the following code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
    &lt;span class="nb"&gt;header&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Content-type: text/html; charset=utf-8'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nb"&gt;ini_set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'zlib.output_compression'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nb"&gt;ini_set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'implicit_flush'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nb"&gt;ob_end_clean&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="nb"&gt;set_time_limit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And now you can use &lt;code&gt;flush()&lt;/code&gt; every time you want to output something to the client. &lt;/p&gt;

&lt;p&gt;An example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
    &lt;span class="nb"&gt;header&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Content-type: text/html; charset=utf-8'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nb"&gt;ini_set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'zlib.output_compression'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nb"&gt;ini_set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'implicit_flush'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nb"&gt;ob_end_clean&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="nb"&gt;set_time_limit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Hello World&amp;lt;br /&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nb"&gt;flush&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="nb"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Hello World after 3 seconds"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nb"&gt;flush&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The client now sees &lt;code&gt;Hello World&lt;/code&gt; and after 3 seconds &lt;code&gt;Hello World after 3 seconds&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The best way is to simply write a new function that outputs a string and then instantly flushes.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
    &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;output&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$text&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
        &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$text&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nb"&gt;flush&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>php</category>
    </item>
    <item>
      <title>System32 Discovery #2 - Phone dialler</title>
      <dc:creator>Noraa Junker</dc:creator>
      <pubDate>Sat, 26 Feb 2022 19:05:54 +0000</pubDate>
      <link>https://dev.to/noraajunker/system32-discovery-2-phone-dialler-5fa9</link>
      <guid>https://dev.to/noraajunker/system32-discovery-2-phone-dialler-5fa9</guid>
      <description>&lt;div class="table-wrapper-paragraph"&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;b&gt;Application title&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Phone Dialler&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;File name&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;dialer.exe&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;File name stands for&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Dialer&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Syntax&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;dialer.exe&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Type&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Application&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;File description&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Microsoft Windows Phone Dialler&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Real path&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;%windir%\WinSxS\amd64_microsoft-windows-tapicore_31bf3856ad364e35_10.0.22526.1000_none_c511b7f7427de12a\dialer.exe&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  ⚠️ Warning!
&lt;/h2&gt;

&lt;p&gt;Messing around with system32 files without knowing what you’re doing can demage your system! The author doens’t take any responsibility for demaged systems and installations.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/video/4CS7MMSJAVw" rel="noopener noreferrer"&gt;Watch video!&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1fu8ec6huygbzjvrxhcu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1fu8ec6huygbzjvrxhcu.png" alt="image" width="293" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Windows Phone Dialler allows the user to create a connection over a dial-up connector to other phone numbers.&lt;/p&gt;

&lt;p&gt;It doesn't allow you to send or receive data, it just creates the connection.&lt;/p&gt;

&lt;h2&gt;
  
  
  Speed dial
&lt;/h2&gt;

&lt;p&gt;You can save up to 8 Speed dial numbers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F528ze562xpcobtq8meno.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F528ze562xpcobtq8meno.png" alt="image" width="250" height="313"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How to emulate a modem.
&lt;/h2&gt;

&lt;p&gt;I used the free trial version of &lt;a href="https://www.virtual-modem.com/" rel="noopener noreferrer"&gt;Virtual modem&lt;/a&gt; to simulate a modem.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmlnh8t8595h6vyhv2f52.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmlnh8t8595h6vyhv2f52.png" alt="image" width="399" height="546"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqnhvc57lasy4jfpu60x3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqnhvc57lasy4jfpu60x3.png" alt="image" width="393" height="255"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>system32</category>
      <category>windows</category>
    </item>
    <item>
      <title>System32 Discovery #1 - Bluetooth file transfer dialog</title>
      <dc:creator>Noraa Junker</dc:creator>
      <pubDate>Sat, 26 Feb 2022 19:01:14 +0000</pubDate>
      <link>https://dev.to/noraajunker/system32-discovery-1-bluetooth-file-transfer-dialog-47kh</link>
      <guid>https://dev.to/noraajunker/system32-discovery-1-bluetooth-file-transfer-dialog-47kh</guid>
      <description>&lt;div class="table-wrapper-paragraph"&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;b&gt;Application title&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Bluetooth file transfer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;File name&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;fsquirt.exe&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;File name stands for&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;
&lt;b&gt;F&lt;/b&gt;ile &lt;b&gt;Squirt&lt;/b&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Syntax&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;`fsquirt.exe [-send\&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Type&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Application&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;File description&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  ⚠️ Warning!
&lt;/h2&gt;

&lt;p&gt;Messing around with system32 files without knowing what you’re doing can demage your system! The author doens’t take any responsibility for demaged systems and installations.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/video/eO-mupe9oxE" rel="noopener noreferrer"&gt;Watch video!&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;The Bluetooth file transfer dialog allows you to transfer files over Bluetooth.&lt;/p&gt;

&lt;p&gt;The main entry point is a page wher you can select if you want to send or receive files:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fote5qlo9qopa2gqnzovg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fote5qlo9qopa2gqnzovg.png" alt="Main entrypoint" width="672" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Send files dialog:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0v242qxvmk4wurmpthx8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0v242qxvmk4wurmpthx8.png" alt="Select device dialog" width="672" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmo784k9e06smtmhxv8yv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmo784k9e06smtmhxv8yv.png" alt="Select file name dialog" width="672" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Receive files dialog:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcy9974y5g8emp9y0bc2p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcy9974y5g8emp9y0bc2p.png" alt="Waiting for a connection" width="672" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6hdi1pwc1ken1ubkvcng.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6hdi1pwc1ken1ubkvcng.png" alt="File gets received" width="672" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Arguments
&lt;/h2&gt;

&lt;h3&gt;
  
  
  {% raw %}&lt;code&gt;-send&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Opens directly the send files screen.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;-receive&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Opens directly the receive files screen.&lt;/p&gt;

&lt;h2&gt;
  
  
  More information
&lt;/h2&gt;

&lt;p&gt;You can find more information in the &lt;a href="https://docs.microsoft.com/en-us/windows-hardware/drivers/bluetooth/bluetooth-user-interface" rel="noopener noreferrer"&gt;Microsoft Docs&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>system32</category>
      <category>windows</category>
    </item>
    <item>
      <title>System32 Discovery #0 - Introduction</title>
      <dc:creator>Noraa Junker</dc:creator>
      <pubDate>Sat, 26 Feb 2022 18:59:21 +0000</pubDate>
      <link>https://dev.to/noraajunker/system32-discovery-0-introduction-765</link>
      <guid>https://dev.to/noraajunker/system32-discovery-0-introduction-765</guid>
      <description>&lt;h2&gt;
  
  
  ⚠️ Warning!
&lt;/h2&gt;

&lt;p&gt;Messing around with system32 files without knowing what you’re doing can demage your system! The author doens’t take any responsibility for demaged systems and installations.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/video/jR00xNtZHXQ" rel="noopener noreferrer"&gt;Watch video!&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction to the System32 Discovery series
&lt;/h2&gt;

&lt;p&gt;Welcome to this new blog/video series, where we will cover all the applications/dll's and other stuff inside the system32 folder of Windows.&lt;/p&gt;

&lt;p&gt;There will be no special order of the items we will cove. I hope I can with this series help people to discover sides of Windows they never knew existed.&lt;/p&gt;

&lt;p&gt;For every blog entry there will be a short video on &lt;a href="https://www.youtube.com/channel/UC4PrjxDrZ_PCqhnzBfjQxdQ" rel="noopener noreferrer"&gt;my channel&lt;/a&gt;. Please subscribe if you don't want to miss a part of this series.&lt;/p&gt;

&lt;p&gt;Feedback is more then welcome. If you have feedback let me know about it in the comments.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's the System32 folder
&lt;/h2&gt;

&lt;p&gt;The system 32 folder is located at &lt;code&gt;C:/Windows/System32&lt;/code&gt;. It contains many hard links to Windows System files like Notepad, Remote Desktop, Control Panel and much more.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to launch a System32 app
&lt;/h2&gt;

&lt;p&gt;You can use type the name in the conmmand line or the run dialog (win+r).&lt;/p&gt;

&lt;p&gt;For example you can launch Windows Explorer with the run dialog:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Focfccvcc4oze0pfn6hyq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Focfccvcc4oze0pfn6hyq.png" alt="Run dialog with Explorer.exe" width="399" height="206"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>windows</category>
      <category>system32</category>
    </item>
  </channel>
</rss>
