<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software</title>
	<atom:link href="https://www.project34.net/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.project34.net</link>
	<description></description>
	<lastBuildDate>Wed, 25 Feb 2026 08:04:54 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>New Debian installation</title>
		<link>https://www.project34.net/2026/02/24/new-debian-installation/</link>
		
		<dc:creator><![CDATA[Maikel]]></dc:creator>
		<pubDate>Tue, 24 Feb 2026 19:48:44 +0000</pubDate>
				<category><![CDATA[OS]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://www.project34.net/?p=680</guid>

					<description><![CDATA[Once in a while i switch from Windows to Linux (Debian mainly) and back again. Why? Mainly because I fucked my installation from Debian again and want the easy way out or the mess Windows has become has become anoying and i want to switch back to Linux. But i alway forget a list of&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Once in a while i switch from Windows to Linux (Debian mainly) and back again. Why? Mainly because I fucked my installation from Debian again and want the easy way out or the mess Windows has become has become anoying and i want to switch back to Linux.</p>



<p>But i alway forget a list of applications i default back to when i switch back to Debian, so here&#8217;s a list of stuff i install or configure (some applications i also use in windows) :</p>



<ul class="wp-block-list">
<li>Dash to Panel</li>



<li>gir1.2-gmenu-3.0 (or what ever version you need, you need this for arcmenu)</li>



<li>Extension manager</li>



<li>arcmenu</li>



<li>tilix</li>



<li>Steam (from steampowered, not the debian package)</li>



<li>Bambu Lab Studio</li>



<li>Discord</li>



<li>whatpulse
<ul class="wp-block-list">
<li>pcap <a href="https://github.com/whatpulse/linux-external-pcap-service" data-type="link" data-id="https://github.com/whatpulse/linux-external-pcap-service">https://github.com/whatpulse/linux-external-pcap-service</a></li>
</ul>
</li>



<li>Solaar</li>



<li>AppimageLauncher <a href="https://assassinate-you.net//tags/appimagelauncher/" data-type="link" data-id="https://assassinate-you.net//tags/appimagelauncher/">https://assassinate-you.net//tags/appimagelauncher/</a></li>



<li>AppIndicator and KStatusNotifierItem Support (Yes that&#8217;s the complete name)</li>



<li>git-all</li>



<li>filezilla</li>
</ul>



<p><strong>Adding my account to sudoer lis</strong>t</p>



<ul class="wp-block-list">
<li>Start terminal</li>



<li>Do &#8220;su -&#8220;</li>



<li>&#8220;adduser username sudo&#8221; (replace username by my account)</li>



<li>&#8220;chmod 0440 /etc/sudoers&#8221; </li>



<li>&#8220;usermod -aG sudo username&#8221;</li>



<li>&#8220;nano /etc/sudoers&#8221;
<ul class="wp-block-list">
<li>Beneath &#8220;<em>root ALL=(ALL:ALL) ALL</em>&#8221; add:</li>



<li>&#8220;username ALL=(ALL:ALL) ALL&#8221;</li>
</ul>
</li>



<li>Now start a new terminal and you should be able to do &#8220;sudo what ever&#8221; </li>
</ul>



<p><strong>Adding Visual Studio Code</strong></p>



<ul class="wp-block-list">
<li>Go to: <a href="https://code.visualstudio.com/docs/setup/linux#_install-vs-code-on-linux" data-type="link" data-id="https://code.visualstudio.com/docs/setup/linux">https://code.visualstudio.com/docs/setup/linux</a></li>



<li>Select the option at number 3, copy the line at number 1 and start a terminal window</li>



<li>Paste the info you just copied and press enter. Because the line wants to add a GPG key signed by microsoft to your repository you have to enter your password to approve.</li>



<li>Now enter the following command: &#8220;sudo nano /etc/apt/sources.list.d/vscode.sources&#8221; and enter the info under 3.2 and save the file (ctrl_+x &#8211; Y &#8211; Enter)</li>



<li>And execute everything under step 3.3</li>
</ul>



<p>After that Visual Studio Code is installed.</p>



<p><strong>Installation NVIDIA drivers:</strong></p>



<pre class="wp-block-preformatted has-small-font-size">$ wget https://developer.download.nvidia.com/compute/cuda/repos/debian13/x86_64/cuda-keyring_1.1-1_all.deb<br>$ sudo dpkg -i cuda-keyring_1.1-1_all.deb<br>$ sudo apt-get update<br>$ sudo apt-get -y install cuda-drivers<br>From: <a href="https://www.reddit.com/r/debian/comments/1jyzgrx/the_correct_way_to_install_newer_nvidia_drivers/" data-type="link" data-id="https://www.reddit.com/r/debian/comments/1jyzgrx/the_correct_way_to_install_newer_nvidia_drivers/">https://www.reddit.com/r/debian/comments/1jyzgrx/the_correct_way_to_install_newer_nvidia_drivers/</a></pre>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Coudn&#8217;t delete a folder because of 0x80004005 error</title>
		<link>https://www.project34.net/2025/12/17/coudnt-delete-a-folder-because-of-0x80004005-error/</link>
		
		<dc:creator><![CDATA[Maikel]]></dc:creator>
		<pubDate>Wed, 17 Dec 2025 22:29:11 +0000</pubDate>
				<category><![CDATA[OS]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://www.project34.net/?p=626</guid>

					<description><![CDATA[Problem:A couple of day&#8217;s back i couldn&#8217;t start my Seafile installation anymore. Although i&#8217;ve used Seafile for a while, i just couldn&#8217;t really get it working optimal.  After an export of all my data to an export directory and installing a new VM in Proxmox and installing Nextcloud in it i started transferring all the&#8230;]]></description>
										<content:encoded><![CDATA[<p><strong>Problem</strong>:<br />A couple of day&#8217;s back i couldn&#8217;t start my Seafile installation anymore. Although i&#8217;ve used Seafile for a while, i just couldn&#8217;t really get it working optimal. </p>
<p>After an export of all my data to an export directory and installing a new VM in Proxmox and installing Nextcloud in it i started transferring all the data to my PC using SSHFS. Also installed the Nextcloud client on my pc and copied the data from SSHFS to a Nextcloud directory, so the data would also be transferred to my Nextcloud server.</p>
<p>During the migration to the Nextcloud server the Nextcloud client gave a couple of errors that directories and files ended with a dot (.). The files were easily changed, The directories were an other issue. In File Explorer it just couldn&#8217;t rename the file, because it said it couldn&#8217;t find it, although i could select it and press F2 (rename). Requesting the security properties it even gave the following error:<br />&#8220;<strong>The requested security information is either unavailable or can&#8217;t be displayed</strong>&#8220;<br />The solution would be running checkdisk on the disk. I just couldn&#8217;t think of why it would be a disk issue. It&#8217;s was still possible, but it just wasn&#8217;t something i really thought that was the issue.</p>
<p>I read that when transferring from a Linux filesystem, sometimes Windows has no issues with creating the folder, but can&#8217;t read it somehow.</p>
<p><strong>Solution</strong>:</p>
<p>how to fix it, is a little bit &#8220;old school hardcore&#8221; command line, back to the old 8.3 file notation. Start a commandline in administrator mode, by clicking the start button and typing cmd. Before clicking enter click with the right mouse button on it. In the menu select &#8220;Run as administrator&#8221;. You probably get a new box to confirm if you want to run in as administrator, confirm this.</p>
<p>Now go to the directory with the offending directory. Now type &#8220;<em>dir /x</em>&#8221; and press enter. Then you will get a list of files and directories (directories are the old names of folders) in this directory. Scroll back to the offending directory:</p>
<p><a href="https://www.project34.net/wp-content/uploads/2025/12/Screenshot-2025-12-17-230313.png"><img decoding="async" class="size-full wp-image-627 alignleft" src="https://www.project34.net/wp-content/uploads/2025/12/Screenshot-2025-12-17-230313.png" alt="" width="441" height="22" srcset="https://www.project34.net/wp-content/uploads/2025/12/Screenshot-2025-12-17-230313.png 441w, https://www.project34.net/wp-content/uploads/2025/12/Screenshot-2025-12-17-230313-300x15.png 300w" sizes="(max-width: 441px) 100vw, 441px" /></a><br /><br /></p>
<p>As you can see the directory has the name in the old <a href="https://en.wikipedia.org/wiki/8.3_filename">8.3 standard</a> of PD9A2E~1. Copy that name and scroll back down.<br />Execute the following command:<br />&#8220;<em>ren PD9A2E~1 PD</em>&#8220;<br /><strong>ren</strong> is the command for rename, <strong><em>PD9A2E~1</em></strong> is the 8.3 name of the directory and <strong>PD</strong> is the new name. (Replace the PD9A2E~1 to your directory name and PD to your new directory name.)</p>
<p>Execute &#8220;dir /x&#8221; again:</p>
<p data-wp-editing="1"><a href="https://www.project34.net/wp-content/uploads/2025/12/Screenshot-2025-12-17-231444.png"><img decoding="async" class="size-full wp-image-629 alignleft" src="https://www.project34.net/wp-content/uploads/2025/12/Screenshot-2025-12-17-231444.png" alt="" width="442" height="20" srcset="https://www.project34.net/wp-content/uploads/2025/12/Screenshot-2025-12-17-231444.png 442w, https://www.project34.net/wp-content/uploads/2025/12/Screenshot-2025-12-17-231444-300x14.png 300w" sizes="(max-width: 442px) 100vw, 442px" /></a><br /><br />As you can see the 8.3 style name is removed (The name is now withing the 8.3 format). Now you can do what you want in the file explorer again.</p>
<p><strong>Update: <br /></strong>You can do the following:<br />&#8220;ren <em>PD9A2E~1</em> THIS_IS_A_VERY_IMPORTAND_OBJECT&#8221;. <br />So renaming it to an 8.3 object isn&#8217;t the solution to the problem. The dot after the object is the problem.</p>
<p> </p>
<p><strong>After thought</strong></p>
<p>The strange ting is the dot on the end. If i create a directory with the dot and nothing after it using file explorer, the dot is removed and the directory is created. Even on the command line the dot is removed and the directory is created (test12.3. is created as test12.3), so i think during the copy command (used robocopy) the dot after it, isn&#8217;t a real dot, but a special character. After the directory (or file) is created, windows handles it as a dot, but the character is something else. When windows tries to do something with the object it sees P.D. and thinks it says PdotDdot, and requests the info, but the files systems doesn&#8217;t see the object because in his administration (the filesystem has his own &#8220;administration&#8221;) can&#8217;t find the directory because in the administration the object is name PD9A2E~1.</p>


<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Python print stops printing</title>
		<link>https://www.project34.net/2025/09/25/python-print-stops-printing/</link>
		
		<dc:creator><![CDATA[Maikel]]></dc:creator>
		<pubDate>Thu, 25 Sep 2025 08:24:38 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[print]]></category>
		<guid isPermaLink="false">https://www.project34.net/?p=562</guid>

					<description><![CDATA[I&#8217;ve created a script that only prints a dot (.) when a process with a tag has been processed. For every process there can be a couple of hunderds of dots printed. I noticed that after a while the dot&#8217;s didn&#8217;t appear anymore. A bit of googling gave me the answer: End the print statement&#8230;]]></description>
										<content:encoded><![CDATA[
<p>I&#8217;ve created a script that only prints a dot (.) when a process with a tag has been processed. For every process there can be a couple of hunderds of dots printed. I noticed that after a while the dot&#8217;s didn&#8217;t appear anymore. </p>



<p>A bit of googling gave me the answer: <br>End the print statement with &#8220;, flush=True&#8221; and then the print command will output immediately. </p>



<p>So the command<br><code>print('.', end='')</code><br>needs to be changed to<br><code>print('.', end='', flush=True)</code></p>



<p>URL: <a href="https://stackoverflow.com/questions/25897335/why-doesnt-print-output-show-up-immediately-in-the-terminal-when-there-is-no-ne">https://stackoverflow.com/questions/25897335/why-doesnt-print-output-show-up-immediately-in-the-terminal-when-there-is-no-ne</a><br></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>It&#8217;s irfanview!!</title>
		<link>https://www.project34.net/2024/11/10/its-irfanview/</link>
		
		<dc:creator><![CDATA[Maikel]]></dc:creator>
		<pubDate>Sun, 10 Nov 2024 19:11:11 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://www.project34.net/?p=504</guid>

					<description><![CDATA[Note to myself! It&#8217;s irfanview. I keep on forgetting the (for me) simplest application to batch manipulate images.]]></description>
										<content:encoded><![CDATA[
<p>Note to myself! It&#8217;s <a href="https://www.irfanview.com/" data-type="link" data-id="https://www.irfanview.com/">irfanview</a>.</p>



<p>I keep on forgetting the (for me) simplest application to batch manipulate images.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Reading info of a mountpoint in a home folder of a user in CheckMK.</title>
		<link>https://www.project34.net/2024/11/03/reading-info-of-a-mountpoint-in-a-home-folder-of-a-user-in-checkmk/</link>
		
		<dc:creator><![CDATA[Maikel]]></dc:creator>
		<pubDate>Sun, 03 Nov 2024 16:50:44 +0000</pubDate>
				<category><![CDATA[CheckMK]]></category>
		<category><![CDATA[SNMP]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://www.project34.net/?p=502</guid>

					<description><![CDATA[I use CheckMK (CMK) for a while now. I find (if you only want to monitor stuff) zabbix and other tools a bit to complicated. With CMK is do an install of SNMPD on an vm, change a couple of values and voila, add the server to CMK and you can check the device. Now&#8230;]]></description>
										<content:encoded><![CDATA[
<p>I use CheckMK (CMK) for a while now. I find (if you only want to monitor stuff) zabbix and other tools a bit to complicated. With CMK is do an install of SNMPD on an vm, change a couple of values and voila, add the server to CMK and you can check the device.</p>



<p>Now i wanted to monitor my personal pc. Same trick: Install SNMPD, change the snmpd.conf file, add the pc to CMK and done! Well not really. One of my mounted disks wasn&#8217;t found. I could see it in snmpwalk, but it didn&#8217;t register in CMK. </p>



<p>The reason I added an separate disk below an user folder, was simple: My main root disk is an SSD and a lot of not frequently used data (games, scripts etc) can be run from the HDD.</p>



<p>Well, like I Said, the disk was detected in SNMPwalk, but you didn&#8217;t see it in CMK. I thought my issue was in CMK. Not really information was found in CMK. Eventually did a deinstall of SNMPD and did a reainstall with the (debian) package &#8216;snmp-mibs-downloader&#8217;. This package installs a lot of MIB files, so the number system is converted to a more readable entry:<br></p>



<p>Without MIB:<br>.1.3.6.1.2.1.25.2.3.1.3.66 = STRING: /home/USER/Data</p>



<p>With MIB:<br>HOST-RESOURCES-MIB::hrStorageDescr.66 = STRING: /home/USER/Data</p>



<p>With the MIB description I started searching again and found a post on the website <a href="https://barryp.org/blog/entries/snmp-server-not-reporting-disk-size" data-type="link" data-id="https://barryp.org/blog/entries/snmp-server-not-reporting-disk-size">barryp.org</a>. Here Barry P (I hope that&#8217;s his name) described a bit my issue. </p>



<p><strong>The solution</strong><br>(!!) Please note, the PC is only used by me, so I&#8217;m a bit less stringent in how I solve the issue.</p>



<p>The issue lay in that when i tested it with SNMPWalk i had enough rights to access the path to the mounted mountpoint. The SNMPD service didn&#8217;t have this rights, so i had to check the complete path. The /home folder had already the correct mod (0755), my home folder was only accessible by me, so with &#8216;chmod 0755 /home/USER&#8217; I got that the CMK could detect the folder. After that I did a rescan of the the host in CMK, and it was there!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>In Linux the read on a file is different then a read on a folder and nextcloud is a &#8230;.</title>
		<link>https://www.project34.net/2023/05/11/in-linux-the-read-on-a-file-is-different-then-a-read-on-a-folder-and-nextcloud-is-a/</link>
		
		<dc:creator><![CDATA[Maikel]]></dc:creator>
		<pubDate>Thu, 11 May 2023 11:53:38 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[NextCloud]]></category>
		<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[RPI]]></category>
		<category><![CDATA[Syncthing]]></category>
		<guid isPermaLink="false">https://www.project34.net/?p=262</guid>

					<description><![CDATA[I&#8217;ve been implementing syncthing (ST) as a backup utility. ST say themself that the application isn&#8217;t a backup utility, but for me it does the trick. Nextcloud is a &#8230;&#8230;. Yesterday i was implementing ST on my nextcloud server. I only wanted to backup my data to the ST server. The data directory had a&#8230;]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve been implementing syncthing (ST) as a backup utility. ST say themself that the application isn&#8217;t a backup utility, but for me it does the trick.</p>
<p><strong>Nextcloud is a &#8230;&#8230;.</strong><br />
Yesterday i was implementing ST on my nextcloud server. I only wanted to backup my data to the ST server. The data directory had a mode of 770 for www-data:www-data. So another account didn&#8217;t have access to the directory. After changing the mode to 774, other accounts should have read access to the directory. After a couple of minutes the mode was back to 770. Of course you think you did something wrong, or you chmod the wrong directory, but after 5 times i knew the rights were set OK.</p>
<p>So the  nextcloud software was setting the mode back. After checking if there was a setting in de GUI, i couldn&#8217;t find any. Then the big google it is. Thankfully it lead to a page with a config option: <a href="https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html">https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html</a><br />
One option is: <span class="s1">&#8216;check_data_directory_permissions&#8217;</span><br />
Default it is set to true even if it&#8217;s not explicitly set. After adding the setting to config/config.php in the main folder the chmod of the data folder staid the same.</p>
<p>NextCloud is a nice peace of software! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Syncthing doesn&#8217;t read folders &#8230;.. AKA In Linux the read on a file is different then a read on a folder</strong><strong><br />
</strong></p>
<p>After fixing the first issue i wanted to sync the data structure to ST, but it only synced the first 600MB of the 185GB. In the logging the underlying data directory still wasn&#8217;t scanned because there was an issue accessing the underlying directories. Checked the directory mode: still 774 (rwx/rwx/r&#8211;), so it should be able to access the directory, because it could access the files had mode 664 (rw-/rw-/r&#8211;). After almost an hour i finally found it. The mode of the directory can have the same mode as a file, but the effect is different. Main issue is that you need the X right to access the directory. If you only have read you can read the content of the directory, but not the files or directories in the directory. The problem starts at the data directory and not at anyone of the sub-directories.</p>
<p>After changing the mode to 665, ST could read the subfolders and the sync is running nicely. Not fast (backup server is a Raspberry Pi 3, with an USB 3TB harddisk), but i rather have a backup that i can restore by placing the external disk to another PC, then to not have a backup at all.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Storing face_encodings in a database</title>
		<link>https://www.project34.net/2022/01/06/storing-face_encodings-in-a-database/</link>
		
		<dc:creator><![CDATA[Maikel]]></dc:creator>
		<pubDate>Thu, 06 Jan 2022 21:59:31 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">http://www.project34.net/?p=252</guid>

					<description><![CDATA[I&#8217;ve been interested in Python for a while now. One thing i like is the possibility to do face recognition. Made a python script based upon a youtube clip from sentdex. The script worked fine and after some tests i was confident that i could extend the original script to what i want it to&#8230;]]></description>
										<content:encoded><![CDATA[
<p>I&#8217;ve been interested in Python for a while now. One thing i like is the possibility to do face recognition. Made a python script based upon a <a href="https://www.youtube.com/watch?v=535acCxjHCI">youtube clip from sentdex</a>. The script worked fine and after some tests i was confident that i could extend the original script to what i want it to do.</p>



<p>The main thing that annoyed me was that every time you run the script, the scripts went through the same intensive process of checking if there is a face, encoding this face to a 128 value variable type that make up this face. The 128 value variable (&#8220;encoded face&#8221;) didn&#8217;t change between run 1, run 2 and run 100. Only if you would change something to the image, maybe the library (for better processing), that could be a reason to recheck the image.</p>



<p>One other thing that annoyed me was the size of the files. When the files have been processed and you have the &#8220;face variable&#8221;, there is no need to store those files anymore. because the information that we need (and have), is much smaller then the file.</p>



<p>A couple of hours later i just couldn&#8217;t find any reliable and usable info about how that data is represented. There is a lot of information what the data means, but (at least) i couldn&#8217;t find the correct way to store the data in a MariaDB database. Well, then start from the beginning: What is the data type that comes out of <em>face_recognition.face_encodings</em>?</p>



<p>First start at the beginning:<br>Let&#8217;s find what the type is:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
encoding = face_recognition.face_encodings(image)&#x5B;0]
print(type(encoding))
</pre></div>


<p>This results in the output:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;class &#039;numpy.ndarray&#039;&gt;
</pre></div>


<p>After a lot of searching (again), there was not an easy solution:</p>



<ul class="wp-block-list">
<li>sqlite3 has an array data type, which MariaDB doesn&#8217;t have.</li>



<li>You can use pickle to convert the data something to store in the database, but i just couldn&#8217;t get it working with a normal insert command</li>



<li>Converting it to base64 gave me the same issue as pickle.</li>
</ul>



<p>Eventually i found the solution to my misery: it was as, but it took me a while: <em>str(encoding.tolist())</em></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
encoding = face_recognition.face_encodings(image)&#x5B;0]
encodinglist = str(encoding.tolist())
print(type(encodinglist))
</pre></div>


<p>This gave me the following output: <em>&lt;class &#8216;str&#8217;></em></p>



<p>Well, strings is something MariaDB can work with. Created a column as varchar(4096) and voila the data can be stored. <br>Well, the 3 part process is now for 2/3 done (getting info and storing info) now we need to get the data back. The retrieval is very straight forward, select the correct columns from the table and storing it into a array again.</p>



<p>Because the data is now stored as a string and not an array, the face_recognition.compare_faces process can&#8217;t do anything with it. To convert the string back to an array is very easy:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
KNOWN_FACES.append(eval(row&#x5B;1]))
</pre></div>


<p>The eval part converts the string back to an array and puts that array in the KNOWN_FACES array.</p>



<p>So now after processing the images the main info is stored in the database and you can throw away the images if you want, or not, do what you like.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Creating Database Diagrams in SQL Server Management Studio can make the application lock up</title>
		<link>https://www.project34.net/2020/11/26/creating-database-diagrams-in-sql-server-management-studio-can-make-the-application-lock-up/</link>
		
		<dc:creator><![CDATA[Maikel]]></dc:creator>
		<pubDate>Thu, 26 Nov 2020 16:55:48 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SSMS]]></category>
		<guid isPermaLink="false">http://www.project34.net/?p=212</guid>

					<description><![CDATA[Got a question today from a colleague. He had an application that could create a diagram for a database. This was an old program (last release in 2009) and it worked with Java. If i was able to install the application for an audit. My first thought was: &#8220;Why? SSMS is able to do this!&#8221;.&#8230;]]></description>
										<content:encoded><![CDATA[<p>Got a question today from a colleague. He had an application that could create a diagram for a database. This was an old program (last release in 2009) and it worked with Java. If i was able to install the application for an audit. My first thought was: &#8220;Why? SSMS is able to do this!&#8221;. So started SSMS and logged in to the SQL Instance, opened the database diagrams section and dumped all the tables in the canvas&#8230;&#8230;&#8230;</p>
<p>And SSMS stopped responding. 15 minutes later everything went down the drain. The application didn&#8217;t respond at all. Had to restart the application. Went for a retry and just added 25 tables at a time and again same issue when i added the last set: SSMS stopped responding, after 15 minutes i had to kill the app&#8230;. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f641.png" alt="🙁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Tried a smaller set of 10 at a time, but it all seemed to lock up.</p>
<p>The problem seemed to happen when a lot of tables were added and the app had to create the relationships between the new tables and then create the relationship between the nw tables and the old ones.</p>
<p>Eventually found a solution: When in the screen where you can add the tables, select the first one and press add. That table is added and removed from the screen and the next new top one is selected , press add. Now SSMS only has to create the relations between the newly added table and the ones already on the canvas, so it&#8217;s less intensive. When you add al the tables like this and the screen is empty, you can close it and start working imediatly without lag or something.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Gmail &#8220;email+&#8221; account</title>
		<link>https://www.project34.net/2020/11/18/gmail-email-account/</link>
		
		<dc:creator><![CDATA[Maikel]]></dc:creator>
		<pubDate>Wed, 18 Nov 2020 18:14:39 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Trick]]></category>
		<guid isPermaLink="false">http://www.project34.net/?p=191</guid>

					<description><![CDATA[This week i found out that Gmail started supporting a function in their email system where you can use a + in your email account. The nice thing about it, is that you don&#8217;t have to create an additional email account. Your base email account (example Project34net@gmail.com) wil not change. but you can add a&#8230;]]></description>
										<content:encoded><![CDATA[
<p>This week i found out that Gmail started supporting a function in their email system where you can use a + in your email account. The nice thing about it, is that you don&#8217;t have to create an additional email account. </p>



<p>Your base email account (example Project34net@gmail.com) wil not change. but you can add a + and extra information: Project34net+google@gmail.com. When you send a mail to project34net+google@gmail.com, the mail will be delivered at your regular email address. </p>



<p>This has a couple of advantages:</p>



<ul class="wp-block-list"><li>You can create a temporary account and after that you create an automatic delete filter in Gmail for deleting the mails for that email account.</li><li>You can create an email account for a specific website and when you start receiving mail from another domain you know there is something fishy about it.</li><li>You can create an email account when you know (and accept) that the mail address is shared between domains, but then you can create a filter to move the mails to a special folder.</li><li>You can create multiple mail addresses to create separate accounts for the same domain, so you can test stuff for when you are admin and wen you are a normal user.</li></ul>



<p>Although it works great, when a spammer finds you &#8220;gmail +&#8221; account, he/she can change your account pretty fast to it&#8217;s base mail account. If you take our example mail address: Project34net+google@gmail.com, if you replace the +google@ part of the mail account with only @ you get project34net@gmail.com and then you have your base email account again and the spammer can mail you and you have no meaning of knowing where they got your mail address from, or have a way to filter it.</p>



<p>Apparently when you add dot to your email address (the part before the @ sign) you can get the same result. You get an unique mail address that you can use to filter on. Project34.net@gmail.com will deliver the mail also at project34net@gmail.com.</p>



<p>The + trick also works for the following domains:<br>@hotmail.com<br>@outlook.com<br>@live.com<br><br></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ping with timestamp</title>
		<link>https://www.project34.net/2020/01/10/ping-with-timestamp/</link>
		
		<dc:creator><![CDATA[Maikel]]></dc:creator>
		<pubDate>Fri, 10 Jan 2020 19:53:01 +0000</pubDate>
				<category><![CDATA[Powershell]]></category>
		<guid isPermaLink="false">http://www.project34.net/?p=184</guid>

					<description><![CDATA[I&#8217;m having issues with my internet connection lately. My modem seems to reset it self from time to time. It can work days without issues and then it starts to reset a couple of times without any warning. The internet provider sees nothing wrong with the modem. A mechanic needs to come by, but until then&#8230;]]></description>
										<content:encoded><![CDATA[<p>I&#8217;m having issues with my internet connection lately. My modem seems to reset it self from time to time. It can work days without issues and then it starts to reset a couple of times without any warning.</p>
<p>The internet provider sees nothing wrong with the modem. A mechanic needs to come by, but until then i want to be able to monitor the device.</p>
<p>I&#8217;ve installed LibreNMS to monitor my connection. Every 5 minutes it checks by sending a ping to the router and another test is to ping 8.8.8.8 (one of the dns servers of google). It works like a charm. But sometimes the modem is restarted within 5 minutes. When i&#8217;m behind my PC i&#8217;ve started to run the ping command, and that works fine, only one thing annoyed me: I can&#8217;t see when the ping command tries to send an ping to the devices.</p>
<p>Thanks to the blog of: https://www.raymond.cc/blog/timestamp-ping-with-hrping/, i&#8217;m running a ping command preceded with a time stamp:<br />
Ping From PowerShell:</p>
<pre class="lang:ps decode:true">Ping.exe -t 192.168.178.1 | ForEach {“{0} – {1}” -f (Get-Date),$_}
Ping.exe -t 8.8.8.8 | ForEach {“{0} – {1}” -f (Get-Date),$_}
</pre>
<p>With this you get something like this:</p>
<pre class="lang:batch decode:true ">1/10/2020 8:51:05 PM – Reply from 8.8.8.8: bytes=32 time=19ms TTL=55
1/10/2020 8:51:06 PM – Reply from 8.8.8.8: bytes=32 time=11ms TTL=55
1/10/2020 8:51:07 PM – Reply from 8.8.8.8: bytes=32 time=12ms TTL=55
1/10/2020 8:51:08 PM – Reply from 8.8.8.8: bytes=32 time=12ms TTL=55
1/10/2020 8:51:09 PM – Reply from 8.8.8.8: bytes=32 time=21ms TTL=55
1/10/2020 8:51:10 PM – Reply from 8.8.8.8: bytes=32 time=28ms TTL=55
1/10/2020 8:51:11 PM – Reply from 8.8.8.8: bytes=32 time=11ms TTL=55</pre>
<p>That works like a charm!!</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
