<?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>en.code-bude.net</title>
	<atom:link href="https://en.code-bude.net/feed/" rel="self" type="application/rss+xml" />
	<link>https://en.code-bude.net</link>
	<description>A blog forged from coffee and love.</description>
	<lastBuildDate>Mon, 28 Sep 2026 20:39:06 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>
	<item>
		<title>The Internet Is Dead, Isn&#8217;t It?</title>
		<link>https://en.code-bude.net/2026/09/28/the-internet-is-dead-isnt-it/</link>
					<comments>https://en.code-bude.net/2026/09/28/the-internet-is-dead-isnt-it/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Mon, 28 Sep 2026 20:39:06 +0000</pubDate>
				<category><![CDATA[Personal stuff]]></category>
		<category><![CDATA[Web Tips]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Stack Overflow]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1856</guid>

					<description><![CDATA[Lately I keep feeling that the internet has become a worse place. Not necessarily louder or slower, but emptier in the places where people used to be visible. Ten or fifteen years ago I could move through small personal blogs, read along in forums, disagree in comments and learn something almost by accident. It was a web made of many small voices. They were not always clever or pleasant, but they were recognisably human.
I remember evenings when I found a post about a problem, followed the comments and came away with a better solution. I wrote things myself, asked questions, corrected mistakes and linked to other sites. I still write about things such as my GitHub backup with Gickup and Forgejo or local AI in my homelab. A post used to be the beginning of a conversation rather than the end of one. Today I am much more likely to [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2026/09/28/the-internet-is-dead-isnt-it/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>GitHub backup with Gickup and Forgejo</title>
		<link>https://en.code-bude.net/2026/09/26/github-backup-with-gickup-and-forgejo/</link>
					<comments>https://en.code-bude.net/2026/09/26/github-backup-with-gickup-and-forgejo/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Sat, 26 Sep 2026 05:59:11 +0000</pubDate>
				<category><![CDATA[Homelab]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Forgejo]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[homelab]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1843</guid>

					<description><![CDATA[A large part of my work lives in my GitHub account codebude, which has grown over several years. It now contains around 70 repositories, public and private, including forks. You know the trade-off: a hosted account is convenient, but the copy still lives with someone else.
My goal is simple and concrete: every repository should be mirrored automatically to my own self-hosted Forgejo instance once a day. Not as a manual export I will eventually forget, but as a routine that keeps running while I am busy with something else.
That gives me a complete copy I can clone at any time, regardless of what happens to my GitHub account or the service. It does not prevent every possible kind of data loss, but it removes one important dependency.
First I will explain why I take this detour at all. Then we will build the workflow step by step with Gickup, Docker and [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2026/09/26/github-backup-with-gickup-and-forgejo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>When Docker Is Faster Than the NAS</title>
		<link>https://en.code-bude.net/2026/09/25/when-docker-is-faster-than-the-nas/</link>
					<comments>https://en.code-bude.net/2026/09/25/when-docker-is-faster-than-the-nas/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Fri, 25 Sep 2026 16:14:41 +0000</pubDate>
				<category><![CDATA[Homelab]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[homelab]]></category>
		<category><![CDATA[NFS]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1829</guid>

					<description><![CDATA[One morning, my backup tool failed for every GitHub repository it should mirror into my self-hosted Forgejo instance. The log contained ERR pkt-line 3: EOF git=push and Exiting with status=1. I first suspected the recently updated tool image. Plausible, quick to assume, and completely wrong.
The real cause was one layer below. Forgejo stores its repositories on the NAS, mounted into the container through NFS. My Docker host booted at 04:06:14, the Forgejo container started at 04:06:45, and the NFS mounts became active at 04:07:06, with the last one arriving at 04:07:16. Docker was faster than the NAS.
This order is dangerous because Docker resolves bind mounts when the container starts and creates missing source directories itself. If the mount point is only a local directory at that moment, Docker binds that empty directory. When NFS appears later, the host sees the real data, but the container remains attached to its local [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2026/09/25/when-docker-is-faster-than-the-nas/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>llama.cpp in Docker on WSL2 with CUDA</title>
		<link>https://en.code-bude.net/2026/09/25/llama-cpp-in-docker-on-wsl2-with-cuda/</link>
					<comments>https://en.code-bude.net/2026/09/25/llama-cpp-in-docker-on-wsl2-with-cuda/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Thu, 24 Sep 2026 22:05:50 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[CUDA]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[GGUF]]></category>
		<category><![CDATA[llama.cpp]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[Nvidia]]></category>
		<category><![CDATA[WSL2]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1787</guid>

					<description><![CDATA[In this guide, I will show you how I set up a local, OpenAI-compatible llama-server in Docker under WSL2 with CUDA acceleration, taking you from the basic arrangement to the first working request.
The finished setup runs llama-server in a container, uses the GPU through WSL2, and is configured with exactly one slot, -np 1, and at least 128k context. I need that size from my own experience because I run a coding agent such as OpenCode against it: smaller contexts trigger compaction too often and make the work tedious. A larger context would be nice, but it no longer fits into the VRAM of my setup. It is meant for one local workstation, not for a multi-user server where several people send requests at the same time.
Any client that speaks the OpenAI-compatible API can call the resulting endpoint, while the models run locally on your own machine instead of in [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2026/09/25/llama-cpp-in-docker-on-wsl2-with-cuda/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How I start Spotify on any Alexa with Home Assistant</title>
		<link>https://en.code-bude.net/2026/09/22/how-i-start-spotify-on-any-alexa-with-home-assistant/</link>
					<comments>https://en.code-bude.net/2026/09/22/how-i-start-spotify-on-any-alexa-with-home-assistant/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Tue, 22 Sep 2026 05:16:14 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[alexa]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[Home Assistant]]></category>
		<category><![CDATA[NFC]]></category>
		<category><![CDATA[Spotify]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1777</guid>

					<description><![CDATA[At home, my music comes from Spotify Premium, and most of my playback devices are Amazon Alexa devices.
I wanted my daughter to start her favorite songs without handling a phone or a screen. Tap an NFC card on the reader and the music starts: a kind of Toniebox, just built myself. The reader is a DIY build based on an ESP32 microcontroller and ESPHome Builder, following the adonno/tagreader template.
The obvious Home Assistant approach is the official Spotify integration plus media_player.play_media. That is not enough for a cold start, though. The integration can use play_media sensibly only when something is already playing. Starting a specific song, playlist or podcast from a stopped player is therefore not supported by this path. This is a limitation of the integration and its current media_player behavior, not a configuration mistake.
The solution is a small Python script. It asks the Spotify Web API for available Spotify [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2026/09/22/how-i-start-spotify-on-any-alexa-with-home-assistant/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Optimizing code-bude.net for PageSpeed: What I changed and what actually helped</title>
		<link>https://en.code-bude.net/2026/09/19/optimizing-code-bude-net-for-pagespeed-what-i-changed-and-what-actually-helped/</link>
					<comments>https://en.code-bude.net/2026/09/19/optimizing-code-bude-net-for-pagespeed-what-i-changed-and-what-actually-helped/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Sat, 19 Sep 2026 09:28:35 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[core-web-vitals]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[pagespeed]]></category>
		<category><![CDATA[performance]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1739</guid>

					<description><![CDATA[<img sizes="(max-width: 780px) 100vw, 780px" srcset="https://en.code-bude.net/wp-content/uploads/sites/2/2026/09/performance-measurement-en.png 1920w, https://en.code-bude.net/wp-content/uploads/sites/2/2026/09/performance-measurement-en-300x169.png 300w, https://en.code-bude.net/wp-content/uploads/sites/2/2026/09/performance-measurement-en-1024x576.png 1024w, https://en.code-bude.net/wp-content/uploads/sites/2/2026/09/performance-measurement-en-768x432.png 768w, https://en.code-bude.net/wp-content/uploads/sites/2/2026/09/performance-measurement-en-1536x864.png 1536w" loading="lazy" decoding="async" src="https://en.code-bude.net/wp-content/uploads/sites/2/2026/09/performance-measurement-en.png" alt="Diagram showing the measurement of load time, layout shift, images, CSS and fonts" width="1920" height="1080">PageSpeed is not an oracle. Bytes lie much less often than a single score.
I had run code-bude.net long enough to know its little points of friction. A homepage with 22 external CSS files, more than 100 KB of HTML and 1.2 MB PNG title images in listing views was no longer a charming bit of history. Lighthouse estimated 6.25 MB of image savings. The score moved between 27 and 55 depending on the run. That is not a measurement. It is a weather forecast with a very small cloud.
I worked in two rounds. First came images, CSS, critical CSS and fonts. Then I tackled Site Health findings, CLS, accessibility, security headers and icon fonts. The scores are useful [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2026/09/19/optimizing-code-bude-net-for-pagespeed-what-i-changed-and-what-actually-helped/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>From Bookstats to LibrisLog: How to Migrate Your Reading Statistics</title>
		<link>https://en.code-bude.net/2026/09/16/from-bookstats-to-librislog-how-to-migrate-your-reading-statistics/</link>
					<comments>https://en.code-bude.net/2026/09/16/from-bookstats-to-librislog-how-to-migrate-your-reading-statistics/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Wed, 16 Sep 2026 05:28:45 +0000</pubDate>
				<category><![CDATA[News & Apps]]></category>
		<category><![CDATA[Personal stuff]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[book tracker]]></category>
		<category><![CDATA[bookstats]]></category>
		<category><![CDATA[librislog]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[reading habits]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1693</guid>

					<description><![CDATA[Bookstats will not continue operating in the near future. The app announcement cited serious health problems affecting the person who keeps the project running. No fixed shutdown date or export deadline was given, and nobody knows what will happen to the server data after a shutdown. If your library still lives in Bookstats, I would export it now rather than wait.
The question of alternatives also came up in the Reddit thread about the Bookstats shutdown and the Bookcrossing thread about alternatives. I personally pointed to LibrisLog because it can import Bookstats export files and is designed for people who want to keep control of their own library data. The source code is openly available on GitHub. That reply is what led to this migration guide.
I am the developer of LibrisLog, and I ran the migration myself using my own Bookstats export. It contained 178 book rows. The workflow is pleasantly [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2026/09/16/from-bookstats-to-librislog-how-to-migrate-your-reading-statistics/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>LibrisLog 1.9.0: Smarter Import Search, Public Profiles and More</title>
		<link>https://en.code-bude.net/2026/09/15/librislog-1-9-0-smarter-import-search-public-profiles-and-more/</link>
					<comments>https://en.code-bude.net/2026/09/15/librislog-1-9-0-smarter-import-search-public-profiles-and-more/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Tue, 15 Sep 2026 21:42:32 +0000</pubDate>
				<category><![CDATA[News & Apps]]></category>
		<category><![CDATA[Personal stuff]]></category>
		<category><![CDATA[book tracker]]></category>
		<category><![CDATA[librislog]]></category>
		<category><![CDATA[reading habits]]></category>
		<category><![CDATA[Update]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1687</guid>

					<description><![CDATA[LibrisLog 1.9.0 is a substantial feature release rather than a tiny maintenance bump. Released on September 15, 2026, it focuses on import search, shareable profiles and the small points of friction that tend to turn a book tracker into a spreadsheet with feelings.
Edition groups and an import basket
Search results from different providers that describe the same book are now grouped into expandable edition groups. LibrisLog matches editions by ISBN or, when no ISBN is available, by title and authors. That makes it much easier to compare variants and pick the right one without losing results in a long, repetitive list.
The selected edition is highlighted, and a new import basket lets you collect results before importing them. The basket can be reviewed, individual entries can be removed, and everything can be imported in one go. Reading status, possession status and medium are kept with each entry, while duplicate additions are prevented.
<img [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2026/09/15/librislog-1-9-0-smarter-import-search-public-profiles-and-more/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>When the App You Love Dies, Build Your Own — Introducing LibrisLog</title>
		<link>https://en.code-bude.net/2026/06/03/when-the-app-you-love-dies-build-your-own-introducing-librislog/</link>
					<comments>https://en.code-bude.net/2026/06/03/when-the-app-you-love-dies-build-your-own-introducing-librislog/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Wed, 03 Jun 2026 13:54:18 +0000</pubDate>
				<category><![CDATA[Downloads]]></category>
		<category><![CDATA[Personal stuff]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Tips]]></category>
		<category><![CDATA[book tracker]]></category>
		<category><![CDATA[librislog]]></category>
		<category><![CDATA[reading habits]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1664</guid>

					<description><![CDATA[I was a happy Dante user. For those who don&#8217;t know it, Dante was a solid Android book tracker. Scan a barcode, look up metadata, track your reading progress. Simple, effective, and most importantly: it worked. Until it didn&#8217;t.
Adding books by title or barcode? The search API the app relied on had stopped responding, so neither ISBN lookups nor name searches worked anymore. Backups? Gone too. Dante had gone quiet: No updates in a long time, and the features that depended on external services had stopped working. I get it, though. Focus shifts. I&#8217;ve been there myself. I recently handed one of my own projects over to a new maintainer because I couldn&#8217;t keep up anymore. But understanding why doesn&#8217;t make it any less frustrating when it&#8217;s your bookshelf that&#8217;s stuck.
And that&#8217;s where the real pain started. Getting my own data out of Dante was a nightmare. There was no export function anymore. [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2026/06/03/when-the-app-you-love-dies-build-your-own-introducing-librislog/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Personal note: Passing the Torch on the Open-Source Project QRCoder</title>
		<link>https://en.code-bude.net/2026/06/03/personal-note-passing-the-torch-on-the-open-source-project-qrcoder/</link>
					<comments>https://en.code-bude.net/2026/06/03/personal-note-passing-the-torch-on-the-open-source-project-qrcoder/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Tue, 02 Jun 2026 22:01:01 +0000</pubDate>
				<category><![CDATA[C#.Net]]></category>
		<category><![CDATA[Personal stuff]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C# QR code]]></category>
		<category><![CDATA[QRCoder]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1658</guid>

					<description><![CDATA[Anyone who has searched this blog in recent years for solutions to generate QR codes in .NET will inevitably have come across my project, <b data-path-to-node="5" data-index-in-node="138">QRCoder</b>. I launched the library in October 2013, not primarily because I lacked other tools at the time, but as a personal programming challenge: My goal was to implement the official DIN/ISO standard for QR codes natively in C# from scratch myself. To understand the algorithms, to learn something new.
Over the years, this experiment has grown into a very successful open-source project that has now been downloaded millions of times via NuGet and is used in numerous commercial and private projects worldwide.
After 12 years, I decided in September 2025 to hand over the active maintenance and administrative management of the project. In this brief post, I would like to explain the background behind this decision and introduce the new maintainer.
The Reasons for the Transition
Maintaining [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2026/06/03/personal-note-passing-the-torch-on-the-open-source-project-qrcoder/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Speed up the Alexa app on Android – no more sluggishness</title>
		<link>https://en.code-bude.net/2025/10/03/speed-up-the-alexa-app-on-android-no-more-sluggishness/</link>
					<comments>https://en.code-bude.net/2025/10/03/speed-up-the-alexa-app-on-android-no-more-sluggishness/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Fri, 03 Oct 2025 19:43:27 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[alexa]]></category>
		<category><![CDATA[lag]]></category>
		<category><![CDATA[slow]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1652</guid>

					<description><![CDATA[
<img loading="lazy" decoding="async" class="alignleft wp-image-1655" src="https://en.code-bude.net/wp-content/uploads/sites/2/2025/10/Alexa-Speedup.png" alt="" width="450" height="245" srcset="https://en.code-bude.net/wp-content/uploads/sites/2/2025/10/Alexa-Speedup.png 1408w, https://en.code-bude.net/wp-content/uploads/sites/2/2025/10/Alexa-Speedup-300x164.png 300w, https://en.code-bude.net/wp-content/uploads/sites/2/2025/10/Alexa-Speedup-1024x559.png 1024w, https://en.code-bude.net/wp-content/uploads/sites/2/2025/10/Alexa-Speedup-768x419.png 768w" sizes="auto, (max-width: 450px) 100vw, 450px" />You know how it is: you open the Alexa app on your Android smartphone, click through the menus—and every “click” feels like it&#8217;s in slow motion. Whether you&#8217;re controlling smart home devices or looking for a simple setting, instead of a quick response, using the app becomes a test of patience.
I had exactly this problem. And the solution is as simple as it is curious.



The culprit: Contacts permission



In most cases, the cause of performance issues is not your smartphone or your internet connection, but rather an app permission. More specifically: access to your contacts.
In my case, the app apparently tried to scan through my 1,000+ contacts every time I changed pages. On a second smartphone with fewer contacts, it worked much faster. The fact is, as long as [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2025/10/03/speed-up-the-alexa-app-on-android-no-more-sluggishness/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Set up Namecheap.com DDNS in Synology DSM</title>
		<link>https://en.code-bude.net/2022/02/17/set-up-namecheap-com-ddns-in-synology-dsm/</link>
					<comments>https://en.code-bude.net/2022/02/17/set-up-namecheap-com-ddns-in-synology-dsm/#comments</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Thu, 17 Feb 2022 11:31:45 +0000</pubDate>
				<category><![CDATA[Test]]></category>
		<category><![CDATA[ddns]]></category>
		<category><![CDATA[dsm]]></category>
		<category><![CDATA[DynDNS]]></category>
		<category><![CDATA[Namecheap]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[synology]]></category>
		<category><![CDATA[synology dsm]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1627</guid>

					<description><![CDATA[
<img loading="lazy" decoding="async" src="https://en.code-bude.net/wp-content/uploads/sites/2/2022/02/namecheap-ddns-synology-dsm-en-1024x535.jpg" alt="namecheap-ddns-synology-dsm-en" class="alignleft wp-image-1629" width="396" height="208" srcset="https://en.code-bude.net/wp-content/uploads/sites/2/2022/02/namecheap-ddns-synology-dsm-en-1024x535.jpg 1024w, https://en.code-bude.net/wp-content/uploads/sites/2/2022/02/namecheap-ddns-synology-dsm-en-300x157.jpg 300w, https://en.code-bude.net/wp-content/uploads/sites/2/2022/02/namecheap-ddns-synology-dsm-en-768x401.jpg 768w, https://en.code-bude.net/wp-content/uploads/sites/2/2022/02/namecheap-ddns-synology-dsm-en.jpg 1200w" sizes="auto, (max-width: 396px) 100vw, 396px" />



Today&#8217;s article is about how to update DNS entries for domains from Namecheap.com via the Synology DSM function DDNS (Dynamic DNS). Since Namecheap.com is neither available as a provider in Synology DSM, nor do the formerly common intermediary services work, this is only possible with a small workaround. And this is exactly what I would like to show you today.



You need the following things for today&#8217;s tutorial:



A domain at Namecheap.comA Synology NAS (or a custom NAS with XPEnology)A webserver with PHP support 



In the next paragraph we will outline the actual problem again in detail. If you are only interested in the solution, you can skip the following paragraph&#8230;



What is the problem with Synology DSN and Namecheap?



Namecheap provides a url/web service that you can call to set a [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2022/02/17/set-up-namecheap-com-ddns-in-synology-dsm/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Crash course VPN: PrivadoVPN in test</title>
		<link>https://en.code-bude.net/2021/10/31/crash-course-vpn-privadovpn-in-test/</link>
					<comments>https://en.code-bude.net/2021/10/31/crash-course-vpn-privadovpn-in-test/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Sun, 31 Oct 2021 08:21:48 +0000</pubDate>
				<category><![CDATA[Test]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1548</guid>

					<description><![CDATA[
Over the last few years, the topic of VPNs has become more and more important. At least that is my personal feeling. Whether for daily surfing or as a sponsor for almost every second YouTuber &#8211; VPN providers are now continuously running across our path. Reason enough to test one of these providers again.



Today&#8217;s article is about Privado. First of all, to pay tribute to the idea of transparency: I received the account used for the test from Privado free of charge for 30 days. I did not receive any further compensation. Before we start with the actual test, let&#8217;s take a quick look at the topic &#8220;VPN&#8221;. If you already know what a VPN is for and what advantages/disadvantages it has, you can skip the following paragraph.



Why VPN?



First, let&#8217;s look at a definition. Wikipedia says…



A&#160;virtual private network&#160;(VPN) extends a&#160;private network&#160;across a public network and enables users to send and [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2021/10/31/crash-course-vpn-privadovpn-in-test/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AJAX, jQuery &#038; how to bypass the same-origin policy</title>
		<link>https://en.code-bude.net/2021/09/08/ajax-jquery-how-to-bypass-the-same-origin-policy/</link>
					<comments>https://en.code-bude.net/2021/09/08/ajax-jquery-how-to-bypass-the-same-origin-policy/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Wed, 08 Sep 2021 13:08:54 +0000</pubDate>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Wiki]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[cors]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[same origin policy]]></category>
		<category><![CDATA[sop]]></category>
		<category><![CDATA[sop bypass]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1605</guid>

					<description><![CDATA[<img sizes="(max-width: 780px) 100vw, 780px" loading="lazy" decoding="async" class="alignleft size-medium wp-image-6459" src="https://code-bude.net/wp-content/uploads/2017/07/AJAX-und-Cross-Domain-300x157.jpg" alt="AJAX und Cross-Domain" width="300" height="157">Today&#8217;s post is intended to give a brief introduction to the topic of AJAX with jQuery, as well as to cover the topic of cross domain (policy) and to show how you can use small tricks to send AJAX requests across multiple domains. Before we start, however, we will give you a quick introduction to the topic. If you are already familiar with the topic and are only interested in the AJAX cross-domain workaround, you can safely skip the first part of the article.
What is AJAX and how does it work in jQuery?
AJAX is an abbreviation and stands for &#8220;Asynchronous JavaScript And XML&#8221;. Contrary to the opinion of some people on the Internet, it is not a programming language, but rather a pattern, i.e. a way of programming something. By means of AJAX web content [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2021/09/08/ajax-jquery-how-to-bypass-the-same-origin-policy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Steganography with PHP &#8211; Hide files in images</title>
		<link>https://en.code-bude.net/2021/09/08/steganography-with-php-hide-files-in-images/</link>
					<comments>https://en.code-bude.net/2021/09/08/steganography-with-php-hide-files-in-images/#comments</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Wed, 08 Sep 2021 10:25:56 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Wiki]]></category>
		<category><![CDATA[decoding]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[hidden messages]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[steganography]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1600</guid>

					<description><![CDATA[<img sizes="(max-width: 780px) 100vw, 780px" loading="lazy" decoding="async" class="alignleft wp-image-5952" src="http://code-bude.net/wp-content/uploads/2016/04/Steganographie-mit-PHP.png" alt="Steganographie mit PHP" width="368" height="245">In this article we want to deal with the topic of steganography and implement a small example in PHP. Because PHP is not &#8220;only&#8221; used to create web pages or to implement forms, as any experienced PHP programmer of larger web agencies will surely confirm.
Besides functions for text processing, PHP also provides methods for image processing as well as for manipulation on bit and byte level. And these are the ones we want to use today. But before we start coding, we will have a short introduction to the topic of steganography.
Steganography is not shorthand
As the title already announced, today&#8217;s topic is steganography, the art of hiding information or knowledge in a carrier medium. Wikipedia defines steganography as follows:
Steganography (/ˌstɛɡəˈnɒɡrəfi/) is the practice of concealing a message within another message or a physical object. In computing/electronic [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2021/09/08/steganography-with-php-hide-files-in-images/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Basics: Secure password hashing with salts</title>
		<link>https://en.code-bude.net/2021/09/08/basics-secure-password-hashing-with-salts/</link>
					<comments>https://en.code-bude.net/2021/09/08/basics-secure-password-hashing-with-salts/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Wed, 08 Sep 2021 07:35:22 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Wiki]]></category>
		<category><![CDATA[hashing]]></category>
		<category><![CDATA[salting]]></category>
		<category><![CDATA[securing passwords]]></category>
		<category><![CDATA[web-programming]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1562</guid>

					<description><![CDATA[<img sizes="(max-width: 780px) 100vw, 780px" loading="lazy" decoding="async" class="alignleft wp-image-5388 " style="margin-bottom: 5px; margin-right: 15px;" src="http://code-bude.net/wp-content/uploads/2015/03/Passwörter-in-Plaintext-speichern-300x230.jpg" alt="Passwörter in Plaintext speichern" width="253" height="194" />Anyone who develops software and especially if he/she does so in the web environment, has certainly already written one or the other login system or at least had points of contact in this area. Besides the logic of a secure login or user management system, the secure storage of passwords is one of the most important points during implementation.
Even if the actual login code is 100 percent error-free and secure (which should never be assumed in practice), security vulnerabilities in the server software can still lead to intrusions or hacks. There is always a variable that is out of one&#8217;s control and thus websites are hacked, compromised and complete databases with usernames and passwords are read every day.
In order to protect users in the best possible way in the [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2021/09/08/basics-secure-password-hashing-with-salts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Wildcards in Google Suggest nutzen</title>
		<link>https://en.code-bude.net/2021/09/06/wildcards-in-google-suggest-nutzen/</link>
					<comments>https://en.code-bude.net/2021/09/06/wildcards-in-google-suggest-nutzen/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Mon, 06 Sep 2021 13:31:43 +0000</pubDate>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web Tips]]></category>
		<category><![CDATA[google autocomplete]]></category>
		<category><![CDATA[Google suggest]]></category>
		<category><![CDATA[google wildcard]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1556</guid>

					<description><![CDATA[<img loading="lazy" decoding="async" class="alignleft size-medium wp-image-1557" src="https://en.code-bude.net/wp-content/uploads/sites/2/2015/03/google-suggest-theme-picture-300x136.png" alt="google-suggest-theme-picture" width="300" height="136" srcset="https://en.code-bude.net/wp-content/uploads/sites/2/2015/03/google-suggest-theme-picture-300x136.png 300w, https://en.code-bude.net/wp-content/uploads/sites/2/2015/03/google-suggest-theme-picture.png 608w" sizes="auto, (max-width: 300px) 100vw, 300px" />Regular users of my blog should already be familiar with &#8220;Google Suggest&#8221;. Those can skip ahead to the section &#8220;Wildcard operator in Google Suggest&#8221;, for all others here is the quick start. Google Suggest is the name of the Google functionality that is responsible for suggesting possible search queries while you are typing your search query. For example, if you type &#8220;What are the most popular&#8221;, Google will suggest &#8220;What are the most popular sports in Australia&#8221;. The suggestions, in turn, are based on the one hand on the user&#8217;s own Google search profile and on the other hand on the most frequent search queries currently sent to Google by other users.
For webmasters, SEOs (search engine optimizers) and Internet marketers, however, the Google Suggest feature has a completely different benefit than [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2021/09/06/wildcards-in-google-suggest-nutzen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to: Clear DNS cache on all kind of systems</title>
		<link>https://en.code-bude.net/2021/09/06/how-to-clear-dns-cache-on-all-kind-of-systems/</link>
					<comments>https://en.code-bude.net/2021/09/06/how-to-clear-dns-cache-on-all-kind-of-systems/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Mon, 06 Sep 2021 09:36:27 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Wiki]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[clear dns]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[dns cache]]></category>
		<category><![CDATA[flush dns]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1550</guid>

					<description><![CDATA[
Every few weeks I stumble across the same issue again: &#8220;How could the DNS cache be cleared again?&#8221; I admit, clearing DNS cache is not a daily task, but when it comes to it, you usually forgot the commands. That&#8217;s why the following is a short tutorial on how to empty the DNS cache in various operating systems and browsers.
Before we get to the individual solutions, I&#8217;d like to quickly explain what the DNS cache is for in the first place and when you should flush it (that&#8217;s the English term).
What is the DNS cache and when should you clear it?
The Domain Name System (DNS) is an essential service within IP-based networks, such as the Internet. If a user makes a request to a server via a program and uses a domain such as &#8220;code-bude.net&#8221;, the program first makes a request to a name server, which then determines the corresponding [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2021/09/06/how-to-clear-dns-cache-on-all-kind-of-systems/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Restore unsaved documents in Word</title>
		<link>https://en.code-bude.net/2018/04/29/restore-unsaved-documents-in-word/</link>
					<comments>https://en.code-bude.net/2018/04/29/restore-unsaved-documents-in-word/#comments</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Sun, 29 Apr 2018 17:41:39 +0000</pubDate>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[MAC OS X]]></category>
		<category><![CDATA[Microsoft Office]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Word]]></category>
		<category><![CDATA[word auto save]]></category>
		<category><![CDATA[word recover document]]></category>
		<category><![CDATA[word recover non saved file]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1439</guid>

					<description><![CDATA[<img loading="lazy" decoding="async" class="alignleft size-medium wp-image-1440" src="https://en.code-bude.net/wp-content/uploads/sites/2/2018/04/How-to-recover-word-documents-300x157.jpg" alt="How to recover word documents" width="300" height="157" srcset="https://en.code-bude.net/wp-content/uploads/sites/2/2018/04/How-to-recover-word-documents-300x157.jpg 300w, https://en.code-bude.net/wp-content/uploads/sites/2/2018/04/How-to-recover-word-documents-1024x535.jpg 1024w, https://en.code-bude.net/wp-content/uploads/sites/2/2018/04/How-to-recover-word-documents-768x401.jpg 768w, https://en.code-bude.net/wp-content/uploads/sites/2/2018/04/How-to-recover-word-documents.jpg 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" />I think almost everyone knows the scenario: You work on a Word document and either Word itself or the entire computer crashes. In order to prevent a total loss of the document, Word can activate the so-called &#8220;auto save&#8221; function, which saves the document automatically every X minutes. So in a crash only the changes since the last automatic save are lost.
But what if you had not saved the document yet? In this case, Word does not automatically restore the document. But here, too, is one last salvation. We want to look at both tips in the following.
Enable automatic saving in Word
First, the automatic save should be activated. If this is active, you can even recover documents that have not yet been saved. [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2018/04/29/restore-unsaved-documents-in-word/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>Update Node.js and NPM via commandline</title>
		<link>https://en.code-bude.net/2018/04/21/update-node-js-and-npm-via-commandline/</link>
					<comments>https://en.code-bude.net/2018/04/21/update-node-js-and-npm-via-commandline/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Sat, 21 Apr 2018 09:47:12 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[Node.js]]></category>
		<category><![CDATA[NodeJS]]></category>
		<category><![CDATA[NPM]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1435</guid>

					<description><![CDATA[<img loading="lazy" decoding="async" class="alignleft size-medium wp-image-1436" src="https://en.code-bude.net/wp-content/uploads/sites/2/2018/04/How-to-update-NodeJS-and-NPM-via-Shell-300x157.jpg" alt="How to update NodeJS and NPM via Shell" width="300" height="157" srcset="https://en.code-bude.net/wp-content/uploads/sites/2/2018/04/How-to-update-NodeJS-and-NPM-via-Shell-300x157.jpg 300w, https://en.code-bude.net/wp-content/uploads/sites/2/2018/04/How-to-update-NodeJS-and-NPM-via-Shell-1024x535.jpg 1024w, https://en.code-bude.net/wp-content/uploads/sites/2/2018/04/How-to-update-NodeJS-and-NPM-via-Shell-768x401.jpg 768w, https://en.code-bude.net/wp-content/uploads/sites/2/2018/04/How-to-update-NodeJS-and-NPM-via-Shell.jpg 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" />Today&#8217;s article falls into the category &#8220;reminder&#8221;. Every few months I write smaller projects with Node.js. But before I start, I&#8217;d like to update to the latest version, and that&#8217;s where the dilemma starts. Every time I forget the command line commands for it.
Therefore, here are the short and concise CMD/Shell/Bash commands for updating Node.js and NPM. Once for macOS (OSX) / Linux and once for Windows.
Update NPM on Linux and macOS (OS X)

sudo npm install -g npm

Whether the update was successful can be tested with the following command.
npm -v
Update NPM on Windows
The following commands have to be set in Powershell (Start -&#62; &#8220;powershell&#8221; -&#62; right click -&#62; Run as Administrator). Each line corresponds to one command.

Set-ExecutionPolicy Unrestricted -Scope CurrentUser [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2018/04/21/update-node-js-and-npm-via-commandline/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Check Paypal account balance and transactions via C# API</title>
		<link>https://en.code-bude.net/2018/02/21/check-paypal-account-balance-and-transactions-via-csharp-api/</link>
					<comments>https://en.code-bude.net/2018/02/21/check-paypal-account-balance-and-transactions-via-csharp-api/#comments</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Wed, 21 Feb 2018 18:14:42 +0000</pubDate>
				<category><![CDATA[C#.Net]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Paypal]]></category>
		<category><![CDATA[Paypal API]]></category>
		<category><![CDATA[Paypal C#]]></category>
		<category><![CDATA[Paypayl SOAP API]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1405</guid>

					<description><![CDATA[<img loading="lazy" decoding="async" class="alignleft size-medium wp-image-1406" src="https://en.code-bude.net/wp-content/uploads/sites/2/2018/02/How-to-use-Paypal-API-in-Csharp-300x157.jpg" alt="How to use Paypal-API in Csharp" width="300" height="157" srcset="https://en.code-bude.net/wp-content/uploads/sites/2/2018/02/How-to-use-Paypal-API-in-Csharp-300x157.jpg 300w, https://en.code-bude.net/wp-content/uploads/sites/2/2018/02/How-to-use-Paypal-API-in-Csharp-1024x535.jpg 1024w, https://en.code-bude.net/wp-content/uploads/sites/2/2018/02/How-to-use-Paypal-API-in-Csharp-768x401.jpg 768w, https://en.code-bude.net/wp-content/uploads/sites/2/2018/02/How-to-use-Paypal-API-in-Csharp.jpg 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" />After we had a look at how to sent push notifications via C# recently, there are plans for the next C# article today. This time it&#8217;s about how to read account balance, sales and transactions and other things of a Paypal account.
First some basic information. Although Paypal is an &#8220;online account&#8221;, in many ways it differs from an online (giro) account of a &#8220;classic&#8221; bank. For example, Paypal does not support the Homebanking Computer Interface (HBCI) to retrieve account information or send payments. Instead, Paypal offers different APIs (REST, SOAP, + SDKs, &#8230;), which differ not only in structure and technology, but especially in the range of functions. For our purposes we will use the so-called &#8220;NVP / SOAP API&#8221; and connect [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2018/02/21/check-paypal-account-balance-and-transactions-via-csharp-api/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>How to send push notifications in C#</title>
		<link>https://en.code-bude.net/2018/02/14/send-push-notifications-c/</link>
					<comments>https://en.code-bude.net/2018/02/14/send-push-notifications-c/#comments</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Wed, 14 Feb 2018 19:17:26 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[C#.Net]]></category>
		<category><![CDATA[News & Apps]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Test]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1398</guid>

					<description><![CDATA[<img loading="lazy" decoding="async" class="alignleft size-medium wp-image-1399" src="https://en.code-bude.net/wp-content/uploads/sites/2/2018/02/Push-notifications-in-C-Sharp-300x157.jpg" alt="Push-notifications-in C-Sharp" width="300" height="157" srcset="https://en.code-bude.net/wp-content/uploads/sites/2/2018/02/Push-notifications-in-C-Sharp-300x157.jpg 300w, https://en.code-bude.net/wp-content/uploads/sites/2/2018/02/Push-notifications-in-C-Sharp-1024x535.jpg 1024w, https://en.code-bude.net/wp-content/uploads/sites/2/2018/02/Push-notifications-in-C-Sharp-768x401.jpg 768w, https://en.code-bude.net/wp-content/uploads/sites/2/2018/02/Push-notifications-in-C-Sharp.jpg 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" />In today&#8217;s article, we&#8217;ll look at how to push notifications out of C# onto smartphones or other devices. It does not matter if it is an Android or an Apple / iOS device. But when do you need such functionality?
For example, I run a few niche sites (affiliate websites) with which I earn monthly through affiliate programs. However, the revenue reports have to be picked up proactively in almost all affiliate programs. So I wrote a small C# client, which regularly downloads the reports and sends me a push notification for new sales. That&#8217;s just one of many uses and I&#8217;m sure you&#8217;ll think of a few more. But now back to the topic.
Selection of push platform
For a quick and easy integration of the push functionality [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2018/02/14/send-push-notifications-c/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Get a new IP without router reset, VPN or connection reset</title>
		<link>https://en.code-bude.net/2017/12/05/get-new-ip-without-router-reset-vpn-connection-reset/</link>
					<comments>https://en.code-bude.net/2017/12/05/get-new-ip-without-router-reset-vpn-connection-reset/#respond</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Tue, 05 Dec 2017 19:35:36 +0000</pubDate>
				<category><![CDATA[Test]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web Tips]]></category>
		<category><![CDATA[change ip address]]></category>
		<category><![CDATA[change ip for free]]></category>
		<category><![CDATA[change ip without vpn]]></category>
		<category><![CDATA[fake ip adress]]></category>
		<category><![CDATA[hide ip address]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[x-forwarded-for]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1381</guid>

					<description><![CDATA[<img loading="lazy" decoding="async" class="alignleft size-medium wp-image-1383" src="https://en.code-bude.net/wp-content/uploads/sites/2/2017/12/How-to-change-ip-address-without-proxy-or-vpn-300x157.jpg" alt="How to change ip address without proxy or vpn" width="300" height="157" srcset="https://en.code-bude.net/wp-content/uploads/sites/2/2017/12/How-to-change-ip-address-without-proxy-or-vpn-300x157.jpg 300w, https://en.code-bude.net/wp-content/uploads/sites/2/2017/12/How-to-change-ip-address-without-proxy-or-vpn-1024x535.jpg 1024w, https://en.code-bude.net/wp-content/uploads/sites/2/2017/12/How-to-change-ip-address-without-proxy-or-vpn-768x401.jpg 768w, https://en.code-bude.net/wp-content/uploads/sites/2/2017/12/How-to-change-ip-address-without-proxy-or-vpn.jpg 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" />In the past, there were more and more &#8211; the websites on which a specific action was allowed to run only X times a day. Today, it&#8217;s more like geo-blocking &#8211; locking out certain users based on their country of origin. However, both variants are based on the same technique: the evaluation of the IP address. In the first case, accesses from an IP address are counted (in addition to cookies) &#8211; in the second case, a database is used to evaluate where in the world the user behind a specific IP address is staying. Both locks can often be bypassed by changing the IP address.
There are several ways to change the IP address. To bypass a &#8220;count lock&#8221;, disconnecting [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2017/12/05/get-new-ip-without-router-reset-vpn-connection-reset/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Update: WordPress2Doc 1.2.8.5</title>
		<link>https://en.code-bude.net/2017/12/03/update-wordpress2doc-1-2-8-5/</link>
					<comments>https://en.code-bude.net/2017/12/03/update-wordpress2doc-1-2-8-5/#comments</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Sat, 02 Dec 2017 23:15:29 +0000</pubDate>
				<category><![CDATA[Downloads]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1378</guid>

					<description><![CDATA[<img sizes="(max-width: 780px) 100vw, 780px" loading="lazy" decoding="async" class="alignleft wp-image-6773 size-medium" src="https://code-bude.net/wp-content/uploads/2017/12/WordPress2Doc-1.2.8.0-Release-300x157.jpg" alt="WordPress2Doc - 1.2.8.5 Release" width="300" height="157" />Round about 8 months ago, I release the last WordPress2Doc update. Some may have thought that the project has fallen asleep. But that is not the case.
There is always something going on/changing on the codebase (available on GitHub) and today there is also a new &#8220;real&#8221; release.
From now on WordPress2Doc is available in version 1.2.8.5. In addition to a new feature, the release also includes a bugfix (that fixes a problem with images coming from blogs with SSL / https support). So let&#8217;s do it quick today &#8230;
WordPress2Doc 1.2.8.5 &#8211; what is new?
The following points have changed/are new:

Feature: From now on, the document header can be formatted via the application settings. On request, the title, the author, date of the article as well as tags and categories can be displayed.
Bugfix: For blogs running [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2017/12/03/update-wordpress2doc-1-2-8-5/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Default field lengths for address fields in databases</title>
		<link>https://en.code-bude.net/2017/09/03/default-field-lengths-for-address-fields-in-databases/</link>
					<comments>https://en.code-bude.net/2017/09/03/default-field-lengths-for-address-fields-in-databases/#comments</comments>
		
		<dc:creator><![CDATA[Raffael]]></dc:creator>
		<pubDate>Sun, 03 Sep 2017 12:54:30 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Wiki]]></category>
		<category><![CDATA[adr06]]></category>
		<category><![CDATA[adrc]]></category>
		<category><![CDATA[database field length]]></category>
		<category><![CDATA[SAP]]></category>
		<category><![CDATA[t005t]]></category>
		<guid isPermaLink="false">https://en.code-bude.net/?p=1207</guid>

					<description><![CDATA[<img loading="lazy" decoding="async" class="alignleft size-medium wp-image-1208" src="https://en.code-bude.net/wp-content/uploads/sites/2/2017/09/Standard-lengths-for-address-fields-in-databases-300x157.jpg" alt="Standard lengths for address fields in databases" width="300" height="157" srcset="https://en.code-bude.net/wp-content/uploads/sites/2/2017/09/Standard-lengths-for-address-fields-in-databases-300x157.jpg 300w, https://en.code-bude.net/wp-content/uploads/sites/2/2017/09/Standard-lengths-for-address-fields-in-databases-1024x535.jpg 1024w, https://en.code-bude.net/wp-content/uploads/sites/2/2017/09/Standard-lengths-for-address-fields-in-databases-768x401.jpg 768w, https://en.code-bude.net/wp-content/uploads/sites/2/2017/09/Standard-lengths-for-address-fields-in-databases.jpg 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" />Today, we will dive into some more theoretical stuff. The topic of this article will be field lengths of database fields for addresses. For every second database I create, I am faced with the same problem: How long / &#8220;big&#8221; do I actually make the database fields for addresses? So fields, such as first name, surname, street, e-mail address, etc.
So far I have oriented myself to given requirements or old databases. But now I wanted to work up the topic once for all right. So the question is: Is there actually a standard for address field lengths?
Looking for standards for address field lengths
A search for &#8220;address field lengths for databases&#8221; spits a huge amount of hits. Unfortunately there are only opinions [...]]]></description>
		
					<wfw:commentRss>https://en.code-bude.net/2017/09/03/default-field-lengths-for-address-fields-in-databases/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>