<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Taco Steemers</title><link>https://tacosteemers.com/</link><description>A personal blog.</description><lastBuildDate>Mon, 01 Jan 2024 00:00:00 +0100</lastBuildDate><item><title>Consider backing up build dependencies</title><link>https://tacosteemers.com/articles/consider_backing_up_build_dependencies.html</link><description>&lt;p&gt;Software build dependencies are a risk in general. A specific risk less often discussed is that libraries and packages might become unavailable.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Mon, 01 Jan 2024 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2024-01-01:/articles/consider_backing_up_build_dependencies.html</guid><category>General notes</category><category>software development</category><category>gradle</category></item><item><title>Factors in deciding which jlink compression level to use</title><link>https://tacosteemers.com/articles/java_jlink_compression_levels.html</link><description>&lt;p&gt;Here are some ideas that may help knowledge workers in their approach to assignments or projects.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sat, 11 Mar 2023 01:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2023-03-11:/articles/java_jlink_compression_levels.html</guid><category>Technical Notes</category><category>java</category></item><item><title>Succeeding with work assignments</title><link>https://tacosteemers.com/articles/succeeding_with_work_assignments.html</link><description>&lt;p&gt;Here are some ideas that may help knowledge workers in their approach to assignments or projects.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Tue, 19 Jul 2022 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2022-07-19:/articles/succeeding_with_work_assignments.html</guid><category>General Notes</category><category>work</category></item><item><title>In case you have doubts about putting your (hobby) stuff out there</title><link>https://tacosteemers.com/articles/hobby_stuff_doubts.html</link><description>&lt;p&gt;There is going to be someone out there who is a good fit for what you made. They will like it, and even though you might not know they exist, and they forget about you the moment a notification comes in on their phone, something good was accomplished there.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Fri, 14 Jan 2022 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2022-01-14:/articles/hobby_stuff_doubts.html</guid><category>General Notes</category><category>writing</category></item><item><title>What is HTTP, actually? What happens when we access a web page</title><link>https://tacosteemers.com/articles/http.html</link><description>&lt;p&gt;What is HTTP, actually? A short description the Hypertext Transfer Protocol and what happens when we want to access a web page.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sat, 08 Jan 2022 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2022-01-08:/articles/http.html</guid><category>Technical Notes</category><category>work</category></item><item><title>Starting up: low friction, minimal process and minimal tools</title><link>https://tacosteemers.com/articles/2022-02-01-starting_up_low_friction.html</link><description>&lt;p&gt;Preserving project speed and enjoyment -- We can keep up a high iteration speed by keeping things simple and only introducing tools and processes when we absolutely have to.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sun, 02 Jan 2022 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2022-01-02:/articles/2022-02-01-starting_up_low_friction.html</guid><category>General Notes</category><category>work</category></item><item><title>Title keywords make company websites easier to find later on</title><link>https://tacosteemers.com/articles/2021-12-27-keywords-in-website-title.html</link><description>&lt;p&gt;It is a good idea to put some keywords in your landing page title. Without keywords in the title I can't find you anymore next week when I need you.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Mon, 27 Dec 2021 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2021-12-27:/articles/2021-12-27-keywords-in-website-title.html</guid><category>General Notes</category><category>websites</category></item><item><title>Catching an exception from an annotation on a JAX-RS resource</title><link>https://tacosteemers.com/articles/catching_exceptions_from_annotated_resources.html</link><description>&lt;p&gt;An exception resulting from an annotation cannot be caught in a regular try / catch block because the result of the annotation is computed before our code is executed.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Thu, 25 Nov 2021 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2021-11-25:/articles/catching_exceptions_from_annotated_resources.html</guid><category>Technical Notes</category><category>java</category></item><item><title>Checking checksums</title><link>https://tacosteemers.com/articles/checking-checksums.html</link><description>&lt;p&gt;This page is about file checksums for situations where the distributor of the file also provides the checksum. If available, we always want to compare a given checksum with the checksum of the file we downloaded.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Wed, 22 Sep 2021 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2021-09-22:/articles/checking-checksums.html</guid><category>Technical Notes</category><category>checksums</category></item><item><title>Thinking about how to organise my writing</title><link>https://tacosteemers.com/articles/2021-09-18-thinking_about_how_to_organise_my_writing.html</link><description>&lt;p&gt;Thinking out loud about where to place notes, as opposed to blog posts, and how to get them easy to find.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sat, 18 Sep 2021 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2021-09-18:/articles/2021-09-18-thinking_about_how_to_organise_my_writing.html</guid><category>General Notes</category><category>writing</category></item><item><title>Automatically blocking a git commit if we detect a known mistake</title><link>https://tacosteemers.com/articles/2021-08-10-automatically_blocking_a_git_commit_if_we_detect_a_known_mistake.html</link><description>&lt;p&gt;It is possible to automatically block a git commit if it makes a known mistake. This can be done with a pre-commit hook.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Tue, 10 Aug 2021 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2021-08-10:/articles/2021-08-10-automatically_blocking_a_git_commit_if_we_detect_a_known_mistake.html</guid><category>Technical Notes</category><category>software development</category><category>git</category><category>version control</category><category>workflow</category></item><item><title>Avoid unmaintained and undifferentiated forks on your repository hosting profile</title><link>https://tacosteemers.com/articles/2021-08-09_avoid_unmaintained_and_undifferentiated_forks_on_your_repository_hosting_profile.html</link><description>&lt;p&gt;By forking many projects some people end up with too much on their profile page. Their original projects are hard to find. If you want to check out a project you can make a local clone. When you fork a project online, you are offering that project in that state. People might take you up on your offer and start using it as-is. You have a responsibility there.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Mon, 09 Aug 2021 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2021-08-09:/articles/2021-08-09_avoid_unmaintained_and_undifferentiated_forks_on_your_repository_hosting_profile.html</guid><category>Technical Notes</category><category>software development</category><category>git</category><category>version control</category><category>workflow</category></item><item><title>Diagramming can be a valuable tool for thinking as well as communication</title><link>https://tacosteemers.com/articles/2020-11-22-diagramming-can-be-a-valuable-tool.html</link><description>&lt;p&gt;Words alone are sometimes not sufficient. Diagrams can help us understand a situation in new ways, assisting with our thinking as well as communication. If you don't diagram already, try it out!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sun, 22 Nov 2020 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-11-22:/articles/2020-11-22-diagramming-can-be-a-valuable-tool.html</guid><category>General Notes</category><category>software development</category><category>plantuml</category></item><item><title>On clarifying the status of demoed products</title><link>https://tacosteemers.com/articles/2020-10-25-on-clarifying-the-status-of-demoed-products.html</link><description>&lt;p&gt;Giving a demonstration of a future product or feature can be a great way to check if development is on the right track. Unfortunately stakeholders don't always understand that a demo can be very far from a finished product.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sun, 25 Oct 2020 02:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-10-25:/articles/2020-10-25-on-clarifying-the-status-of-demoed-products.html</guid><category>General Notes</category><category>work</category><category>software development</category></item><item><title>Some files and information should not be in source control</title><link>https://tacosteemers.com/articles/2020-10-23-some-files-and-information-should-not-be-in-source-control.html</link><description>&lt;p&gt;Which are they, what should we do with them instead, and how can we avoid mistakes?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Fri, 23 Oct 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-10-23:/articles/2020-10-23-some-files-and-information-should-not-be-in-source-control.html</guid><category>Technical Notes</category><category>software development</category><category>git</category><category>version control</category><category>workflow</category></item><item><title>Prefer to create constructive or uplifting conversations at work</title><link>https://tacosteemers.com/articles/2020-10-18-prefer-to-create-constructive-or-uplifting-conversations-at-work.html</link><description>&lt;p&gt;It is healthy to discuss negative parts of situations. When we are part of such a discussion, it is good if we can turn it in to an uplifting or constructive conversation.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sun, 18 Oct 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-10-18:/articles/2020-10-18-prefer-to-create-constructive-or-uplifting-conversations-at-work.html</guid><category>General Notes</category><category>work</category></item><item><title>Dark and light web themes: consider using a hybrid CSS/JS implementation</title><link>https://tacosteemers.com/articles/2020-10-17-dark-and-light-web-themes-consider-using-a-hybrid-approach.html</link><description>&lt;p&gt;Instead of using either CSS media queries for operating system theme preferences or a Javacript-based theme selector we can use both. An automatic CSS-based switching and JS-based switching where the user can choose.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sat, 17 Oct 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-10-17:/articles/2020-10-17-dark-and-light-web-themes-consider-using-a-hybrid-approach.html</guid><category>Technical Notes</category><category>websites</category><category>usability</category></item><item><title>Usability anti-pattern: no controls in fullscreen</title><link>https://tacosteemers.com/articles/2020-10-16-ux-anti-pattern-no-controls-in-fullscreen.html</link><description>&lt;p&gt;A fullscreen window needs to have an obvious button to get out of fullscreen mode.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Fri, 16 Oct 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-10-16:/articles/2020-10-16-ux-anti-pattern-no-controls-in-fullscreen.html</guid><category>General Notes</category><category>usability</category></item><item><title>Thoughts on self-managing teams</title><link>https://tacosteemers.com/articles/2020-10-08-thoughts_on_self-managing_teams.html</link><description>&lt;p&gt;Self-managing teams are great. People feel their shared responsibility and come together to solve problems. There should be someone that is authorized to make decisions on specific topics. And the topic 'people' should not be forgotten.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Thu, 08 Oct 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-10-08:/articles/2020-10-08-thoughts_on_self-managing_teams.html</guid><category>General Notes</category><category>work</category></item><item><title>Git: how can we squash (flatten) commits</title><link>https://tacosteemers.com/articles/2020-09-27-git-how-can-we-squash-flatten-commits.html</link><description>&lt;p&gt;In this article I explain two ways in which we can squash commits.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sun, 27 Sep 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-09-27:/articles/2020-09-27-git-how-can-we-squash-flatten-commits.html</guid><category>Technical Notes</category><category>version control</category><category>git</category></item><item><title>The Twitter share button does not need javascript</title><link>https://tacosteemers.com/articles/2020-08-30-twitter-share-button-does-not-need-javascript.html</link><description>&lt;p&gt;When we let Twitter generate a 'tweet this button' for our website,
Twitter includes a javascript file. 
We don't need to include this javascript file.
The share button can be just a hyperlink. 
Twitter uses the referrer header to determine which URL the user wants to tweet about.&lt;/p&gt;
&lt;p&gt;The javascript …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sun, 30 Aug 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-08-30:/articles/2020-08-30-twitter-share-button-does-not-need-javascript.html</guid><category>Technical Notes</category><category>websites</category></item><item><title>Git pull without merge</title><link>https://tacosteemers.com/articles/2020-08-18-git-pull-without-merge.html</link><description>&lt;p&gt;Applying remote changes to our local branch without an additional merge commit&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Tue, 18 Aug 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-08-18:/articles/2020-08-18-git-pull-without-merge.html</guid><category>Technical Notes</category><category>version control</category><category>git</category></item><item><title>When (not) to squash commits</title><link>https://tacosteemers.com/articles/2020-07-10-when-(not)-to-squash-commits.html</link><description>&lt;p&gt;In this article I want to talk about squashing (flattening) a series of commits in to one commit. Squashing is a good tool to have, but not everything should be squashed away. Intermediate commit history can have value.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Fri, 10 Jul 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-07-10:/articles/2020-07-10-when-(not)-to-squash-commits.html</guid><category>Technical Notes</category><category>version control</category></item><item><title>Please use root relative URLs</title><link>https://tacosteemers.com/articles/2020-06-21-please-use-root-relative-urls.html</link><description>&lt;p&gt;Resources with URLs that do not specify the root will not be loaded if the user visits a subpage directly.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sun, 21 Jun 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-06-21:/articles/2020-06-21-please-use-root-relative-urls.html</guid><category>Technical Notes</category><category>websites</category></item><item><title>Creating a new website without breaking search engine results and bookmarks</title><link>https://tacosteemers.com/articles/2020-06-14-creating-a-new-website-without-breaking-search-engine-results-and-bookmarks.html</link><description>&lt;p&gt;When moving our website to a different CMS or framework we might end up with a different URL structure. This is bad for search engine rankings and people's bookmarks. To avoid problems we can use rewrite rules and redirect rules.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sun, 14 Jun 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-06-14:/articles/2020-06-14-creating-a-new-website-without-breaking-search-engine-results-and-bookmarks.html</guid><category>Technical Notes</category><category>websites</category></item><item><title>Notes on making drag-and-drop functionality with Javascript</title><link>https://tacosteemers.com/articles/2020-06-06-notes-on-making-drag-and-drop-functionality-with-javascript.html</link><description>&lt;p&gt;When I wanted to make drag and drop functionality I found there were plenty of tutorials out there. I am adding a few more words on the topic because I had to find workarounds for issues that I didn't find mentioned elsewhere.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sat, 06 Jun 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-06-06:/articles/2020-06-06-notes-on-making-drag-and-drop-functionality-with-javascript.html</guid><category>Technical Notes</category><category>websites</category></item><item><title>Why can the data we just stored on disk not be read?</title><link>https://tacosteemers.com/articles/2020-05-31-why-can-the-data-we-just-stored-on-disk-not-be-read.html</link><description>&lt;p&gt;Data that our code writes to a file may not be accessible immediately after writing.
One reason is that some output stream implementations use buffers, 
and prefer to write out their whole buffer in one go.
In these situations, if we want to be sure the data can be read …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sun, 31 May 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-05-31:/articles/2020-05-31-why-can-the-data-we-just-stored-on-disk-not-be-read.html</guid><category>Technical Notes</category><category>software development</category></item><item><title>How to avoid displaying directory listings on your website</title><link>https://tacosteemers.com/articles/2020-05-23-how-to-avoid-displaying-listings-on-your-website.html</link><description>&lt;p&gt;Our websites contain directories with files that are not usually read by humans. Examples are directories containing Javascript files or files for XML feeds. Sometimes we want to disallow directory listings for these directory contents.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sat, 23 May 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-05-23:/articles/2020-05-23-how-to-avoid-displaying-listings-on-your-website.html</guid><category>Technical Notes</category><category>websites</category></item><item><title>How to include HTML documents inside HTML documents</title><link>https://tacosteemers.com/articles/2020-05-18-how-to-include-html-documents-inside-html-documents.html</link><description>&lt;p&gt;There are two good ways to include our static HTML documents inside the main HTML documents that make up our website.
One is to include them server-side, before the server sends the main HTML document to the web browser.
The other is client-side loading where we have Javascript on the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Mon, 18 May 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-05-18:/articles/2020-05-18-how-to-include-html-documents-inside-html-documents.html</guid><category>Technical Notes</category><category>websites</category></item><item><title>Mistakes will be made</title><link>https://tacosteemers.com/articles/2020-05-12-mistakes-will-be-made.html</link><description>&lt;p&gt;I occasionally make a mistake in a professional environment. Mistakes will be made, that is just how it is.
We do have to keep looking at how we handle them and make sure we are not making a habit of it.
Here I share some of my thoughts on the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Tue, 12 May 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-05-12:/articles/2020-05-12-mistakes-will-be-made.html</guid><category>General Notes</category><category>work</category></item><item><title>Still searching for a daily use computer that just works</title><link>https://tacosteemers.com/articles/2020-04-26-still-searching-for-a-daily-use-computer-that-just-works.html</link><description>&lt;p&gt;Unfortunately there have been several problems with my macOS install, 
and with the Unix ports I install with &lt;a href="https://brew.sh/"&gt;brew&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;There has been a time when the Finder appeared to not get an updated list of &lt;a href="https://en.wikipedia.org/wiki/Inode"&gt;inodes&lt;/a&gt;.
After moving files with the Finder the files appeared in the original directory as …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sun, 26 Apr 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-04-26:/articles/2020-04-26-still-searching-for-a-daily-use-computer-that-just-works.html</guid><category>General Notes</category><category>macos</category><category>linux</category></item><item><title>Quick text manipulation, a practical `sed` example</title><link>https://tacosteemers.com/articles/2020-04-22-quick-text-manipulation-a-practical-sed-example.html</link><description>&lt;p&gt;Suppose you have received a 10k line file of text in a format that is difficult for you to work with, like XML.
You want to get some specific information from that file, 
and realize that getting that information by hand will take a long while.&lt;/p&gt;
&lt;p&gt;In some cases an …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Wed, 22 Apr 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-04-22:/articles/2020-04-22-quick-text-manipulation-a-practical-sed-example.html</guid><category>Technical Notes</category><category>software development</category><category>linux</category><category>macos</category></item><item><title>I found myself working hard instead of smart</title><link>https://tacosteemers.com/articles/2020-04-16-i-found-myself-working-hard-instead-of-smart.html</link><description>&lt;p&gt;Ah, the often mentioned "work smart, not hard". As well as "not invented here"...&lt;/p&gt;
&lt;p&gt;I had set out to re-launch my blog.
Somehow, in my enthusiasm, I ended up writing a static website generator almost to completion.
The only two remaining topics were the two topics that most looked like …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Thu, 16 Apr 2020 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2020-04-16:/articles/2020-04-16-i-found-myself-working-hard-instead-of-smart.html</guid><category>General Notes</category><category>work</category></item><item><title>Connecting to your printer on a Linux system</title><link>https://tacosteemers.com/articles/2015-02-08-connecting-to-your-printer-on-a-linux-system.html</link><description>&lt;p&gt;If you are using a GNU/Linux distribution and are having trouble finding your printer in print dialog screens, the 
following may be of help to you.
Make sure you have CUPS installed, the &lt;a href="http://www.cups.org/"&gt;Common Unix Printing System&lt;/a&gt;. Start cups first, on my 
system this can be done by executing …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sun, 08 Feb 2015 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2015-02-08:/articles/2015-02-08-connecting-to-your-printer-on-a-linux-system.html</guid><category>General Notes</category><category>linux</category></item><item><title>Programmatically creating scalable vector graphics (SVG)</title><link>https://tacosteemers.com/articles/2015-02-07-programmatically-creating-scalable-vector-graphics-svg.html</link><description>&lt;p&gt;This is a small note on programmatically creating 
&lt;a href="https://en.wikipedia.org/wiki/Scalable_Vector_Graphics"&gt;scalable vector graphics&lt;/a&gt;. For this we use Python 
with &lt;a href="https://pypi.python.org/pypi/svgwrite"&gt;svgwrite&lt;/a&gt; which was simply the first tool I found. We will not be 
comparing different tools.&lt;/p&gt;
&lt;p&gt;When creating graphics for posters, programs, or the web there are some advantages in using scalable vector …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sat, 07 Feb 2015 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2015-02-07:/articles/2015-02-07-programmatically-creating-scalable-vector-graphics-svg.html</guid><category>Technical Notes</category><category>software development</category><category>websites</category><category>python</category></item><item><title>Setting up a Secure FTP server (SFTP)</title><link>https://tacosteemers.com/articles/2015-01-29-setting-up-a-secure-ftp-server-sftp.html</link><description>&lt;p&gt;We want to set up a secure FTP server (let us call this 'the service', to avoid confusion). This service will receive 
backups. 
The service (and it's clients) don't need access to any unrelated commands. So we will make an empty &lt;code&gt;PATH&lt;/code&gt; and won't 
let the users perform a normal …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Thu, 29 Jan 2015 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2015-01-29:/articles/2015-01-29-setting-up-a-secure-ftp-server-sftp.html</guid><category>Technical Notes</category><category>linux</category></item><item><title>Some notes on trying out Crashplan, Duplicati and BackupPc</title><link>https://tacosteemers.com/articles/2014-08-30-some-notes-on-trying-out-crashplan-duplicati-and-backupc.html</link><description>&lt;h1 id="observations-after-testing-crashplan"&gt;Observations after testing Crashplan.&lt;/h1&gt;
&lt;p&gt;The Crashplan test-setup has not been able to connect for a while. As a result these notes are partially from 
memory and could not be revisited.
The user interface is confusing, buttons are placed far away from the context they operate in.
There are buttons that …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sat, 30 Aug 2014 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2014-08-30:/articles/2014-08-30-some-notes-on-trying-out-crashplan-duplicati-and-backupc.html</guid><category>General Notes</category><category>backups</category></item><item><title>Configuring an Apache installation for use with the SSL protocol</title><link>https://tacosteemers.com/articles/2014-01-12-configuring-an-apache-installation-for-use-with-the-ssl-protocol.html</link><description>&lt;p&gt;Is your ownCloud client saying &lt;code&gt;Failed to connect to ownCloud: Connection refused&lt;/code&gt;?&lt;/p&gt;
&lt;p&gt;A possible cause could be that the webserver that is serving your ownCloud does not have SSL enabled. In this note I 
will describe how I did that for my own Apache 2 install. If you do a …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sun, 12 Jan 2014 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2014-01-12:/articles/2014-01-12-configuring-an-apache-installation-for-use-with-the-ssl-protocol.html</guid><category>Technical Notes</category><category>linux</category></item><item><title>Memory for the SuperMicro X7SPA-H-D525-0</title><link>https://tacosteemers.com/articles/2014-01-12-memory-for-the-supermicro-x7spa-h-d525-0.html</link><description>&lt;p&gt;I recently bought the SuperMicro X7SPA-H-D525-0 motherboard. The Micron memory
 listed as compatible by SuperMicro was no longer available. I then checked
 Kingston's compatibility list. It listed two options for this motherboard.&lt;/p&gt;
&lt;p&gt;Some blog- and forum posts mentioned using similar Kingston memory for similar
 SuperMicro motherboards. Taking the Atom D525 …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sun, 12 Jan 2014 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2014-01-12:/articles/2014-01-12-memory-for-the-supermicro-x7spa-h-d525-0.html</guid><category>General Notes</category></item><item><title>Switched from Wordpress to Pelican</title><link>https://tacosteemers.com/articles/2014-01-03-switched-from-wordpress-to-pelican.html</link><description>&lt;p&gt;Over the past two years I've posted some writing on a different domain. That is a shared Wordpress site which hasn't 
been seeing much love (the other party hasn't made any posts). I've been thinking of also writing some smaller notes, 
things that I tend to forget and then have …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Fri, 03 Jan 2014 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2014-01-03:/articles/2014-01-03-switched-from-wordpress-to-pelican.html</guid><category>General Notes</category><category>websites</category><category>pelican</category></item><item><title>Something to think about when storing or processing files in your web app</title><link>https://tacosteemers.com/articles/2013-05-18-something-to-think-about-when-storing-or-processing-files-in-your-web-app.html</link><description>&lt;p&gt;Recently I saw code that looked like the following:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;function&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;handleFileRequest&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;variable&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;getFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;storage/${params.filename}&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;send&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;This code readily accepts a user-supplied piece of information to retrieve a file.
This is very wrong, luckily it was caught in a code review.&lt;/p&gt;
&lt;p&gt;It is wrong because it allows …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sat, 18 May 2013 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2013-05-18:/articles/2013-05-18-something-to-think-about-when-storing-or-processing-files-in-your-web-app.html</guid><category>Technical Notes</category><category>software development</category><category>websites</category></item><item><title>Weak references, are you sure you want to use them?</title><link>https://tacosteemers.com/articles/2013-05-09-weak-references-are-you-sure-you-want-to-use-them.html</link><description>&lt;p&gt;One of the projects that I have been working on lately is a standard C# codebase, a framework of sorts, for a 
particular niche category of software.  This is for a client that develops and uses a lot of this kind of applications 
in-house. Many of these have been written …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Thu, 09 May 2013 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2013-05-09:/articles/2013-05-09-weak-references-are-you-sure-you-want-to-use-them.html</guid><category>Technical Notes</category><category>software development</category></item><item><title>Why I like the filesystem as an interface to the OS</title><link>https://tacosteemers.com/articles/2013-04-21-why-i-like-the-filesystem-as-an-interface-to-the-os.html</link><description>&lt;p&gt;A short while ago I made a post about 
&lt;a href="https://tacosteemers.com/pages/usbud.html"&gt;a daemon that I have developed&lt;/a&gt;. 
This daemon needs information about connected storage devices and their mounted partitions. 
There is currently only a Linux version. I tried to develop a Windows version too (in the same code base even) 
but that …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sun, 21 Apr 2013 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2013-04-21:/articles/2013-04-21-why-i-like-the-filesystem-as-an-interface-to-the-os.html</guid><category>Technical Notes</category><category>linux</category><category>software development</category></item><item><title>USB Storage Back Up Daemon</title><link>https://tacosteemers.com/articles/2013-04-13-usb-storage-back-up-daemon.html</link><description>&lt;p&gt;I am working an a daemon (service) that will 
&lt;a href="https://github.com/TacoSteemers/usbud"&gt;automatically back up all mounted partitions on USB storage devices&lt;/a&gt;, 
with or without prior configuration for a particular drive. In it's simplest form, the daemon will back up any USB 
storage device that you plug in. This includes thumb drives and …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Sat, 13 Apr 2013 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2013-04-13:/articles/2013-04-13-usb-storage-back-up-daemon.html</guid><category>General Notes</category><category>backups</category><category>linux</category></item><item><title>A small script to help organize your torrent downloads</title><link>https://tacosteemers.com/articles/2013-03-19-liststaletorrentdata-a-small-script-to-help-organize-your-torrent-downloads.html</link><description>&lt;p&gt;A couple of days ago I wrote a small housekeeping script (in Python), that 
&lt;a href="https://github.com/TacoSteemers/listStaleTorrentData"&gt;lists stale torrent data&lt;/a&gt;. I use this to help clean up the 
directory that I let my torrent application store the torrent data to. The script will list those files that are not 
part of the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Tue, 19 Mar 2013 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2013-03-19:/articles/2013-03-19-liststaletorrentdata-a-small-script-to-help-organize-your-torrent-downloads.html</guid><category>General Notes</category></item><item><title>Setting up network shares with NFS and Linux systems</title><link>https://tacosteemers.com/articles/2013-02-06-setting-up-network-shares-with-nfs-and-linux-systems.html</link><description>&lt;p&gt;For quite a while, I have had a backup solution that I was not happy with. I have now remedied this. I am using a 
small server, a HP Proliant Microserver N40L. I tend to use Debian-based GNU/Linux systems at home. While I do 
eventually want my new solution …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Wed, 06 Feb 2013 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2013-02-06:/articles/2013-02-06-setting-up-network-shares-with-nfs-and-linux-systems.html</guid><category>Technical Notes</category><category>linux</category></item><item><title>Minimal Linux and Windows process spawn test</title><link>https://tacosteemers.com/articles/2012-10-23-minimal-linux-and-windows-process-spawn-test.html</link><description>&lt;p&gt;I am working on a small backup utility meant to add value to other, proper backup utilities. At the least, I want this 
program to run on any vanilla install of a (semi-) recent Linux or Windows desktop version. I would also like to keep 
a small file-size, and prefer …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taco Steemers</dc:creator><pubDate>Tue, 23 Oct 2012 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:tacosteemers.com,2012-10-23:/articles/2012-10-23-minimal-linux-and-windows-process-spawn-test.html</guid><category>Technical Notes</category><category>software development</category><category>linux</category><category>windows</category></item></channel></rss>