<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>slurdge•org</title><link>https://www.slurdge.org/</link><description>Recent content on slurdge•org</description><generator>Hugo</generator><language>en</language><copyright>© slurdge 1999-2026. All rights reserved.</copyright><lastBuildDate>Thu, 14 May 2026 15:52:13 +0000</lastBuildDate><atom:link href="https://www.slurdge.org/index.xml" rel="self" type="application/rss+xml"/><item><title>This Puzzle Does Not Exist</title><link>https://www.slurdge.org/posts/this-puzzle-does-not-exist/</link><pubDate>Wed, 19 Aug 2020 21:58:31 +0200</pubDate><guid>https://www.slurdge.org/posts/this-puzzle-does-not-exist/</guid><description>&lt;figure&gt;&lt;img src="https://www.slurdge.org/posts/this-puzzle-does-not-exist/wall.png"
 alt="background" width="100%"&gt;
&lt;/figure&gt;



&lt;p&gt;First of all, credit where is credit is due. As with many deep learning projects, nothing is possible without the work of real, talented humans beforehand.&lt;/p&gt;
&lt;p&gt;Therefore I would like to thank &lt;a href="https://www.tuesdayquest.com/"&gt;Tuesday Quest&lt;/a&gt; with their Hungry Cat Nonogram (&lt;a href="https://play.google.com/store/apps/details?id=com.tuesdayquest.logicart"&gt;Android&lt;/a&gt;, &lt;a href="https://apps.apple.com/us/app/hungry-cat-picross/id737744473"&gt;iOS&lt;/a&gt;). Especially shoutout to &lt;a href="https://www.instagram.com/sev_4games/"&gt;Sev_4Game&lt;/a&gt; for her incredibly beautiful artworks. As we will see, the rules can be learned, but what makes a beautiful pixel is not possible.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Please check out their work and suscribe to their games!&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Marcan's tis101 crackme</title><link>https://www.slurdge.org/posts/crackme-tis101/</link><pubDate>Fri, 18 Nov 2016 16:52:59 +0900</pubDate><guid>https://www.slurdge.org/posts/crackme-tis101/</guid><description>&lt;p&gt;Here are my findings in the challenge by marcan codenamed &amp;lsquo;crackme.tis101&amp;rsquo;&lt;/p&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The challenge is available at the following URLs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;nc marcan.st 10847&lt;/code&gt; &lt;em&gt;preferred&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;telnet marcan.st 10847&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you telnet the following url and port, we are greeted with the follwing prompt (does not vary):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#b0c4de;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;================================================================================
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; WELCOME TO THE TIS-101 DEVELOPMENT AND TEST ENVIRONMENT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;================================================================================
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Enter object code followed by NEWLINE:
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;We need object code to be sent after this. Marcan provides such an object code at the following URLs:&lt;/p&gt;</description></item><item><title>PwdCheck CTF</title><link>https://www.slurdge.org/posts/crackme-pwdcheck/</link><pubDate>Sat, 19 Nov 2016 15:30:51 +0900</pubDate><guid>https://www.slurdge.org/posts/crackme-pwdcheck/</guid><description>&lt;p&gt;This challenge is done by providing a c file.&lt;/p&gt;
&lt;p&gt;The file can be downloaded here:
&lt;a href="https://marcan.st/transf/pwdcheck.c"&gt;https://marcan.st/transf/pwdcheck.c&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Vampire Crawlers Save Game Reverse Engineering</title><link>https://www.slurdge.org/posts/2026-reverse-vampire-crawlers/</link><pubDate>Thu, 14 May 2026 15:52:13 +0000</pubDate><guid>https://www.slurdge.org/posts/2026-reverse-vampire-crawlers/</guid><description>&lt;p&gt;&lt;img src="https://shared.fastly.steamstatic.com/store_item_assets/steam/apps/3265700/5590e42cab09dacabee973dd2c3e27ef12ed4950/header.jpg" alt="screenshot_from_steam"&gt;&lt;/p&gt;
&lt;p&gt;I stumbled on &lt;a href="https://store.steampowered.com/app/3265700/Vampire_Crawlers_The_Turbo_Wildcard_from_Vampire_Survivors/"&gt;Vampire Crawlers&lt;/a&gt; and being a fan of such games, I played the demo and bought it afterwards.&lt;/p&gt;
&lt;p&gt;But of course, while playing the game is fun, I always ask myself if there is any protection against &amp;ldquo;save modification&amp;rdquo; (e.g., cheats). Come with me as I walk through the small act of reverse engineering the protection.&lt;/p&gt;
&lt;h2 id="gathering-information"&gt;Gathering information&lt;/h2&gt;
&lt;p&gt;First of all, the save game location is, on Windows &lt;code&gt;%USERPROFILE%/AppData/LocalLow/Nosebleed Interactive/Vampire Crawlers/Save&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>The strange case of Golang + Reddit RSS</title><link>https://www.slurdge.org/posts/2022-05-13-the-strange-case-of-golang-reddit-rss/</link><pubDate>Fri, 13 May 2022 16:26:34 +0000</pubDate><guid>https://www.slurdge.org/posts/2022-05-13-the-strange-case-of-golang-reddit-rss/</guid><description>&lt;p&gt;Recently, while working on &lt;a href="https://github.com/slurdge/goeland"&gt;goeland&lt;/a&gt;, I ran some test on reddit&amp;rsquo;s RSS feeds.&lt;/p&gt;
&lt;p&gt;While it worked fine in the past, in the last few months with update to golang 1.17, people started complaining that reddit was rejecting their requests. While if you do the same request with curl, it works, with golang you would get a &lt;code&gt;429&lt;/code&gt; error code.&lt;/p&gt;
&lt;p&gt;The solution outlined on reddit was alike:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#b0c4de;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#aa89ea"&gt;req&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;,&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;_&lt;/span&gt; &lt;span style="color:#54b1c7"&gt;:=&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;http&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;.&lt;/span&gt;&lt;span style="color:#00b1f7"&gt;NewRequest&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;(&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;GET&amp;#34;&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;,&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;url&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;,&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;nil&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#aa89ea"&gt;req&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;.&lt;/span&gt;&lt;span style="color:#aa89ea"&gt;Header&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;.&lt;/span&gt;&lt;span style="color:#00b1f7"&gt;Set&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;(&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;User-Agent&amp;#34;&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;,&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;Custom Agent&amp;#34;&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#76a9f9"&gt;var&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;defaultClient&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;=&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;http&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;.&lt;/span&gt;&lt;span style="color:#aa89ea"&gt;Client&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#aa89ea"&gt;Transport&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;:&lt;/span&gt; &lt;span style="color:#54b1c7"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#aa89ea"&gt;http&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;.&lt;/span&gt;&lt;span style="color:#aa89ea"&gt;Transport&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#aa89ea"&gt;TLSNextProto&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;:&lt;/span&gt; &lt;span style="color:#76a9f9"&gt;map&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;[&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;string&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;]&lt;/span&gt;&lt;span style="color:#76a9f9"&gt;func&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;(&lt;/span&gt;&lt;span style="color:#aa89ea"&gt;authority&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;string&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;,&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;c&lt;/span&gt; &lt;span style="color:#54b1c7"&gt;*&lt;/span&gt;&lt;span style="color:#aa89ea"&gt;tls&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;.&lt;/span&gt;&lt;span style="color:#aa89ea"&gt;Conn&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;)&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;http&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;.&lt;/span&gt;&lt;span style="color:#aa89ea"&gt;RoundTripper&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#abb2bf"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#abb2bf"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#aa89ea"&gt;resp&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;,&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;_&lt;/span&gt; &lt;span style="color:#54b1c7"&gt;:=&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;defaultClient&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;.&lt;/span&gt;&lt;span style="color:#00b1f7"&gt;Do&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;(&lt;/span&gt;&lt;span style="color:#aa89ea"&gt;req&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;</description></item><item><title>Install rclone with this one-liner</title><link>https://www.slurdge.org/kb/install-rclone-one-liner/</link><pubDate>Sat, 26 Feb 2022 12:38:43 +0100</pubDate><guid>https://www.slurdge.org/kb/install-rclone-one-liner/</guid><description>&lt;p&gt;One easy way to have a rclone in the current folder (adapt with your distribution):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#b0c4de;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl https://downloads.rclone.org/rclone-current-windows-amd64.zip -o rclone.zip &lt;span style="color:#54b1c7"&gt;&amp;amp;&amp;amp;&lt;/span&gt; 7z e -y rclone.zip &lt;span style="color:#54b1c7"&gt;&amp;amp;&amp;amp;&lt;/span&gt; del rclone.zip
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>How to secure proxmox web interface with Caddy</title><link>https://www.slurdge.org/kb/how-to-secure-proxmox-web-interface-with-caddy/</link><pubDate>Fri, 28 Jan 2022 21:04:49 +0000</pubDate><guid>https://www.slurdge.org/kb/how-to-secure-proxmox-web-interface-with-caddy/</guid><description>&lt;p&gt;Here is an easy way to secure a proxmox interface with proper https.
&lt;a href="https://caddyserver.com/docs/install"&gt;Install caddy&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Edit the Caddyfile (`/etc/caddy/Caddyfile on Debian) as follow:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#b0c4de;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;example.com {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; reverse_proxy localhost:8006 {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; transport http {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; tls_insecure_skip_verify
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>How to unbrick Somu</title><link>https://www.slurdge.org/kb/how-to-unbrick-somu/</link><pubDate>Mon, 25 Oct 2021 17:45:16 +0200</pubDate><guid>https://www.slurdge.org/kb/how-to-unbrick-somu/</guid><description>&lt;p&gt;Recently, I accidentally put the wrong firmware on a &lt;a href="https://github.com/solokeys/solo"&gt;Somu&lt;/a&gt;, thereby bricking it.&lt;/p&gt;
&lt;p&gt;In order to unbrick it, it is necessary to link it with a STLink.&lt;/p&gt;
&lt;p&gt;See the following schema to have the correct pinout (taken from &lt;a href="https://www.crowdsupply.com/solokeys/somu/updates/behind-the-scenes-of-making-somu"&gt;here&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.slurdge.org/kb/how-to-unbrick-somu/somu-layout_png_project-body.jpg" alt="somu-layout_png_project-body"&gt;&lt;/p&gt;
&lt;p&gt;Don&amp;rsquo;t forget it may be mirrored from what you are seeing. Use the the clues and asymmetries in order to figure out which pin is which.&lt;/p&gt;
&lt;p&gt;The following correspondance must be made:&lt;/p&gt;</description></item><item><title>Create Client Cert Ubiquiti</title><link>https://www.slurdge.org/kb/create-client-cert-ubiquiti/</link><pubDate>Wed, 01 Sep 2021 16:41:42 +0200</pubDate><guid>https://www.slurdge.org/kb/create-client-cert-ubiquiti/</guid><description>&lt;p&gt;Instead of using the CA.pl script, it&amp;rsquo;s easier to create the certificates by hand.&lt;/p&gt;
&lt;p&gt;Create CA then server key:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#b0c4de;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo -s
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;openssl req -new -keyout server.key -out server.csr -subj &lt;span style="color:#63c381"&gt;&amp;#34;/C=FR/ST=Paris/CN=vpn.example.org&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;openssl x509 -days &lt;span style="color:#d19a66"&gt;1095&lt;/span&gt; -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mv server.crt /config/auth/server.crt
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mv server.key /config/auth/server.key
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;</description></item><item><title>Setup Debian</title><link>https://www.slurdge.org/kb/setup-debian/</link><pubDate>Wed, 18 Aug 2021 16:09:30 +0200</pubDate><guid>https://www.slurdge.org/kb/setup-debian/</guid><description>&lt;p&gt;Half automated steps in order to have a proper debian installed with AWS, Azure, Scaleway, etc.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A ssh account with root on the target.&lt;/li&gt;
&lt;li&gt;A way to either connect with user,pass to the instance or the proper ssh key from the host put inside authorized_keys at the target.&lt;/li&gt;
&lt;li&gt;Ansible with &lt;a href="https://docs.debops.org/en/master/"&gt;debops scripts&lt;/a&gt;. Works properly only in linux now.&lt;/li&gt;
&lt;li&gt;A hostname pointing to the instance.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="steps"&gt;Steps&lt;/h2&gt;
&lt;p&gt;Create a host.yml file with contents:&lt;/p&gt;</description></item><item><title>How to Save Bitlocker Keys</title><link>https://www.slurdge.org/posts/how-to-save-bitlocker-keys/</link><pubDate>Mon, 14 Jan 2019 13:56:59 +0000</pubDate><guid>https://www.slurdge.org/posts/how-to-save-bitlocker-keys/</guid><description>&lt;p&gt;Here is a simple script to help you save all your bitlockers keys easily.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#b0c4de;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#dcaeea"&gt;$blvs&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;Get-BitLockerVolume&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;|&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;Where-Object&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;{&lt;/span&gt;&lt;span style="color:#dcaeea"&gt;$_&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;.&lt;/span&gt;&lt;span style="color:#cebc3a"&gt;MountPoint&lt;/span&gt; &lt;span style="color:#54b1c7"&gt;-match&lt;/span&gt; &lt;span style="color:#63c381"&gt;&amp;#34;[A-Z]:&amp;#34;&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#76a9f9"&gt;foreach&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;(&lt;/span&gt;&lt;span style="color:#dcaeea"&gt;$blv&lt;/span&gt; &lt;span style="color:#76a9f9"&gt;in&lt;/span&gt; &lt;span style="color:#dcaeea"&gt;$blvs&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#abb2bf"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#dcaeea"&gt;$id&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;=&lt;/span&gt; &lt;span style="color:#dcaeea"&gt;$blv&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;.&lt;/span&gt;&lt;span style="color:#cebc3a"&gt;KeyProtector&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;|&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;Where-Object&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;{&lt;/span&gt; &lt;span style="color:#dcaeea"&gt;$_&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;.&lt;/span&gt;&lt;span style="color:#cebc3a"&gt;KeyProtectorType&lt;/span&gt; &lt;span style="color:#54b1c7"&gt;-match&lt;/span&gt; &lt;span style="color:#63c381"&gt;&amp;#34;RecoveryPassword&amp;#34;&lt;/span&gt; &lt;span style="color:#abb2bf"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;echo &lt;/span&gt;&lt;span style="color:#63c381"&gt;&amp;#34;Backuping ... &lt;/span&gt;&lt;span style="color:#abb2bf"&gt;$(&lt;/span&gt;&lt;span style="color:#dcaeea"&gt;$blv&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;.&lt;/span&gt;&lt;span style="color:#aa89ea"&gt;MountPoint&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;)&lt;/span&gt;&lt;span style="color:#63c381"&gt; - &lt;/span&gt;&lt;span style="color:#abb2bf"&gt;$(&lt;/span&gt;&lt;span style="color:#dcaeea"&gt;$id&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;[&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;].&lt;/span&gt;&lt;span style="color:#aa89ea"&gt;KeyProtectorId&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;)&lt;/span&gt;&lt;span style="color:#63c381"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;Backup-BitLockerKeyProtector&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;-MountPoint&lt;/span&gt; &lt;span style="color:#dcaeea"&gt;$blv&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;.&lt;/span&gt;&lt;span style="color:#cebc3a"&gt;MountPoint&lt;/span&gt; &lt;span style="color:#aa89ea"&gt;-KeyProtectorId&lt;/span&gt; &lt;span style="color:#dcaeea"&gt;$id&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;[&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;&lt;span style="color:#abb2bf"&gt;].&lt;/span&gt;&lt;span style="color:#cebc3a"&gt;KeyProtectorId&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#abb2bf"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;</description></item><item><title>Chut!</title><link>https://www.slurdge.org/project/chut/</link><pubDate>Fri, 30 Nov 2018 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/chut/</guid><description>&lt;p&gt;I was brought on this project to develop the game. Art and basic gameplay were already done, but the deadline was quite short.
I developed the following points:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Automatic CI and builds for Unity&lt;/li&gt;
&lt;li&gt;Import toolchain&lt;/li&gt;
&lt;li&gt;Level Editor within Unity&lt;/li&gt;
&lt;li&gt;Integration of assets&lt;/li&gt;
&lt;li&gt;Gameplay&lt;/li&gt;
&lt;li&gt;Testing&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It was quite a challenge as art was already done and the margin for modification was narrow. However this educational game was extremely well received.&lt;/p&gt;</description></item><item><title>Hungry Cat Picross solver</title><link>https://www.slurdge.org/posts/solvepicross/</link><pubDate>Thu, 01 Mar 2018 16:52:59 +0900</pubDate><guid>https://www.slurdge.org/posts/solvepicross/</guid><description>&lt;p&gt;This program is an attempt to automatically solve a &lt;a href="https://play.google.com/store/apps/details?id=com.tuesdayquest.logicart&amp;amp;hl=en"&gt;Hungry Cat Picross&lt;/a&gt; grid with a simple algorithm.&lt;/p&gt;
&lt;p&gt;The principle of the game is simple, yet complex to solve: each pixel has different possible values. It is not possible to test all combinations, so we have to be smarter.&lt;/p&gt;</description></item><item><title>How to route FreeTV with Edgerouter</title><link>https://www.slurdge.org/posts/how-to-route-freetv-edgerouter/</link><pubDate>Sun, 02 Jul 2017 18:56:04 +0200</pubDate><guid>https://www.slurdge.org/posts/how-to-route-freetv-edgerouter/</guid><description>&lt;p&gt;I recently had the chance to get the fiber at home. However, due to historical reasons, I want to keep my FreeBox along with the Multiposte FreeTV service where I could watch TV on PCs connected to the network.
Having two networks, I purchased and configured an Ubiquiti EdgeRouter Lite in failover mode. It&amp;rsquo;s quite a struggle to get the FreeTV feature working on this configuration, this is how I managed to do it.&lt;/p&gt;</description></item><item><title>Bitbucket Pipelines revisited: Alpine</title><link>https://www.slurdge.org/posts/bitbucket-pipelines-alpine/</link><pubDate>Fri, 23 Jun 2017 17:39:01 +0200</pubDate><guid>https://www.slurdge.org/posts/bitbucket-pipelines-alpine/</guid><description>&lt;p&gt;I wanted to be able to use always the latest version of hugo. However, the jq version provided by the default image of bitbucker is rather old.&lt;/p&gt;
&lt;p&gt;Therefore, I used alpine linux image with allows much more recent version of the tools.&lt;/p&gt;</description></item><item><title>Build an Hugo website with Bitbucket Pipelines</title><link>https://www.slurdge.org/posts/bitbucket-pipelines/</link><pubDate>Wed, 03 May 2017 14:42:01 +0200</pubDate><guid>https://www.slurdge.org/posts/bitbucket-pipelines/</guid><description>&lt;p&gt;I now use (bitbucket pipelines) to publish this website.&lt;/p&gt;</description></item><item><title>How to display ip on a remote vm before login</title><link>https://www.slurdge.org/posts/how-to-display-ip-remote-vm/</link><pubDate>Wed, 12 Apr 2017 17:34:35 +0200</pubDate><guid>https://www.slurdge.org/posts/how-to-display-ip-remote-vm/</guid><description>&lt;p&gt;Source: taken from (&lt;a href="http://offbytwo.com/2008/05/09/show-ip-address-of-vm-as-console-pre-login-message.html"&gt;http://offbytwo.com/2008/05/09/show-ip-address-of-vm-as-console-pre-login-message.html&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;TL;DR Install with one the following lines (choose either slurdge.org, github.com or gitlab.com) as &lt;em&gt;root&lt;/em&gt;.
Feel free to checkout the &lt;a href="https://www.slurdge.org/assets/2017/05/install-ip-prompt.sh"&gt;source&lt;/a&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#b0c4de;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget https://gitlab.com/snippets/1660984/raw -O - &lt;span style="color:#abb2bf"&gt;|&lt;/span&gt; sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget https://gist.githubusercontent.com/slurdge/1fe64837f751101015137c7d2b93ff77/raw/install_ip_prompt.sh -O - &lt;span style="color:#abb2bf"&gt;|&lt;/span&gt; sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget https://www.slurdge.org/assets/2017/05/install-ip-prompt.sh -O - &lt;span style="color:#abb2bf"&gt;|&lt;/span&gt; sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;</description></item><item><title>Added new tools</title><link>https://www.slurdge.org/posts/add-new-utitilies/</link><pubDate>Thu, 01 Dec 2016 23:24:34 +0900</pubDate><guid>https://www.slurdge.org/posts/add-new-utitilies/</guid><description>&lt;p&gt;I added two new tools: &lt;a href="https://www.slurdge.org/project/add-to-trello"&gt;Add to Trello&lt;/a&gt;, which allows you to quickly add tasks to your trello board from windows, and &lt;a href="https://www.slurdge.org/project/domf"&gt;domf&lt;/a&gt;, which is a simple pomf clone.&lt;/p&gt;</description></item><item><title>domf</title><link>https://www.slurdge.org/project/domf/</link><pubDate>Sun, 27 Nov 2016 23:26:12 +0900</pubDate><guid>https://www.slurdge.org/project/domf/</guid><description>&lt;p&gt;&lt;a href="https://codeclimate.com/github/slurdge/domf"&gt;&lt;img src="https://codeclimate.com/github/slurdge/domf/badges/gpa.svg" alt="Code Climate"&gt;&lt;/a&gt;
&lt;a href="https://codeclimate.com/github/slurdge/domf"&gt;&lt;img src="https://codeclimate.com/github/slurdge/domf/badges/issue_count.svg" alt="Issue Count"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This script is a one php file (+config) that allows you to upload files to a host with pomf protocol.&lt;/p&gt;
&lt;p&gt;This script &lt;em&gt;does&lt;/em&gt; support:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Uploading multiple files&lt;/li&gt;
&lt;li&gt;Filtering mime-types&lt;/li&gt;
&lt;li&gt;JSON answers&lt;/li&gt;
&lt;li&gt;Short URLs&lt;/li&gt;
&lt;li&gt;No database needed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This script &lt;em&gt;does not&lt;/em&gt; support:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Other responses than JSON&lt;/li&gt;
&lt;li&gt;Upload from the webbrowser&lt;/li&gt;
&lt;li&gt;Users, authentication, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;
&lt;p&gt;Just copy the script to some location and edit &lt;code&gt;config.php&lt;/code&gt; files.
Variables should be self explained.&lt;/p&gt;</description></item><item><title>How to open everything in a tab in Firefox</title><link>https://www.slurdge.org/posts/howto-openintab-firefox/</link><pubDate>Sat, 19 Nov 2016 16:39:04 +0900</pubDate><guid>https://www.slurdge.org/posts/howto-openintab-firefox/</guid><description>&lt;p&gt;To open everything in a tab in Firefox, many steps are required. You will need some extension to achieve the more complicated ones.&lt;/p&gt;
&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;Change the followings:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;browser.search.openintab&lt;/code&gt; to &lt;code&gt;true&lt;/code&gt; in &lt;a href="#ZgotmplZ"&gt;about:config&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Install &lt;a href="http://userchromejs.mozdev.org/"&gt;userChrome.js&lt;/a&gt; and add the following script.&lt;/li&gt;
&lt;li&gt;Done.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="what-decides-where-something-is-open-"&gt;What decides where something is open ?&lt;/h2&gt;
&lt;p&gt;When you click or type somewhere in Firefox, there is code that decides where your click or enter should open.
This code is mostly javascript, which means we can inspect it and modify it.&lt;/p&gt;</description></item><item><title>Bye Drupal, welcome Hugo</title><link>https://www.slurdge.org/posts/bye-drupal-welcome-hugo/</link><pubDate>Sat, 06 Aug 2016 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/posts/bye-drupal-welcome-hugo/</guid><description>&lt;p&gt;It has been a long time. Way too long. Update from update, Drupal was less and less a good solution for this website. I don&amp;rsquo;t update it &lt;em&gt;that&lt;/em&gt; often, for starters. Secondly, Drupal was horribly slow and cumbersome. While I agree that Drupal can be an excellent choice for bigger websites, it&amp;rsquo;s simply not adapted to simple portfolio type websites. As a programmer, I was instanntly seduced by the approach of static sites generators: at last, my content would be easily viewable (the whole point of Drupal was to have the content separated from the HTML, as it was in the first iterations of the site). I setted on &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt; because I liked the fact it was fast, is using not to complicated templating system (even though it seems there is quite a bit different manners of doing the same thing) and is usable only with one executable. I don&amp;rsquo;t like the idea to pull the earth on my laptop just to compile a few webpages, going with go is perfect.&lt;/p&gt;</description></item><item><title>Add to Trello</title><link>https://www.slurdge.org/project/add-to-trello/</link><pubDate>Fri, 27 May 2016 23:26:12 +0900</pubDate><guid>https://www.slurdge.org/project/add-to-trello/</guid><description>&lt;h2 id="what-is-it"&gt;What is it?&lt;/h2&gt;
&lt;p&gt;AddToTrello is a Microsoft Windows application to add tasks to your Trello Board without requiring launching the browser.
Its simple and fast operation mode allows to reduce the time needed to add a task to a minimum.&lt;/p&gt;
&lt;p&gt;You can download the &lt;a href="https://github.com/slurdge/quicktrelloadd/releases/latest/"&gt;latest release (setup.msi)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can see it in action in the following screenshot&lt;/p&gt;
&lt;p&gt;&lt;img src="https://raw.githubusercontent.com/slurdge/quicktrelloadd/master/img/screenshot.png" alt="Screenshot of main window"&gt;&lt;/p&gt;
&lt;p&gt;It is built on top of Manatee.Trello with WPF.&lt;/p&gt;
&lt;h2 id="how-to-use"&gt;How to use&lt;/h2&gt;
&lt;p&gt;After installation, first launch will require you to authorize the application with Trello. Simply click the link and paste the authorization token inside the window.&lt;/p&gt;</description></item><item><title>Gwbasic dumper</title><link>https://www.slurdge.org/project/gwbasic-dumper/</link><pubDate>Sun, 06 Sep 2015 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/gwbasic-dumper/</guid><description>&lt;p&gt;This program take binary GWBASIC programs and dumps them in a text format.
Most of the information was taken from this reference:
&lt;a href="http://www.chebucto.ns.ca/~af380/GW-BASIC-tokens.html"&gt;http://www.chebucto.ns.ca/~af380/GW-BASIC-tokens.html&lt;/a&gt;
A copy of the reference has been put in markdown format in &lt;a href="https://bitbucket.org/slurdge/gwbasic_dump/src/tip/FORMAT.md?at=default&amp;amp;fileviewer=file-view-default"&gt;FORMAT.md&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The program has been tested with real GWBASIC programs dumped from a DosBox, on the author tests, it provides a 100% match for the text.
However it may be very well that some cases are not handled correctly. Please &lt;a href="https://www.slurdge.org/project/gwbasic-dumper/#contact"&gt;contact me&lt;/a&gt; with example of programs that produce invalid results.&lt;/p&gt;</description></item><item><title>New utility online</title><link>https://www.slurdge.org/posts/new-utility-online/</link><pubDate>Tue, 22 Mar 2011 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/posts/new-utility-online/</guid><description>&lt;p&gt;There is a new utility online: &lt;a href="utilities/pmwiki-to-trac"&gt;pmwiki2trac&lt;/a&gt;. This allows you to convert a pmwiki text to trac syntax. Check it out!&lt;/p&gt;</description></item><item><title>Gray Matter</title><link>https://www.slurdge.org/project/gray-matter/</link><pubDate>Sat, 19 Mar 2011 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/gray-matter/</guid><description>&lt;p&gt;On this project, my help was required for the scripting backend of the game.
Central point, this systems allow non developers to give instructions to the
game in order to have a rich gameplay.&lt;/p&gt;
&lt;p&gt;I was involved in the following points:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;LUA debugging&lt;/li&gt;
&lt;li&gt;LUA optimization&lt;/li&gt;
&lt;li&gt;LUA memory tracking and management&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Build upon my serious skills in scripts languages and in LUA, the script
subsystem was overhauled to provide a consistent behavior.&lt;/p&gt;</description></item><item><title>PmWiki To Trac</title><link>https://www.slurdge.org/project/pmwiki-to-trac/</link><pubDate>Sat, 19 Mar 2011 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/pmwiki-to-trac/</guid><description>&lt;p&gt;To call, use this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#b0c4de;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pmwiki2trac.py [options] [inputfile] [outputfile]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If input file in empty, stdin is used. The same goes for outputfile.&lt;/p&gt;</description></item><item><title>Added new games</title><link>https://www.slurdge.org/posts/added-new-games/</link><pubDate>Fri, 18 Mar 2011 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/posts/added-new-games/</guid><description>&lt;p&gt;I've added new games description from my work at &lt;a href="http://www.wizarbox.com"&gt;Wizarbox&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;There's Soblonde on Wii/DS, and Risen on Xbox360. Check them out !&lt;/p&gt;</description></item><item><title>SoBlonde : Back to the Island</title><link>https://www.slurdge.org/project/soblonde-back-to-the-island/</link><pubDate>Sat, 05 Mar 2011 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/soblonde-back-to-the-island/</guid><description>&lt;p&gt;This game, all screenshots and accompanying materials are copyright Wizarbox.&lt;/p&gt;
&lt;p&gt;This an adventure game developed for the DS/Wii. You are Sunny, a young blond woman who&amp;rsquo;s lost on a pirate island. Will you be able to unravel the mysteries around the island and to escape ? The game feature an impressive 2D/3D combination for the DS, with smooth controls and exiting enigmas !&lt;/p&gt;
&lt;p&gt;For this game, I developed mainly:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Initial port of PC scenes&lt;/li&gt;
&lt;li&gt;Main engine
&lt;ul&gt;
&lt;li&gt;Scene renderer&lt;/li&gt;
&lt;li&gt;Sprite renderer&lt;/li&gt;
&lt;li&gt;Animation system&lt;/li&gt;
&lt;li&gt;Dialog system&lt;/li&gt;
&lt;li&gt;3D/2D compositing without Z-buffer, the DS doesn&amp;rsquo;t support it&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Tools
&lt;ul&gt;
&lt;li&gt;Image exporter&lt;/li&gt;
&lt;li&gt;Dialog compiler&lt;/li&gt;
&lt;li&gt;Scene compiler&lt;/li&gt;
&lt;li&gt;Scene Editor&lt;/li&gt;
&lt;li&gt;Dialog Editor&lt;/li&gt;
&lt;li&gt;Localize&lt;/li&gt;
&lt;li&gt;Scene exporter&lt;/li&gt;
&lt;li&gt;Font compiler&lt;/li&gt;
&lt;li&gt;LZMA compressor&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also developed the localization process that allow the game to be fully
translated in any Unicode compatible language (all :-) ).&lt;/p&gt;</description></item><item><title>Risen</title><link>https://www.slurdge.org/project/risen/</link><pubDate>Fri, 04 Mar 2011 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/risen/</guid><description>&lt;p&gt;This game, being rich and open, provided with plentiful challenges in order to
have run on the Xbox360. But first, kudos to the Piranha Bytes team for
creating such a great game !&lt;/p&gt;
&lt;p&gt;I was involved in the optimization and fitting part, doing work from memory to
graphics.&lt;/p&gt;
&lt;p&gt;My expertise on constrained systems was useful for&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Memory analysis and tuning&lt;/li&gt;
&lt;li&gt;Performance enhancement, CPU/GPU wise.&lt;/li&gt;
&lt;li&gt;Localization stripping&lt;/li&gt;
&lt;li&gt;Build time optimization&lt;/li&gt;
&lt;li&gt;Gameplay fixes and tuning&lt;/li&gt;
&lt;li&gt;GUI and script fixing&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Bienvenue !</title><link>https://www.slurdge.org/posts/bienvenue/</link><pubDate>Wed, 02 Mar 2011 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/posts/bienvenue/</guid><description>&lt;p&gt;Bienvenue sur mon site (qui en est quand même à la version 5 !). Sur ce site vous pourrez trouver des utilitaires, des jeux, des simulations, bref, un peu de tout. J&amp;rsquo;ai arrêté d&amp;rsquo;avoir un site en deux langues car cela prenait trop de temps de tout traduire, donc maintenant il n&amp;rsquo;y a que les applications entièrement en français qui disposent d&amp;rsquo;une page française (&lt;a href="https://www.slurdge.org/utilities/reminder"&gt;Reminder&lt;/a&gt;, &lt;a href="https://www.slurdge.org/utilities/tsv2qif"&gt;Tsv to qif&lt;/a&gt;&amp;hellip;). Si vous avez besoin d&amp;rsquo;aide, n&amp;rsquo;hésitez pas à poser la questions dans les &lt;a href="https://www.slurdge.org/forum"&gt;forums&lt;/a&gt; ou bien &lt;a href="https://www.slurdge.org/contact"&gt;contactez moi&lt;/a&gt; !&lt;/p&gt;</description></item><item><title>Drupal 7 on the way</title><link>https://www.slurdge.org/posts/drupal-7-on-the-way/</link><pubDate>Wed, 12 Jan 2011 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/posts/drupal-7-on-the-way/</guid><description>&lt;p&gt;Drupal 7 is out ! Time to update again :) This time it is a little bit more difficult, since CCK is now part of drupal core. So if you see anything that is broken, please use the contact form.&lt;/p&gt;</description></item><item><title>Welcome !</title><link>https://www.slurdge.org/posts/welcome/</link><pubDate>Wed, 05 Jan 2011 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/posts/welcome/</guid><description>&lt;p&gt;Welcome to slurdge.org, home of my projects and utilities ! Here you can find various materials ranging from &lt;a href="https://www.slurdge.org/utilities"&gt;utilities&lt;/a&gt; to &lt;a href="https://www.slurdge.org/simulations"&gt;simulations&lt;/a&gt; to &lt;a href="https://www.slurdge.org/games/"&gt;games&lt;/a&gt;. If you need help, do not hesitate to ask in the comments or to &lt;a href="https://www.slurdge.org/posts/welcome/#contact"&gt;contact me&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Drupal 6 migration done</title><link>https://www.slurdge.org/posts/drupal-6-migration-done/</link><pubDate>Tue, 05 Jan 2010 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/posts/drupal-6-migration-done/</guid><description>&lt;p&gt;This may be late, but better now than never.
The site has been upgraded to Drupal 6 and now has a better support for screen shots for projects.&lt;/p&gt;</description></item><item><title>Added reCaptcha to comments</title><link>https://www.slurdge.org/posts/added-recaptcha-to-comments/</link><pubDate>Fri, 09 May 2008 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/posts/added-recaptcha-to-comments/</guid><description>&lt;p&gt;Due to huge amount of spam comments, I&amp;rsquo;ve added a reCaptcha field to the comment forms.
Let&amp;rsquo;s hope it will prevent bots from posting bogus comments.&lt;/p&gt;</description></item><item><title>Contact form disabled</title><link>https://www.slurdge.org/posts/contact-form-disabled/</link><pubDate>Sun, 30 Dec 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/posts/contact-form-disabled/</guid><description>&lt;p&gt;Since i&amp;rsquo;m getting much spam on with my contact form (like 1 every 30s), i&amp;rsquo;m desactivating for now. If you need to contact me, send me an email to slurdge &lt;em&gt;a t&lt;/em&gt; slurdge &lt;em&gt;d o t&lt;/em&gt; org. Thanks.&lt;/p&gt;</description></item><item><title>Deluge on windows</title><link>https://www.slurdge.org/project/deluge-on-windows/</link><pubDate>Mon, 10 Dec 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/deluge-on-windows/</guid><description>&lt;h2 id="note"&gt;Note&lt;/h2&gt;
&lt;p&gt;Due to lack of time and to the fact I don&amp;rsquo;t have a windows machine to test anymore (viva linux!), I&amp;rsquo;m not maintaining the windows version of Deluge anymore. However, the nice folks at &lt;a href="http://deluge-torrent.org/"&gt;Deluge torrent&lt;/a&gt; (the originals authors) are now doing it. I&amp;rsquo;ve now moved onto different projects. But working with Deluge was a great time!&lt;/p&gt;
&lt;h2 id="credits"&gt;Credits&lt;/h2&gt;
&lt;p&gt;I am not the author of deluge, I am just the one that ported it to windows. If you like this client, this mainly because of the great work of its original authors. I would like to thank markybob, andar, zachtib and the others for their great work. Hopefully they will host the port when it becomes more stable. If you like the WebUI plugin, this is due to the awesome work done by vonck7 (screenshot courtesy of him).
Also, deluge use libtorrent and its author has provided me with valuable help getting things working on windows. Thanks hydri!&lt;br&gt;
The installer has been created with a modified script from pidgin sources. So, credit where is due, thank you pidgin!&lt;br&gt;
At last, I would like to give credit to all the open sources projects used in this work, look below to see the list. This is incredible what you can do with the help of others. Open source at its best.&lt;br&gt;
Of course, I give a thank you to all users that are testing this client to make it work for others.&lt;/p&gt;</description></item><item><title>Deluge on windows now features debug support</title><link>https://www.slurdge.org/posts/deluge-on-windows-now-features-debug-support/</link><pubDate>Tue, 25 Sep 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/posts/deluge-on-windows-now-features-debug-support/</guid><description>&lt;p&gt;If you are interested in the deluge on windows alpha build, you can now have a crash report in case of a crash.
In fact, there are three ! crash types:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The python warning. When you close deluge, a dialog box appears telling you that there were errors. This one can be safely ignored. To see the warnings, open the deluge.exe.log file, and if you find the content interesting (you should know some python), you can send me the info.&lt;/li&gt;
&lt;li&gt;The uncaught exception. This one creates a crash, with a dialog box telling you that Python terminated in an unusual way. There&amp;rsquo;s nothing much to do, apart trying to recreate the bug to have a test case.&lt;/li&gt;
&lt;li&gt;The &amp;ldquo;true&amp;rdquo; crashes. They can arrive at any moment. In case of a true crash, a deluge.report file should be created. you can safely email this file to me.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Have fun with deluge alpha testing !&lt;/p&gt;</description></item><item><title>WaterSim</title><link>https://www.slurdge.org/project/watersim/</link><pubDate>Wed, 02 May 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/watersim/</guid><description>&lt;p&gt;WaterSim is &amp;ldquo;realistic&amp;rdquo; water simulation program in real time.
It is based on the work done by James F. O’Brien and Jessica K. Hodgins.
It features OpenGL rendering of fluid motion, and in addition you can drop objects in water!
The method uses pipes connecting columns of fluid. The implementation in C++ is fairly straightforward, there is plenty of room for optimization.
Part of sources are available for download.&lt;/p&gt;
&lt;p&gt;Here is a list of active keys:&lt;/p&gt;</description></item><item><title>IE Search Hook</title><link>https://www.slurdge.org/project/ie-search-hook/</link><pubDate>Fri, 27 Apr 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/ie-search-hook/</guid><description>&lt;p&gt;This program is for Internet Explorer 6. Internet Explorer 7 has since introduced search bar, so this is not needed anymore.
This program allows you to do more efficient searches than with the default engine, which goes on the Microsoft site.
You can do a one click search from your address bar. Simply type your search, and voilà! Your preferred engine has done the search for you.
By default, the engine is Google, but this can be modified. Moreover, you can add more engines with prefixes: for example, you can do : &amp;lsquo;google search1&amp;rsquo; or &amp;lsquo;yahoo search2&amp;rsquo; to switch.
To configure these additional engines, you will need the &lt;a href="http://www.microsoft.com/windowsxp/home/downloads/powertoys.asp"&gt;Powertoys from Microsoft&lt;/a&gt;, in particular, TweakUI.
Last, if you type only one word, Search hook for IE will search if a website with the extension .com, .net or .org exists with this name (in that order).&lt;/p&gt;</description></item><item><title>IIEvolution</title><link>https://www.slurdge.org/project/iievolution/</link><pubDate>Fri, 27 Apr 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/iievolution/</guid><description>&lt;p&gt;On observe que les tribus aggressives ne sont pas forcément celles qui ont le
dernier mot, ou bien que celles qui ont un comportement expansionniste on
tendance à épuiser leur environnement. Il est possible de générer les tribus
au hasard et d&amp;rsquo;enclencher un mode évolution pour observer les changements.&lt;br&gt;
Dans ce projet, je me suis occupé du moteur de la simulation: gestion des
évènements, gestion de l&amp;rsquo;OpenGL, etc&amp;hellip; Je ne me suis quasiment pas occupé des
paramètres de la simulation proprement dits. Voici une aide succinte pour le
programme: &lt;strong&gt;Arguments de la ligne de commande:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Reminder</title><link>https://www.slurdge.org/project/reminder/</link><pubDate>Fri, 27 Apr 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/reminder/</guid><description>&lt;p&gt;Pour installer, il suffit d&amp;rsquo;exécuter le programme d&amp;rsquo;installation et de suivre
les instructions.&lt;/p&gt;
&lt;h2 id="utilisation"&gt;Utilisation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pour quitter le programme, deux options: Double-cliquer sur la fenêtre ou bien faire clic-droit-&amp;gt;Commandes-&amp;gt;Quitter.&lt;/li&gt;
&lt;li&gt;Avec un clic-droit sur la fenêtre ou sur l&amp;rsquo;icône dans la barre des taches, vous accédez à l&amp;rsquo;ensemble des notes ainsi qu&amp;rsquo;aux commandes.&lt;/li&gt;
&lt;li&gt;Avec un clic-déplacer sur la fenêtre, vous pouvez déplacer celle-ci.&lt;/li&gt;
&lt;li&gt;Avec un clic gauche sur l&amp;rsquo;icône dans la barre des tâches, vous pouvez masquer/afficher la fenêtre.&lt;/li&gt;
&lt;li&gt;Note: même si la fenêtre est masquée, vous recevrez les notifications de vos pense-bêtes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="changements"&gt;Changements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Version 1.4&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Correction d&amp;rsquo;un bug dans le statut affiché/masqué&lt;/li&gt;
&lt;li&gt;Correction d&amp;rsquo;un bug dans les clés du registre&lt;/li&gt;
&lt;li&gt;La version est maintenant affichée dans &amp;ldquo;About&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;L&amp;rsquo;install contient le numéro de version&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Version 1.3&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Ajout de l&amp;rsquo;url du serveur dans les options&lt;/li&gt;
&lt;li&gt;Ajout du skinning # Correction de bugs dans la connection au serveur&lt;/li&gt;
&lt;li&gt;Reminder se souvient maintenant de son statut affiché/masqué lors d&amp;rsquo;un redémarrage&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Version 1.2&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Sauvegarde des penses-bêtes lors d&amp;rsquo;un crash&lt;/li&gt;
&lt;li&gt;Installation automatisée&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>RobotIIkE</title><link>https://www.slurdge.org/project/robotiike/</link><pubDate>Fri, 27 Apr 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/robotiike/</guid><description>&lt;p&gt;Ce projet devait être réalisé en binôme. Je me suis occupé de la
représentation graphique, mon collaborateur s&amp;rsquo;occupant des équations. Voici la
liste des contrôles dans la fenêtre du robot:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Haut/Bas -&amp;gt; Avancer/Reculer&lt;/li&gt;
&lt;li&gt;Gauche/Droite -&amp;gt; Pas chassé à gauche/droite&lt;/li&gt;
&lt;li&gt;PgUp/PgDown -&amp;gt; Aller vers le haut/vers le bas&lt;/li&gt;
&lt;li&gt;Clic gauche + déplacer souris -&amp;gt; Bouger la tête&lt;/li&gt;
&lt;li&gt;F4 : Afficher les axes du robot&lt;/li&gt;
&lt;li&gt;F5 : Fil de fer&lt;/li&gt;
&lt;li&gt;F6 : Screenshot&lt;/li&gt;
&lt;li&gt;F9 : Reflet On/Off&lt;/li&gt;
&lt;li&gt;F10: Décor On/Off&lt;/li&gt;
&lt;li&gt;F11: Ombre On/Off&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>tsv2qif</title><link>https://www.slurdge.org/project/tsv2qif/</link><pubDate>Fri, 27 Apr 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/tsv2qif/</guid><description>&lt;p&gt;Ce programme vous sera très utile si vous avez des comptes à La Poste et que
vous utlisez Money (2000 ou supérieur). Maintenant, La Poste propose un format
supporté par Money, mais toujours pas de .qif. Par exemple, CyberMut ne marche
bien qu&amp;rsquo;avec les .qif ! Pour pouvoir avoir vos relevés de comptes directement
dans Money ou autre, c&amp;rsquo;est très simple:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Téléchargez le programme (en bas de cette page). Cette étape n&amp;rsquo;est nécessaire qu&amp;rsquo;une fois. Placez le fichier dans le répertoire de votre choix et décompressez le.&lt;/li&gt;
&lt;li&gt;Téléchargez votre fichier La Poste (.tsv). Je vous recommande de le renommer puisque le nom fourni par La Poste n&amp;rsquo;est pas très explicite.&lt;/li&gt;
&lt;li&gt;Faites glisser ce fichier sur le programme - ou si vous vous y connaissez en ligne de commande, utiliser la ligne de commande.&lt;/li&gt;
&lt;li&gt;Un fichier portant le même nom et l&amp;rsquo;extension .qif sera crée. Il vous suffit en général de double-cliquer sur ce fichier pour que votre suite financière intègre votre relevé.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Advanced Renamer</title><link>https://www.slurdge.org/project/advanced-renamer/</link><pubDate>Thu, 26 Apr 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/advanced-renamer/</guid><description>&lt;p&gt;This is a new version of this old classic ! The new version is written in
python and comes with a GPL licence. Also, the new version has full support
for Unicode in filenames. This program is based on PERL regular expression for
expressing renaming. With the classic Windows renamer, only very limited
renaming can be done. The use of regular expressions opens the possibility for
many useful renaming, for example, formatting all the episodes of a series,
&amp;hellip; For example, let&amp;rsquo;s say all your music is formated that way : Title -
Artist - 01.mp3 and you want 01-Artist-Title.mp3 Just type&lt;/p&gt;</description></item><item><title>Directory Extractor</title><link>https://www.slurdge.org/project/directory-extractor/</link><pubDate>Thu, 26 Apr 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/directory-extractor/</guid><description>&lt;p&gt;Si vous avez des fichiers partout sur votre disque dur et que vous ne vous y
retrouvez plus, Directory Extractor est fait pour vous. Il contient un fichier
d&amp;rsquo;aide qui permet de comprendre son utilisation simplement. Sa fonction
d&amp;rsquo;analyse de taille des fichiers permet de voir où l&amp;rsquo;espace disque part
réellement. Il est écrit en C++ avec les MFC, il est compatible
Win98/Me/2000/XP. Sa petitesse et sa facilité d&amp;rsquo;installation (il suffit de le
copier dans un répertoire pour l&amp;rsquo;utiliser ) ne surchargent pas le disque dur.&lt;/p&gt;</description></item><item><title>Game section online</title><link>https://www.slurdge.org/posts/game-section-online/</link><pubDate>Thu, 26 Apr 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/posts/game-section-online/</guid><description>&lt;p&gt;The game section has been totally converted from the old site into the new one. You can browse the two games on the left.&lt;/p&gt;</description></item><item><title>Java Graphic Editor</title><link>https://www.slurdge.org/project/java-graphic-editor/</link><pubDate>Thu, 26 Apr 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/java-graphic-editor/</guid><description>&lt;p&gt;Cet éditeur est mon projet Java de seconde année (réalisé en coopération avec
Pierre-Yves Bocquet, qui s&amp;rsquo;est occupé de l&amp;rsquo;architecture interne des formes).
Pour lancer le programme, faites: Sous Windows, &amp;ldquo;javaw -jar
graphiceditor.jar&amp;rdquo;. Normalement, si Java est bien associé aux fichiers .jar,
vous pouvez double-cliquer dessus. Sous Linux ou autres, &amp;ldquo;java -jar
graphiceditor.jar&amp;rdquo;.&lt;/p&gt;</description></item><item><title>Kill duplicates</title><link>https://www.slurdge.org/project/kill-duplicates/</link><pubDate>Thu, 26 Apr 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/kill-duplicates/</guid><description>&lt;p&gt;This program makes it easy to remove file duplicate in a given directory.
There are plenty of programs that do the same thing, but this one is simple and efficient and in command line.
You can remove duplicates files based on same size or same sha1.&lt;/p&gt;
&lt;h2 id="installation-and-running"&gt;Installation and running&lt;/h2&gt;
&lt;p&gt;To run it, just install from the provided setup and then type:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#b0c4de;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;KillDuplicates
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;in a command line to see available options.&lt;/p&gt;</description></item><item><title>Spread</title><link>https://www.slurdge.org/project/spread/</link><pubDate>Wed, 25 Apr 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/spread/</guid><description>&lt;p&gt;How to play the game&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Launch Spread.exe and select options (in french). Default option are good enough, but try to set the Bpp to the one of your desktop (by default this is 24Bpp). You can also add players here and disable/enable music.&lt;/li&gt;
&lt;li&gt;Press any key to pass the intro screen, and Esc to quit the game. This game is played with the mouse.&lt;/li&gt;
&lt;li&gt;Each player, in turn, put a blob on one cell of the board. If there are too much blobs in one cell, it explodes and contaminate the adjacent cells (hence the Spread name). Try to be clever and to corrupt your adversary ! Note that only the current player can add blobs on his cells.&lt;/li&gt;
&lt;li&gt;The games ends when there is only one left (yes, like Highlander).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have problem running the game, please &lt;a href="https://www.slurdge.org/project/spread/#contact"&gt;contact me&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>New website</title><link>https://www.slurdge.org/posts/new-website/</link><pubDate>Wed, 18 Apr 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/posts/new-website/</guid><description>&lt;p&gt;The new website is up and running ! And some of you may have noticed from the theme, the site is now backed by Drupal. The drupal.org team and community has done an excellent job on this CMS, and my custom solution was no longer needed. I hope you enjoy the new design !&lt;/p&gt;</description></item><item><title>Quadro</title><link>https://www.slurdge.org/project/quadro/</link><pubDate>Wed, 18 Apr 2007 00:00:00 +0000</pubDate><guid>https://www.slurdge.org/project/quadro/</guid><description>&lt;p&gt;To install the game, just run the setup. The music version is bundled with
Hikaru no Go music, so I believe you must not download it if you do not own
the Hikaru no Go soundtrack. In this case, just download the version without
music. To play, run the game and select options from the menu. From then, it&amp;rsquo;s
the classic 4x4 game, in which each player plays in turn. You can select
computer play in the option, and adjust the strength of the A.I.. The harder
A.I. is very difficult to beat ! The whole game plays with the mouse.&lt;/p&gt;</description></item></channel></rss>