<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Snippets on</title><link>https://www.flypenguin.de/categories/snippets/</link><description>Recent content in Snippets on</description><generator>Hugo</generator><language>en</language><copyright>(c) Axel Bock</copyright><lastBuildDate>Wed, 23 Oct 2024 19:37:15 +0200</lastBuildDate><atom:link href="https://www.flypenguin.de/categories/snippets/index.xml" rel="self" type="application/rss+xml"/><item><title>Unix path too long for domain socket</title><link>https://www.flypenguin.de/2022/08/08/unix-path-too-long-for-domain-socket/</link><pubDate>Mon, 08 Aug 2022 09:42:07 +0200</pubDate><guid>https://www.flypenguin.de/2022/08/08/unix-path-too-long-for-domain-socket/</guid><description>Solving a pitfall with re-using SSH connections and overly long unix paths.</description></item><item><title>Container Linux Distributions</title><link>https://www.flypenguin.de/2022/07/28/container-linux-distributions/</link><pubDate>Thu, 28 Jul 2022 22:28:06 +0200</pubDate><guid>https://www.flypenguin.de/2022/07/28/container-linux-distributions/</guid><description>A short list of container-specific Linux distributions I researched.</description></item><item><title>AWS - Forced MFA and the CLI</title><link>https://www.flypenguin.de/2022/07/20/aws-forced-mfa-and-the-cli/</link><pubDate>Wed, 20 Jul 2022 02:53:12 +0200</pubDate><guid>https://www.flypenguin.de/2022/07/20/aws-forced-mfa-and-the-cli/</guid><description>A helper script incredibly useful if you want to enforce MFA on AWS also for CLI applications.</description></item><item><title>Mac quick action - edit PDF documents</title><link>https://www.flypenguin.de/2022/06/12/mac-quick-action-edit-pdf-documents/</link><pubDate>Sun, 12 Jun 2022 14:22:55 +0200</pubDate><guid>https://www.flypenguin.de/2022/06/12/mac-quick-action-edit-pdf-documents/</guid><description>Edit PDF documents using macOS Automator &amp;amp; shell scripts</description></item><item><title>"Old" K8S API reference docs</title><link>https://www.flypenguin.de/2022/04/08/old-k8s-api-reference-docs/</link><pubDate>Fri, 08 Apr 2022 10:48:11 +0200</pubDate><guid>https://www.flypenguin.de/2022/04/08/old-k8s-api-reference-docs/</guid><description>A link collection to &amp;ldquo;old&amp;rdquo; kubernetes API docs for reference.</description></item><item><title>Postgres - restore database with different owner</title><link>https://www.flypenguin.de/2022/03/24/restore-postgres-database-with-different-owner/</link><pubDate>Thu, 24 Mar 2022 18:12:07 +0100</pubDate><guid>https://www.flypenguin.de/2022/03/24/restore-postgres-database-with-different-owner/</guid><description>How to restore a DB backup and changing the owner while doing it.</description></item><item><title>"Fix" Raindrop addon in Firefox</title><link>https://www.flypenguin.de/2022/03/09/fix-raindrop-addon-in-firefox/</link><pubDate>Wed, 09 Mar 2022 10:15:27 +0100</pubDate><guid>https://www.flypenguin.de/2022/03/09/fix-raindrop-addon-in-firefox/</guid><description>Fix an annoying Raindrop plugin error in Firefox.</description></item><item><title>Mac quick action - shrink images</title><link>https://www.flypenguin.de/2022/02/08/mac-quick-action-shrink-images/</link><pubDate>Tue, 08 Feb 2022 11:42:21 +0100</pubDate><guid>https://www.flypenguin.de/2022/02/08/mac-quick-action-shrink-images/</guid><description>A Quick Action to shrink images using macOS Automator &amp;amp; shell scripts.</description></item><item><title>Location of Mac "Quick Actions"</title><link>https://www.flypenguin.de/2022/02/08/quick-actions-location/</link><pubDate>Tue, 08 Feb 2022 08:36:41 +0100</pubDate><guid>https://www.flypenguin.de/2022/02/08/quick-actions-location/</guid><description>Where to click in Automator to create a quick action in macOS.</description></item><item><title>Excel - convert columns to comments</title><link>https://www.flypenguin.de/2021/12/10/excel--convert-columns-to-comments/</link><pubDate>Fri, 10 Dec 2021 12:30:20 +0100</pubDate><guid>https://www.flypenguin.de/2021/12/10/excel--convert-columns-to-comments/</guid><description>A weird solution if you want to convert a column containing a lot of text descriptions into cell comments.</description></item><item><title>Migrating Postgres databases in containers</title><link>https://www.flypenguin.de/2021/11/04/migrating-postgres-databases-in-containers/</link><pubDate>Thu, 04 Nov 2021 14:49:03 +0100</pubDate><guid>https://www.flypenguin.de/2021/11/04/migrating-postgres-databases-in-containers/</guid><description>How to migrate Postgres databases running in Docker containers.</description></item><item><title>VS Code keymaps in Sublime Text</title><link>https://www.flypenguin.de/2021/11/04/vs-code-keymaps-in-sublime-text/</link><pubDate>Thu, 04 Nov 2021 12:56:45 +0100</pubDate><guid>https://www.flypenguin.de/2021/11/04/vs-code-keymaps-in-sublime-text/</guid><description>I ported some key mappings from VS Code to Sublime Text.</description></item><item><title>Create user and database in postgres</title><link>https://www.flypenguin.de/2021/11/04/create-user-and-database-in-postgres/</link><pubDate>Thu, 04 Nov 2021 09:44:30 +0100</pubDate><guid>https://www.flypenguin.de/2021/11/04/create-user-and-database-in-postgres/</guid><description>I always forget how to create a DB, a user, and the appropriate permissions in Postgres – so I wrote it down.</description></item><item><title>Home Assistant behind proxy</title><link>https://www.flypenguin.de/2021/10/29/home-assistant-behind-proxy/</link><pubDate>Fri, 29 Oct 2021 17:05:40 +0200</pubDate><guid>https://www.flypenguin.de/2021/10/29/home-assistant-behind-proxy/</guid><description>Home Assistant needs special configuration to be put behind a reverse proxy – I want to remember how.</description></item><item><title>Configure static IP address on Debian systems</title><link>https://www.flypenguin.de/2021/10/29/configure-static-ip-address-on-debian-systems/</link><pubDate>Fri, 29 Oct 2021 15:21:16 +0200</pubDate><guid>https://www.flypenguin.de/2021/10/29/configure-static-ip-address-on-debian-systems/</guid><description>The title says it all.</description></item><item><title>AWS - auto-join Windows clients to a managed AD</title><link>https://www.flypenguin.de/2021/10/18/aws---auto-join-windows-clients-to-a-managed-ad/</link><pubDate>Mon, 18 Oct 2021 11:44:59 +0200</pubDate><guid>https://www.flypenguin.de/2021/10/18/aws---auto-join-windows-clients-to-a-managed-ad/</guid><description>After the last post, we want Windows hosts that auto-join our managed AD. Here&amp;rsquo;s how to do this.</description></item><item><title>AWS - create VPC and a managed AD with terraform</title><link>https://www.flypenguin.de/2021/10/18/aws-create-vpc-and-a-managed-ad-with-terraform/</link><pubDate>Mon, 18 Oct 2021 11:19:23 +0200</pubDate><guid>https://www.flypenguin.de/2021/10/18/aws-create-vpc-and-a-managed-ad-with-terraform/</guid><description>The title says it all.</description></item><item><title>Home Assistant - human readable Fritz!Box uptime</title><link>https://www.flypenguin.de/2021/10/15/home-assistant---human-readable-fritz-box-uptime/</link><pubDate>Fri, 15 Oct 2021 22:44:14 +0200</pubDate><guid>https://www.flypenguin.de/2021/10/15/home-assistant---human-readable-fritz-box-uptime/</guid><description>How to display the Fritz!Box uptime in Home Assistant – in a readable way.</description></item><item><title>(AWS managed) AD - give local admin rights to domain users</title><link>https://www.flypenguin.de/2021/10/14/aws-managed-ad-domain-users-with-local-admin-rights/</link><pubDate>Thu, 14 Oct 2021 13:52:50 +0200</pubDate><guid>https://www.flypenguin.de/2021/10/14/aws-managed-ad-domain-users-with-local-admin-rights/</guid><description>Windows systems are utterly useless (for me) if I don&amp;rsquo;t have local admin rights. Here&amp;rsquo;s how to configure those
for local users using the managed AWS AD.</description></item><item><title>Standard AD - auto-map a network drive</title><link>https://www.flypenguin.de/2021/10/14/standard-ad-auto-map-network-drive/</link><pubDate>Thu, 14 Oct 2021 13:39:19 +0200</pubDate><guid>https://www.flypenguin.de/2021/10/14/standard-ad-auto-map-network-drive/</guid><description>&amp;hellip; using our managed AWS AD.</description></item><item><title>AWS managed AD - add user RDP permissions</title><link>https://www.flypenguin.de/2021/10/14/aws-managed-ad-add-user-rdp-permissions/</link><pubDate>Thu, 14 Oct 2021 13:16:01 +0200</pubDate><guid>https://www.flypenguin.de/2021/10/14/aws-managed-ad-add-user-rdp-permissions/</guid><description>Windows servers really dislike RDP logins. Yet, in the cloud, that&amp;rsquo;s really the single thing you want to have.
Here&amp;rsquo;s how to make them accept it.</description></item><item><title>AWS managed AD - first steps after creation</title><link>https://www.flypenguin.de/2021/10/14/aws-managed-ad-first-steps/</link><pubDate>Thu, 14 Oct 2021 13:16:00 +0200</pubDate><guid>https://www.flypenguin.de/2021/10/14/aws-managed-ad-first-steps/</guid><description>The most important steps to perform right after we created a managed AWS AD.</description></item><item><title>Extract parts of a git repo as new one</title><link>https://www.flypenguin.de/2021/08/21/git-extract-subdirectory-as-new-repo/</link><pubDate>Sat, 21 Aug 2021 12:15:07 +0200</pubDate><guid>https://www.flypenguin.de/2021/08/21/git-extract-subdirectory-as-new-repo/</guid><description>Sometimes I want to extract a part of an existing repository (e.g. a sub directory), including history, and make a new repo out of it.
Here&amp;rsquo;s how to do this.</description></item><item><title>jq snippets</title><link>https://www.flypenguin.de/2021/08/21/jq-snippets/</link><pubDate>Sat, 21 Aug 2021 11:09:38 +0200</pubDate><guid>https://www.flypenguin.de/2021/08/21/jq-snippets/</guid><description>The title says it all.</description></item><item><title>Lexoffice API notes</title><link>https://www.flypenguin.de/2021/08/18/lexoffice-api-notes/</link><pubDate>Wed, 18 Aug 2021 14:41:31 +0200</pubDate><guid>https://www.flypenguin.de/2021/08/18/lexoffice-api-notes/</guid><description>Some findings after trying to use the LexOffice API for a while.</description></item><item><title>JavaScript ISO date with local timezone</title><link>https://www.flypenguin.de/2021/08/18/javascript-iso-date-with-local-timezone/</link><pubDate>Wed, 18 Aug 2021 14:07:23 +0200</pubDate><guid>https://www.flypenguin.de/2021/08/18/javascript-iso-date-with-local-timezone/</guid><description>It&amp;rsquo;s missing from standard JavaScript, here&amp;rsquo;s a workaround.</description></item><item><title>Backup tool evaluation</title><link>https://www.flypenguin.de/2021/08/17/backup-tools/</link><pubDate>Tue, 17 Aug 2021 21:04:20 +0200</pubDate><guid>https://www.flypenguin.de/2021/08/17/backup-tools/</guid><description>I need a backup tool, those are the ones I consider.</description></item><item><title>remark42 comments</title><link>https://www.flypenguin.de/2021/08/17/remark42-comments/</link><pubDate>Tue, 17 Aug 2021 16:32:16 +0200</pubDate><guid>https://www.flypenguin.de/2021/08/17/remark42-comments/</guid><description>&lt;p>This is a test post. There &lt;em>should&lt;/em> be a comment box below, powered by the pretty cool and &lt;em>really&lt;/em> well documented 
 








 


&lt;a href="https:/remark42.com">remark42&lt;/a> commenting engine.&lt;/p>
&lt;p>Let&amp;rsquo;s see &amp;hellip; :)&lt;/p></description></item><item><title>GOPATH and GOROOT</title><link>https://www.flypenguin.de/2021/08/16/gopath-and-goroot/</link><pubDate>Mon, 16 Aug 2021 11:03:46 +0200</pubDate><guid>https://www.flypenguin.de/2021/08/16/gopath-and-goroot/</guid><description>Go confuses me – especially GOPATH and GOROOT. Here is how I (think I) understood it.</description></item><item><title>Completely delete teams on a Mac</title><link>https://www.flypenguin.de/2021/08/04/completely-delete-teams-on-a-mac/</link><pubDate>Wed, 04 Aug 2021 21:37:54 +0200</pubDate><guid>https://www.flypenguin.de/2021/08/04/completely-delete-teams-on-a-mac/</guid><description>The title says it all.</description></item><item><title>Auto-rebuild Docker images if base image changes using GitHub actions</title><link>https://www.flypenguin.de/2021/07/30/auto-rebuild-docker-images-if-base-image-changes-using-github-actions/</link><pubDate>Fri, 30 Jul 2021 14:11:51 +0200</pubDate><guid>https://www.flypenguin.de/2021/07/30/auto-rebuild-docker-images-if-base-image-changes-using-github-actions/</guid><description>The title says it all.</description></item><item><title>Convert RAW files on a Mac using "sips"</title><link>https://www.flypenguin.de/2021/07/25/convert-raw-files-on-a-mac/</link><pubDate>Sun, 25 Jul 2021 17:37:27 +0200</pubDate><guid>https://www.flypenguin.de/2021/07/25/convert-raw-files-on-a-mac/</guid><description>The title says it all.</description></item><item><title>Unattended upgrades in Debian/Ubuntu</title><link>https://www.flypenguin.de/2021/07/15/unattended-upgrades-in-debian-ubuntu/</link><pubDate>Thu, 15 Jul 2021 18:50:59 +0200</pubDate><guid>https://www.flypenguin.de/2021/07/15/unattended-upgrades-in-debian-ubuntu/</guid><description>The title says it all.</description></item><item><title>Set DNS search path on Unifi USG with DHCP</title><link>https://www.flypenguin.de/2021/07/13/set-dns-search-path-on-unifi-usg-dhcp/</link><pubDate>Tue, 13 Jul 2021 00:58:09 +0200</pubDate><guid>https://www.flypenguin.de/2021/07/13/set-dns-search-path-on-unifi-usg-dhcp/</guid><description>If you want to connect to &amp;ldquo;HOST&amp;rdquo; and nothing can be found, you can send a list of domains to clients to attach and try again. Here&amp;rsquo;s how to
configure this in Unify.</description></item><item><title>Add swap space in Ubuntu</title><link>https://www.flypenguin.de/2021/06/23/add-swap-space-in-ubuntu/</link><pubDate>Wed, 23 Jun 2021 12:07:57 +0200</pubDate><guid>https://www.flypenguin.de/2021/06/23/add-swap-space-in-ubuntu/</guid><description>The title says it all.</description></item><item><title>Pi-Hole in Docker</title><link>https://www.flypenguin.de/2021/05/30/pi-hole-in-docker/</link><pubDate>Sun, 30 May 2021 20:02:26 +0200</pubDate><guid>https://www.flypenguin.de/2021/05/30/pi-hole-in-docker/</guid><description>Pi-Hole is a DNS adblocker you can also run in Docker.</description></item><item><title>Proxmox and home assistant</title><link>https://www.flypenguin.de/2021/05/27/proxmox-and-home-assistant/</link><pubDate>Thu, 27 May 2021 21:51:54 +0200</pubDate><guid>https://www.flypenguin.de/2021/05/27/proxmox-and-home-assistant/</guid><description>Proxmox is a virtualization solution, and I run Home Assistant in it.</description></item><item><title>Install Zalando Postgres operator</title><link>https://www.flypenguin.de/2021/05/01/install-zalando-postgres-operator/</link><pubDate>Sat, 01 May 2021 18:57:26 +0200</pubDate><guid>https://www.flypenguin.de/2021/05/01/install-zalando-postgres-operator/</guid><description>Experiments &amp;amp; findings with the Zalando Postgres K8S operator.</description></item><item><title>Install Crunchy Data Postgres operator</title><link>https://www.flypenguin.de/2021/05/01/install-cruchy-data-postgres-operator/</link><pubDate>Sat, 01 May 2021 18:00:43 +0200</pubDate><guid>https://www.flypenguin.de/2021/05/01/install-cruchy-data-postgres-operator/</guid><description>Experiments &amp;amp; findings with the Crunchy Data Postgres K8S operator.</description></item><item><title>Nextcloud cron job</title><link>https://www.flypenguin.de/2021/04/03/nextcloud-cron-job/</link><pubDate>Sat, 03 Apr 2021 15:27:32 +0200</pubDate><guid>https://www.flypenguin.de/2021/04/03/nextcloud-cron-job/</guid><description>Nextcloud needs a cron job to function. Running docker, &amp;ldquo;cronjob&amp;rdquo; does not work. Here&amp;rsquo;s how to get the same result.</description></item><item><title>Nextcloud out-of-memory PHP error</title><link>https://www.flypenguin.de/2021/04/03/nextcloud-out-of-memory-php-error/</link><pubDate>Sat, 03 Apr 2021 15:22:41 +0200</pubDate><guid>https://www.flypenguin.de/2021/04/03/nextcloud-out-of-memory-php-error/</guid><description>&amp;hellip; and how to fix it.</description></item><item><title>Powershell Script Base</title><link>https://www.flypenguin.de/2021/03/23/powershell-script-base/</link><pubDate>Tue, 23 Mar 2021 15:41:20 +0100</pubDate><guid>https://www.flypenguin.de/2021/03/23/powershell-script-base/</guid><description>A (the standard?) PowerShell function template.</description></item><item><title>How to try Superset</title><link>https://www.flypenguin.de/2021/03/15/how-to-try-superset/</link><pubDate>Mon, 15 Mar 2021 15:25:18 +0100</pubDate><guid>https://www.flypenguin.de/2021/03/15/how-to-try-superset/</guid><description>Three lines from the Apache Superset docs, copied into this blog.</description></item><item><title>Install “legacy” brew on M1 apple silicon</title><link>https://www.flypenguin.de/2020/12/13/install-legacy-brew-on-m1-apple-silicon/</link><pubDate>Sun, 13 Dec 2020 19:43:09 +0000</pubDate><guid>https://www.flypenguin.de/2020/12/13/install-legacy-brew-on-m1-apple-silicon/</guid><description>Not everything works with brew and the new M1 – yet. So you might need the &amp;ldquo;classical&amp;rdquo; one.</description></item><item><title>Azure App Service &amp; Python, Part I</title><link>https://www.flypenguin.de/2020/11/19/azure-app-service-python-part-i/</link><pubDate>Thu, 19 Nov 2020 22:55:11 +0000</pubDate><guid>https://www.flypenguin.de/2020/11/19/azure-app-service-python-part-i/</guid><description>The title says it all.</description></item><item><title>Install flutter on MacOS</title><link>https://www.flypenguin.de/2020/07/08/install-flutter-on-macos/</link><pubDate>Wed, 08 Jul 2020 21:43:22 +0000</pubDate><guid>https://www.flypenguin.de/2020/07/08/install-flutter-on-macos/</guid><description>The title says it all.</description></item><item><title>Rancher 2.4+ installation notes</title><link>https://www.flypenguin.de/2020/05/17/rancher-24-installation-notes/</link><pubDate>Sun, 17 May 2020 17:57:53 +0000</pubDate><guid>https://www.flypenguin.de/2020/05/17/rancher-24-installation-notes/</guid><description>The title says it all.</description></item><item><title>Homebrew, OpenSSL and PowerShell</title><link>https://www.flypenguin.de/2020/05/06/homebrew-openssl-and-powershell/</link><pubDate>Wed, 06 May 2020 10:23:54 +0000</pubDate><guid>https://www.flypenguin.de/2020/05/06/homebrew-openssl-and-powershell/</guid><description>How to (badly, insecurely) fix a really annoying bug using homebrew&amp;rsquo;s OpenSSL on macOS.</description></item><item><title>Ubuntu update procedure</title><link>https://www.flypenguin.de/2020/04/26/ubuntu-update-procedure/</link><pubDate>Sun, 26 Apr 2020 12:24:39 +0000</pubDate><guid>https://www.flypenguin.de/2020/04/26/ubuntu-update-procedure/</guid><description>The title says it all.</description></item><item><title>Coding fonts</title><link>https://www.flypenguin.de/2020/04/26/coding-fonts/</link><pubDate>Sun, 26 Apr 2020 09:49:57 +0000</pubDate><guid>https://www.flypenguin.de/2020/04/26/coding-fonts/</guid><description>A list of coding fonts I like. (Maybe I&amp;rsquo;ll even update it from time to time)</description></item><item><title>nextcloud and Docker and reverse proxies</title><link>https://www.flypenguin.de/2020/04/25/nextcloud-and-docker-and-reverse-proxies/</link><pubDate>Sat, 25 Apr 2020 23:18:15 +0000</pubDate><guid>https://www.flypenguin.de/2020/04/25/nextcloud-and-docker-and-reverse-proxies/</guid><description>nextcloud needs some &amp;ldquo;convincing&amp;rdquo; to work behind a reverse proxy. All running in Docker, naturally.</description></item><item><title>FritzBox, Unify Security Gateway, and router replacements</title><link>https://www.flypenguin.de/2020/04/19/fritzbox-unify-security-gateway-and-router-replacements/</link><pubDate>Sun, 19 Apr 2020 20:39:47 +0000</pubDate><guid>https://www.flypenguin.de/2020/04/19/fritzbox-unify-security-gateway-and-router-replacements/</guid><description>I re-did my home network. It was a lot more work than I expected – here are some notes.</description></item><item><title>SARS-CoV-2 (“Corona”) Data Sources and APIs</title><link>https://www.flypenguin.de/2020/03/29/sars-cov-2-corona-data-sources-and-apis/</link><pubDate>Sun, 29 Mar 2020 19:27:13 +0000</pubDate><guid>https://www.flypenguin.de/2020/03/29/sars-cov-2-corona-data-sources-and-apis/</guid><description>The title says it all. (Last update: 2020-04-01)</description></item><item><title>Configure Python on Windows</title><link>https://www.flypenguin.de/2020/03/22/configure-python-on-windows/</link><pubDate>Sun, 22 Mar 2020 08:32:03 +0000</pubDate><guid>https://www.flypenguin.de/2020/03/22/configure-python-on-windows/</guid><description>The title says it all.</description></item><item><title>Use autohotkey for text expansion on Windows</title><link>https://www.flypenguin.de/2020/03/13/autohotkey/</link><pubDate>Fri, 13 Mar 2020 12:00:45 +0000</pubDate><guid>https://www.flypenguin.de/2020/03/13/autohotkey/</guid><description>On macOS I use the fantastic Typinator – that doesn&amp;rsquo;t exist on Windows. Enter autohotkey.</description></item><item><title>Check MK container/k8s deployment</title><link>https://www.flypenguin.de/2020/01/25/check-mk-and-containers/</link><pubDate>Sat, 25 Jan 2020 21:28:17 +0000</pubDate><guid>https://www.flypenguin.de/2020/01/25/check-mk-and-containers/</guid><description>How to run the CheckML container behind a reverse proxy, a.k.a. &amp;ldquo;how I found a CheckML bug&amp;rdquo;.</description></item><item><title>cert-manager too old …</title><link>https://www.flypenguin.de/2020/01/11/cert-manager-too-old/</link><pubDate>Sat, 11 Jan 2020 00:28:39 +0000</pubDate><guid>https://www.flypenguin.de/2020/01/11/cert-manager-too-old/</guid><description>A.k.a. &amp;ldquo;my personal cert-manager-upgrade-adventure&amp;rdquo;, and you may read &amp;ldquo;adventure&amp;rdquo; as &amp;ldquo;Pain In The Ass&amp;rdquo;.</description></item><item><title>The 6 ways of returning data from an Azure Function</title><link>https://www.flypenguin.de/2019/08/31/the-4-ways-of-returning-data-from-an-azure-function/</link><pubDate>Sat, 31 Aug 2019 12:22:33 +0000</pubDate><guid>https://www.flypenguin.de/2019/08/31/the-4-ways-of-returning-data-from-an-azure-function/</guid><description>Yup, really, there are six (!!) ways you can return data. Some are even pretty useful.</description></item><item><title>Win10 &amp; Veracrypt &amp; systemd-boot</title><link>https://www.flypenguin.de/2019/08/25/win10-veracrypt-systemd-boot/</link><pubDate>Sun, 25 Aug 2019 10:12:17 +0000</pubDate><guid>https://www.flypenguin.de/2019/08/25/win10-veracrypt-systemd-boot/</guid><description>I want encrypted hard drives, yet MS did remove BitLocker. So I used VeraCrypt. Then I wanted to dual-boot. Here&amp;rsquo;s how to do this.</description></item><item><title>Windows after 13 years – and nothing changed</title><link>https://www.flypenguin.de/2019/04/19/windows-after-13-years-and-nothing-changed/</link><pubDate>Fri, 19 Apr 2019 09:48:35 +0000</pubDate><guid>https://www.flypenguin.de/2019/04/19/windows-after-13-years-and-nothing-changed/</guid><description>A rant.</description></item><item><title>Powershell, O365 &amp; Teams PSTN calling</title><link>https://www.flypenguin.de/2018/12/05/powershell-o365-teams-pstn-calling/</link><pubDate>Wed, 05 Dec 2018 09:56:29 +0000</pubDate><guid>https://www.flypenguin.de/2018/12/05/powershell-o365-teams-pstn-calling/</guid><description>(I really don&amp;rsquo;t remember what this is about – yet I still hate Teams &amp;hellip;)</description></item><item><title>Misc Django I – forms</title><link>https://www.flypenguin.de/2018/10/17/misc-django-i-forms/</link><pubDate>Wed, 17 Oct 2018 11:06:46 +0000</pubDate><guid>https://www.flypenguin.de/2018/10/17/misc-django-i-forms/</guid><description>Adding validation to Django forms is pretty easy, but dynamically filling a form dropdown/&amp;hellip; with content from a database? I had to search a while.</description></item><item><title>Django, psql &amp; “permission denied” on migrate</title><link>https://www.flypenguin.de/2018/10/16/django-psql-permission-denied-on-migrate/</link><pubDate>Tue, 16 Oct 2018 16:34:45 +0000</pubDate><guid>https://www.flypenguin.de/2018/10/16/django-psql-permission-denied-on-migrate/</guid><description>Django migrations vs. table owners in Postgres.</description></item><item><title>Firefox close tab buttons on mouse hover</title><link>https://www.flypenguin.de/2018/09/26/firefox-close-tab-buttons-on-mouse-hover/</link><pubDate>Wed, 26 Sep 2018 18:59:04 +0000</pubDate><guid>https://www.flypenguin.de/2018/09/26/firefox-close-tab-buttons-on-mouse-hover/</guid><description>How to get the &amp;ldquo;close tab&amp;rdquo; buttons back in Firefox – but only on mouse hover.</description></item><item><title>Databases with dokku</title><link>https://www.flypenguin.de/2018/08/26/databases-with-dokku/</link><pubDate>Sun, 26 Aug 2018 12:18:47 +0000</pubDate><guid>https://www.flypenguin.de/2018/08/26/databases-with-dokku/</guid><description>My dokku adventure continues: Here&amp;rsquo;s how to add a database to the deployment.</description></item><item><title>Helm in a kops cluster with RBAC</title><link>https://www.flypenguin.de/2018/05/25/helm-in-a-kops-cluster-with-rbac/</link><pubDate>Fri, 25 May 2018 09:50:56 +0000</pubDate><guid>https://www.flypenguin.de/2018/05/25/helm-in-a-kops-cluster-with-rbac/</guid><description>Solve a permissions problem with Tiller/Helm and a KOPS cluster in AWS.</description></item><item><title>Mac three finger gestures in browsers</title><link>https://www.flypenguin.de/2018/04/18/mac-three-finger-gestures-in-browsers/</link><pubDate>Wed, 18 Apr 2018 18:55:43 +0000</pubDate><guid>https://www.flypenguin.de/2018/04/18/mac-three-finger-gestures-in-browsers/</guid><description>I keep forgetting how to configure this in the macOS system settings.</description></item><item><title>Arch followup actions</title><link>https://www.flypenguin.de/2018/04/18/arch-followup-actions/</link><pubDate>Wed, 18 Apr 2018 08:26:09 +0000</pubDate><guid>https://www.flypenguin.de/2018/04/18/arch-followup-actions/</guid><description>Useful things to do after installing Arch Linux.</description></item><item><title>Python &amp; Visual Studio code</title><link>https://www.flypenguin.de/2018/04/12/python-visual-studio-code/</link><pubDate>Thu, 12 Apr 2018 18:27:39 +0000</pubDate><guid>https://www.flypenguin.de/2018/04/12/python-visual-studio-code/</guid><description>Solve an issue with VS code not finding pipenv Python interpreters.</description></item><item><title>Arch linux + yubikeys</title><link>https://www.flypenguin.de/2018/03/28/arch-linux-yubikeys/</link><pubDate>Wed, 28 Mar 2018 13:18:04 +0000</pubDate><guid>https://www.flypenguin.de/2018/03/28/arch-linux-yubikeys/</guid><description>What to install, how to configure.</description></item><item><title>Ugly ligatures in Linux</title><link>https://www.flypenguin.de/2018/02/23/ugly-ligatures-in-linux/</link><pubDate>Fri, 23 Feb 2018 08:07:29 +0000</pubDate><guid>https://www.flypenguin.de/2018/02/23/ugly-ligatures-in-linux/</guid><description>The only person ever configuring TRULY great font configs in Linux has gone missing. I still try to replicate his configs. Here&amp;rsquo;s one more nugget.</description></item><item><title>crontab and nano</title><link>https://www.flypenguin.de/2018/02/01/crontab-and-nano/</link><pubDate>Thu, 01 Feb 2018 08:55:18 +0000</pubDate><guid>https://www.flypenguin.de/2018/02/01/crontab-and-nano/</guid><description>Set the default editor for &amp;ldquo;crontab -e&amp;rdquo; to be vim.</description></item><item><title>Shutter can’t edit images on Arch</title><link>https://www.flypenguin.de/2018/01/24/shutter-cant-edit-images-on-arch/</link><pubDate>Wed, 24 Jan 2018 11:55:36 +0000</pubDate><guid>https://www.flypenguin.de/2018/01/24/shutter-cant-edit-images-on-arch/</guid><description>Here&amp;rsquo;s how to solve it.</description></item><item><title>JIRA and Python</title><link>https://www.flypenguin.de/2017/10/17/jira-and-python/</link><pubDate>Tue, 17 Oct 2017 18:13:08 +0000</pubDate><guid>https://www.flypenguin.de/2017/10/17/jira-and-python/</guid><description>How to use the Python JIRA library to create a ticket.</description></item><item><title>CUPS is … weird</title><link>https://www.flypenguin.de/2017/07/27/cups-is-weird/</link><pubDate>Thu, 27 Jul 2017 20:11:24 +0000</pubDate><guid>https://www.flypenguin.de/2017/07/27/cups-is-weird/</guid><description>A small rant on CUPS while getting it to run.</description></item><item><title>No password prompts for GitHub "hub" client</title><link>https://www.flypenguin.de/2017/06/12/github-hub-cli-passwords/</link><pubDate>Mon, 12 Jun 2017 13:47:04 +0000</pubDate><guid>https://www.flypenguin.de/2017/06/12/github-hub-cli-passwords/</guid><description>I&amp;rsquo;m lazy – if you are too, here&amp;rsquo;s how to get rid of that annoying prompt :)</description></item><item><title>jq makes AWS “describe-instances” actually useful</title><link>https://www.flypenguin.de/2017/04/26/jq-makes-aws-describe-instances-actually-useful/</link><pubDate>Wed, 26 Apr 2017 12:33:04 +0000</pubDate><guid>https://www.flypenguin.de/2017/04/26/jq-makes-aws-describe-instances-actually-useful/</guid><description>Use jq to parse AWS CLI JSON output.</description></item><item><title>Linux font rendering sucks, a.k.a “Where is Boohomil”?</title><link>https://www.flypenguin.de/2017/04/20/where-is-boohomil/</link><pubDate>Thu, 20 Apr 2017 14:58:05 +0000</pubDate><guid>https://www.flypenguin.de/2017/04/20/where-is-boohomil/</guid><description>How to make Arch Linux fonts more beautiful.</description></item><item><title>Syntax highlighting with wordpress</title><link>https://www.flypenguin.de/2017/01/21/syntax-highlighting-with-wordpress/</link><pubDate>Sat, 21 Jan 2017 10:52:33 +0000</pubDate><guid>https://www.flypenguin.de/2017/01/21/syntax-highlighting-with-wordpress/</guid><description>The title says it all.</description></item><item><title>PyCharm, Arch linux &amp; Python 3.6</title><link>https://www.flypenguin.de/2017/01/17/pycharm-arch-linux-python-3-6/</link><pubDate>Tue, 17 Jan 2017 14:45:29 +0000</pubDate><guid>https://www.flypenguin.de/2017/01/17/pycharm-arch-linux-python-3-6/</guid><description>PyCharm debugging stopped working – here&amp;rsquo;s how to bring it back.</description></item><item><title>Logs with docker and logstash</title><link>https://www.flypenguin.de/2017/01/12/logs-with-docker-and-logstash/</link><pubDate>Thu, 12 Jan 2017 13:31:09 +0000</pubDate><guid>https://www.flypenguin.de/2017/01/12/logs-with-docker-and-logstash/</guid><description>The title says it all.</description></item><item><title>Logstash, clone filter &amp; add_field mysteries</title><link>https://www.flypenguin.de/2017/01/09/logstash-clone-filter-add_field-myteries/</link><pubDate>Mon, 09 Jan 2017 10:49:29 +0000</pubDate><guid>https://www.flypenguin.de/2017/01/09/logstash-clone-filter-add_field-myteries/</guid><description>Some hard-won insights into logstash.</description></item><item><title>Quick puppet debugging snippet for Atom</title><link>https://www.flypenguin.de/2016/07/06/quick-puppet-debugging-snipper-for-atom/</link><pubDate>Wed, 06 Jul 2016 16:55:47 +0000</pubDate><guid>https://www.flypenguin.de/2016/07/06/quick-puppet-debugging-snipper-for-atom/</guid><description>The title says it all.</description></item><item><title>Testing logstash configs with Docker</title><link>https://www.flypenguin.de/2016/06/28/testing-logstash-configs-with-docker/</link><pubDate>Tue, 28 Jun 2016 16:22:29 +0000</pubDate><guid>https://www.flypenguin.de/2016/06/28/testing-logstash-configs-with-docker/</guid><description>The title says it all.</description></item><item><title>Loathing RSpec and Puppet</title><link>https://www.flypenguin.de/2016/06/28/loathing-rspec-and-puppet/</link><pubDate>Tue, 28 Jun 2016 08:07:24 +0000</pubDate><guid>https://www.flypenguin.de/2016/06/28/loathing-rspec-and-puppet/</guid><description>A rant.</description></item><item><title>TeamCity LDAP authentication with JumpCloud</title><link>https://www.flypenguin.de/2016/06/22/teamcity-ldap-authentication-with-jumpcloud/</link><pubDate>Wed, 22 Jun 2016 11:53:05 +0000</pubDate><guid>https://www.flypenguin.de/2016/06/22/teamcity-ldap-authentication-with-jumpcloud/</guid><description>The title says it all.</description></item><item><title>Migrate Rancher database from container to external</title><link>https://www.flypenguin.de/2016/05/30/rancher-database-migration/</link><pubDate>Mon, 30 May 2016 15:01:59 +0000</pubDate><guid>https://www.flypenguin.de/2016/05/30/rancher-database-migration/</guid><description>&amp;hellip; using Puppet.</description></item><item><title>Ansible inventory file from Consul</title><link>https://www.flypenguin.de/2016/03/17/ansible-inventory-file-from-consul/</link><pubDate>Thu, 17 Mar 2016 16:09:30 +0000</pubDate><guid>https://www.flypenguin.de/2016/03/17/ansible-inventory-file-from-consul/</guid><description>A one-liner.</description></item><item><title>Host monitoring with Prometheus</title><link>https://www.flypenguin.de/2016/03/08/host-monitoring-with-prometheus/</link><pubDate>Tue, 08 Mar 2016 20:38:13 +0000</pubDate><guid>https://www.flypenguin.de/2016/03/08/host-monitoring-with-prometheus/</guid><description>Use puppet &amp;amp; consul to monitor &amp;ldquo;bare metal&amp;rdquo; (VMs) infrastructure.</description></item><item><title>CI/CD, the status quo</title><link>https://www.flypenguin.de/2016/02/26/cicd-the-status-quo/</link><pubDate>Fri, 26 Feb 2016 16:49:01 +0000</pubDate><guid>https://www.flypenguin.de/2016/02/26/cicd-the-status-quo/</guid><description>A summary.</description></item><item><title>Arch with dm-cryptt on UEFI boot</title><link>https://www.flypenguin.de/2016/02/22/arch-with-dm-cryptt-on-uefi-boot/</link><pubDate>Mon, 22 Feb 2016 17:49:13 +0000</pubDate><guid>https://www.flypenguin.de/2016/02/22/arch-with-dm-cryptt-on-uefi-boot/</guid><description>A link collection.</description></item><item><title>Really annoying thread properties</title><link>https://www.flypenguin.de/2016/01/29/really-annoying-thread-properties-this/</link><pubDate>Fri, 29 Jan 2016 11:27:29 +0000</pubDate><guid>https://www.flypenguin.de/2016/01/29/really-annoying-thread-properties-this/</guid><description>A very non-intuitive (but consistent) behavior of Python threads.</description></item><item><title>Mac software essentials</title><link>https://www.flypenguin.de/2015/12/25/mac-software-essentials/</link><pubDate>Fri, 25 Dec 2015 17:32:01 +0000</pubDate><guid>https://www.flypenguin.de/2015/12/25/mac-software-essentials/</guid><description>&lt;p>Well, after the Firefox Essentials, here&amp;rsquo;s my list of Mac essentials:&lt;/p>
&lt;ul>
&lt;li>
 








 


&lt;a href="http:/www.obdev.at">LaunchBar&lt;/a>&lt;/li>
&lt;li>
 








 


&lt;a href="http:/brew.sh">Homebrew&lt;/a>&lt;/li>
&lt;li>
 








 


&lt;a href="https:/www.mozilla.org/de/firefox/channel">Firefox Beta&lt;/a>&lt;/li>
&lt;li>
 








 


&lt;a href="http:/exactscan.com">Exact Scan Pro&lt;/a> (scanner utilities for Mac are still &amp;hellip; all bad, this is absolutely good and relatively the best. 
 








 


&lt;a href="http:/hamrick.com">VueScan&lt;/a> might be better for about 0.05% of all scans I do, but the usability could actually not be any worse)&lt;/li>
&lt;li>
 








 


&lt;a href="https:/itunes.apple.com/de/app/the-unarchiver/id425424353?mt=12">The Unarchiver&lt;/a>&lt;/li>
&lt;li>
 








 


&lt;a href="http:/sublimetext.com">Sublime Text&lt;/a>, or probably in the future 
 








 


&lt;a href="http:/atom.io">Atom&lt;/a> (text editors)&lt;/li>
&lt;li>
 








 


&lt;a href="http:/cubby.com">Cubby&lt;/a> and 
 








 


&lt;a href="https:/www.getsync.com">Bittorrent Sync&lt;/a> (document sync, don&amp;rsquo;t really like Dropbox)&lt;/li>
&lt;li>
 








 


&lt;a href="http:/videolan.org">VLC player&lt;/a>&lt;/li>
&lt;li>
 








 


&lt;a href="https:/itunes.apple.com/de/app/bettersnaptool/id417375580?mt=12">Better Snap Tool&lt;/a> (yah, don&amp;rsquo;t really get the split screen of OS X)&lt;/li>
&lt;li>
 








 


&lt;a href="https:/pdfexpert.com">PDF Expert&lt;/a> or 
 








 


&lt;a href="https:/smilesoftware.com/pdfpenpro">PDF Pen Pro&lt;/a> (both good, the first is way cheaper, and the reason is that Preview can actually make PDF files bigger on edits like remove pages, or rearrange pages)&lt;/li>
&lt;li>
 








 


&lt;a href="https:/itunes.apple.com/de/app/amphetamine/id937984704?mt=12">Amphetamine&lt;/a> (keep your Mac awake)&lt;/li>
&lt;li>
 








 


&lt;a href="http:/www.ergonis.com/products/typinator">Typinator&lt;/a> (text epansion)&lt;/li>
&lt;li>
 








 


&lt;a href="https:/twitter.com/download">Twitter client&lt;/a> (I actually use the official one)&lt;/li>
&lt;li>
 








 


&lt;a href="http:/www.libreoffice.org">Libre Office&lt;/a>&lt;/li>
&lt;li>
 








 


&lt;a href="http:/telegram.org">Telegram&lt;/a> (useful Whatsapp alternative, cause it also has a web interface)&lt;/li>
&lt;li>
 








 


&lt;a href="http:/www.cocoatech.com">Path Finder&lt;/a>&lt;/li>
&lt;li>
 








 


&lt;a href="https:/www.feingeist.io/de/shimo">Shimo&lt;/a> (VPN client, really expensive, but &amp;ldquo;use this password for all connections in this folder&amp;rdquo; is awesome)&lt;/li>
&lt;li>
 








 


&lt;a href="https:/www.noodlesoft.com/hazel.php">Hazel&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>My essential Firefox addons</title><link>https://www.flypenguin.de/2015/12/23/my-essential-firefox-addons/</link><pubDate>Wed, 23 Dec 2015 17:22:52 +0000</pubDate><guid>https://www.flypenguin.de/2015/12/23/my-essential-firefox-addons/</guid><description>&lt;p>&amp;hellip; can be seen on the 
 








 


&lt;a href="https:/addons.mozilla.org/de/firefox/collections/17085529/Essentials">Firefox Addons page as collection&lt;/a> 🙂 .&lt;/p>
&lt;p>The addon ecosystem of Firefox is what keeps me with it. And the way it&amp;rsquo;s done. One example: Mouse Gestures &lt;em>are&lt;/em> available on Chrome, which seems to be a lot faster and smoother today :&amp;rsquo;( &amp;hellip; but in FF, when I go to the settings page, I can &lt;em>still&lt;/em> use mouse gestures, cause it&amp;rsquo;s just another page.&lt;/p>
&lt;p>In Chrome I can&amp;rsquo;t. I like the Firefox behavior - it&amp;rsquo;s &lt;em>consistent&lt;/em>, which is highly a highly underrated property these days.&lt;/p></description></item><item><title>jq stuff</title><link>https://www.flypenguin.de/2015/12/11/jq-stuff/</link><pubDate>Fri, 11 Dec 2015 12:27:41 +0000</pubDate><guid>https://www.flypenguin.de/2015/12/11/jq-stuff/</guid><description>&lt;p>Waah. In case I *ever* need this again.&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;pre tabindex="0">&lt;code>aws ec2 describe-security-groups | \
 jq &amp;#39;.SecurityGroups | \
 map(select(has(&amp;#34;Tags&amp;#34;))) | \
 map(select(.Tags[].Key|contains(&amp;#34;Name&amp;#34;))) | \
 .[] | \
 [ .Tags , .GroupId ] | \
 [ (.[0]|map(select(.Key==&amp;#34;Name&amp;#34;)))[0].Value, .[1] ] | \
 join(&amp;#34;=&amp;#34;) &amp;#39;&lt;/code>&lt;/pre>&lt;/div>&lt;p>What does it do? It makes a list&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;pre tabindex="0">&lt;code>$NAME_TAG=$GROUP_ID&lt;/code>&lt;/pre>&lt;/div>&lt;p>&amp;hellip; for each security group which has a name tag. Yeah, right.&lt;/p></description></item><item><title>Shortcut with “ö” (o-umlaut)</title><link>https://www.flypenguin.de/2015/12/08/shortcut-with-o-o-umlaut/</link><pubDate>Tue, 08 Dec 2015 14:58:31 +0000</pubDate><guid>https://www.flypenguin.de/2015/12/08/shortcut-with-o-o-umlaut/</guid><description>&lt;p>I want my clipboard history on CTRL-Ö. Don&amp;rsquo;t ask why.&lt;/p>
&lt;p>Here&amp;rsquo;s what you can enter in GNOME to get this:&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;pre tabindex="0">&lt;code>&amp;lt;Ctrl&amp;gt;odiaeresis&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Rancher IAM role</title><link>https://www.flypenguin.de/2015/12/08/rancher-iam-role/</link><pubDate>Tue, 08 Dec 2015 10:51:53 +0000</pubDate><guid>https://www.flypenguin.de/2015/12/08/rancher-iam-role/</guid><description>&lt;p>Rancher can create instances on EC2. If you want to define a dedicated IAM user for this, refer to 
 








 


&lt;a href="http:/docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html">the Amazon docs&lt;/a> for the a profile template.&lt;/p>
&lt;p>Unfortunately the first thing you get when using those permissions in rancher is &amp;ldquo;You are not authorized&amp;rdquo;. Great. I&amp;rsquo;ll update this when I know the correct permissions.&lt;/p>
&lt;p>(Source: 
 








 


&lt;a href="http:/docs.rancher.com/os/amazon-ecs">Rancher docs&lt;/a>)&lt;/p></description></item><item><title>VPC with NAT to internet on AWS</title><link>https://www.flypenguin.de/2015/12/07/vpc-with-nat-to-internet-on-aws/</link><pubDate>Mon, 07 Dec 2015 13:37:11 +0000</pubDate><guid>https://www.flypenguin.de/2015/12/07/vpc-with-nat-to-internet-on-aws/</guid><description>&lt;p>&amp;hellip; and other TLAs.&lt;/p>
&lt;p>Anyways, as far as I remember OpenStack does not need this, so I thought I document it here. I at least was surprised.&lt;/p>
&lt;p>Situation: You want a private network sement in the cloud (in my case an Amazon VPC), and you don&amp;rsquo;t want all hosts to be accessible from the internet. So you don&amp;rsquo;t assign public IPs, and you need a router/gateway.&lt;/p>
&lt;p>Amazon creates a network internet gateway, but this thing does &lt;em>not&lt;/em> do one thing: NATting. If your host does not have a private IP, it can&amp;rsquo;t connect to &amp;ldquo;the internet&amp;rdquo;.&lt;/p></description></item><item><title>CI / CD solutions</title><link>https://www.flypenguin.de/2015/12/07/ci-cd-solutions/</link><pubDate>Mon, 07 Dec 2015 10:43:44 +0000</pubDate><guid>https://www.flypenguin.de/2015/12/07/ci-cd-solutions/</guid><description>&lt;p>Everyone wants free candy. Or a CI/CD solution, that &amp;hellip;&lt;/p>
&lt;ul>
&lt;li>auto-deploys container-based servcies&lt;/li>
&lt;li>auto-updates (roll-forward, roll-back) those services on keypress and &amp;ldquo;triggers&amp;rdquo;&lt;/li>
&lt;li>has one-click-deployment of services.&lt;/li>
&lt;/ul>
&lt;p>&lt;em>My&lt;/em> definition of &amp;ldquo;service&amp;rdquo; here is &amp;ldquo;A set of containers working together in a certain way, automatically load balanced where needed&amp;rdquo;. Example: A n worker nodes, loadbalanced from a web endpoint, and a database container. All deployed at the same time. Including one-click-deployment of environments (&amp;ldquo;Oh, I&amp;rsquo;d like to test &lt;em>this&lt;/em> revision again, let&amp;rsquo;s deploy it quickly&amp;rdquo;&amp;hellip;). Note that this is mostly CD (continuous deployment), cause CI is being done for a while now with - mostly - Jenins and other tools.&lt;/p></description></item><item><title>iTerm &amp; keyboard</title><link>https://www.flypenguin.de/2015/11/29/iterm-keyboard/</link><pubDate>Sun, 29 Nov 2015 14:46:25 +0000</pubDate><guid>https://www.flypenguin.de/2015/11/29/iterm-keyboard/</guid><description>&lt;ul>
&lt;li>
 








 


&lt;a href="http:/ark.asengard.net/blog/2013/01/09/iterm2-on-mac-osx-add-alt-left-alt-right-and-alt-backspace-behaviour">make alt-left/right work as cmd-left/right in iTerm&lt;/a>&lt;/li>
&lt;li>
 








 


&lt;a href="http:/superuser.com/a/704301">Make alt-dot work as cmd-dot in iTerm&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>&amp;hellip; cause I remember having searched for this before, with a lot less useful results.&lt;/p></description></item><item><title>Docker registry, S3 and permissions</title><link>https://www.flypenguin.de/2015/11/26/docker-registry-s3-and-permissions/</link><pubDate>Thu, 26 Nov 2015 16:06:57 +0000</pubDate><guid>https://www.flypenguin.de/2015/11/26/docker-registry-s3-and-permissions/</guid><description>&lt;p>There are a couple of bazillion blog posts saying &amp;ldquo;yah just did my docker registry on S3&amp;rdquo;.&lt;/p>
&lt;p>It&amp;rsquo;s not so easy, though. Cause what if you want to limit access to a certain IAM user? Yup, you need to go deep (well, a bit) into the policy thing of Amazon. Which sounds simple, but isn&amp;rsquo;t.&lt;/p>
&lt;p>I got &amp;ldquo;HTTP 500&amp;rdquo; errors from the docker registry when I first deployed. My configuration, which was &lt;strong>wrong&lt;/strong>, looked like this:&lt;/p></description></item><item><title>InsufficientCapabilities on AWS</title><link>https://www.flypenguin.de/2015/11/19/insufficientcapabilities-on-aws/</link><pubDate>Thu, 19 Nov 2015 09:50:29 +0000</pubDate><guid>https://www.flypenguin.de/2015/11/19/insufficientcapabilities-on-aws/</guid><description>&lt;p>New project. I can play around as much as I want, as long as on day X I am done.&lt;/p>
&lt;p>Really frightening, and really cool.&lt;/p>
&lt;p>Anyway, first operation: Create a bunch of S3 buckets and IAM roles to interface with them. Which is kinda not-so-easy.&lt;/p>
&lt;p>Beacause when you create IAM capabilities with cloudformation, you get this error:&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;pre tabindex="0">&lt;code>{
    &amp;#34;CapabilitiesReason&amp;#34;: &amp;#34;The following resource(s) require capabilities: [AWS::IAM::AccessKey, AWS::IAM::User]&amp;#34;,
    &amp;#34;Capabilities&amp;#34;: [
        &amp;#34;CAPABILITY_IAM&amp;#34;
    ],
    &amp;#34;Parameters&amp;#34;: []
}&lt;/code>&lt;/pre>&lt;/div>&lt;p>&amp;hellip; which is a fancy way of saying &amp;ldquo;do this&amp;rdquo;:&lt;/p></description></item><item><title>Git rebase interactive with very first commit visible</title><link>https://www.flypenguin.de/2015/07/28/git-rebase-interactive-with-very-first-commit-visible/</link><pubDate>Tue, 28 Jul 2015 14:34:08 +0000</pubDate><guid>https://www.flypenguin.de/2015/07/28/git-rebase-interactive-with-very-first-commit-visible/</guid><description>&lt;p>Ever wanted to squash the first two commits with a &amp;ldquo;git rebase -i&amp;rdquo;? No? Me neither. Until today.&lt;/p>
&lt;p>
 








 


&lt;a href="http:/stackoverflow.com/questions/598672/squash-the-first-two-commits-in-git">Stackoverflow to the rescue&lt;/a>:&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;pre tabindex="0">&lt;code>git rebase -i --root&lt;/code>&lt;/pre>&lt;/div>&lt;p>Done.&lt;/p></description></item><item><title>Puppet spec fixtures</title><link>https://www.flypenguin.de/2015/07/28/puppet-spec-fixtures/</link><pubDate>Tue, 28 Jul 2015 12:37:10 +0000</pubDate><guid>https://www.flypenguin.de/2015/07/28/puppet-spec-fixtures/</guid><description>&lt;p>That&amp;rsquo;s how you specify branches in puppetlabs&amp;rsquo; spec_helper fixtures.yml:&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;pre tabindex="0">&lt;code>fixtures:
 forge_modules:
 stdlib:
 repo: &amp;#34;puppetlabs/stdlib&amp;#34;
 ref: &amp;#34;4.6.0&amp;#34;
 symlinks:
 mapr_helpers: &amp;#34;#{source_dir}&amp;#34;
 repositories:
 mapr:
 repo: &amp;#34;http://myurl/puppet-mapr.git&amp;#34;
 # this is a branch. stolen from: don&amp;#39;t remember.
 ref: &amp;#39;remotes/origin/ab/devel&amp;#39;&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docker, http and TLS</title><link>https://www.flypenguin.de/2015/07/15/docker-http-and-tls/</link><pubDate>Wed, 15 Jul 2015 15:32:12 +0000</pubDate><guid>https://www.flypenguin.de/2015/07/15/docker-http-and-tls/</guid><description>&lt;p>Today seems to be &amp;ldquo;annoyme-day&amp;rdquo;.&lt;/p>
&lt;p>This error message with docker:&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;pre tabindex="0">&lt;code>$ docker push myrepo.com:5000/name/image
Post http:///var/run/docker.sock/v1.19/images/myrepo.com:5000 \
 /name/image/push?tag=: read unix /var/run/docker.sock: \
 connection reset by peer. Are you trying to connect to \
 a TLS-enabled daemon without TLS?&lt;/code>&lt;/pre>&lt;/div>&lt;p>&amp;hellip; does not &lt;em>necessarily&lt;/em> mean that we use http:// instead of https://.&lt;/p>
&lt;p>It can also mean that the docker service is not running:&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;pre tabindex="0">&lt;code>$ systemctl status docker.service
 ● docker.service - Docker Application Container Engine
 Loaded: loaded (/etc/systemd/system/docker.service; disabled; vendor preset: disabled)
 Active: failed (Result: start-limit) since Wed 2015-07-15 17:16:48 CEST; 15s ago
 Docs: https://docs.docker.com
 Process: 48587 ExecStart=/usr/bin/docker td -H fd:// $DOCKER_OPTS (code=exited, status=1/FAILURE)
 Main PID: 48587 (code=exited, status=1/FAILURE)&lt;/code>&lt;/pre>&lt;/div>&lt;p>Took me 15 minutes.&lt;/p></description></item><item><title>Get SSL certificate from endpoint quickly</title><link>https://www.flypenguin.de/2015/07/15/get-ssl-certificate-from-endpoint-quickly/</link><pubDate>Wed, 15 Jul 2015 14:17:02 +0000</pubDate><guid>https://www.flypenguin.de/2015/07/15/get-ssl-certificate-from-endpoint-quickly/</guid><description>&lt;p>If you want to download and save it so &lt;!-- raw HTML omitted --> stops f*cking bugging you, you need to have it.&lt;/p>
&lt;p>Here&amp;rsquo;s a quick way. Shamelessly stolen from here: 
 








 


&lt;a href="http:/is.gd/A11rNR">http://is.gd/A11rNR&lt;/a>&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;pre tabindex="0">&lt;code>openssl s_client -host google.com -port 443 -prexit -showcerts&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docker and proxies</title><link>https://www.flypenguin.de/2015/07/15/docker-and-proxies/</link><pubDate>Wed, 15 Jul 2015 13:59:43 +0000</pubDate><guid>https://www.flypenguin.de/2015/07/15/docker-and-proxies/</guid><description>&lt;p>&amp;hellip; so &lt;em>I&lt;/em> don&amp;rsquo;t forget.&lt;/p>
&lt;p>&amp;ldquo;docker pull&amp;rdquo; will not use the HTTP_PROXY variable. Why? Because &amp;ldquo;docker&amp;rdquo; is just the cli program which tells the &lt;em>daemon&lt;/em> what to do. And the daemon probably does not know about the variable if just set in the terminal.&lt;/p>
&lt;p>So, what to do to make docker use it described pretty well here: 
 








 


&lt;a href="https:/docs.docker.com/articles/systemd/#http-proxy">https://docs.docker.com/articles/systemd/#http-proxy&lt;/a>&lt;/p>
&lt;p>Next thing: Don&amp;rsquo;t forget to go &amp;ldquo;systemctl daemon-reload&amp;rdquo;, because otherwise this will not be effective, even with &amp;ldquo;systemctl restart docker&amp;rdquo;.&lt;/p></description></item><item><title>Puppet Quiz: What’s wrong here?</title><link>https://www.flypenguin.de/2015/07/02/puppet-quiz-whats-wrong-here/</link><pubDate>Thu, 02 Jul 2015 09:49:23 +0000</pubDate><guid>https://www.flypenguin.de/2015/07/02/puppet-quiz-whats-wrong-here/</guid><description>&lt;p>The error is: Dependency cycle.&lt;/p>
&lt;p>The code is:&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;pre tabindex="0">&lt;code>class my::own::docker {
 include ::docker
 file { &amp;#39;/var/lib/docker&amp;#39;:
 ensure =&amp;gt; directory,
 before =&amp;gt; Class[&amp;#39;docker&amp;#39;],
 }
}&lt;/code>&lt;/pre>&lt;/div>&lt;p>Why? 🙂&lt;/p>
&lt;p>It&amp;rsquo;s rather simple here, in the real class it really took me a while to find it.&lt;/p></description></item><item><title>OpenStack IPs, part II</title><link>https://www.flypenguin.de/2015/06/23/openstack-ips-part-ii/</link><pubDate>Tue, 23 Jun 2015 06:44:10 +0000</pubDate><guid>https://www.flypenguin.de/2015/06/23/openstack-ips-part-ii/</guid><description>&lt;p>Just a short one. Now that I can list IPs (see last post), it might be nice to associate them on the command line, too. First I wanted to extend the little script, but then I remembered there must already be a CLI way for this.&lt;/p>
&lt;p>And there is.&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;pre tabindex="0">&lt;code>$ openstack server list
$ nova floating-ip-associate &amp;lt;server-uuid&amp;gt; &amp;lt;floating-IP&amp;gt;&lt;/code>&lt;/pre>&lt;/div>&lt;p>(&lt;em>Note:&lt;/em> The floating-ip is the actual IP, not the UUID &lt;em>of&lt;/em> the OpenStack floating IP)&lt;/p></description></item><item><title>LibreOffice tables</title><link>https://www.flypenguin.de/2015/06/22/libreoffice-tables/</link><pubDate>Mon, 22 Jun 2015 16:24:01 +0000</pubDate><guid>https://www.flypenguin.de/2015/06/22/libreoffice-tables/</guid><description>&lt;p>Filed my first LibreOffice bugs. And I must say: A free and open source word processor with an open doucment format is desperately needed, but one that actually works. LibreOffice is really &amp;hellip; well, bad looking and playing catch-up with &amp;ldquo;the other&amp;rdquo;, and crashing really way too often for my taste.&lt;/p>
&lt;p>And while working with a lot of tables (which is a pain in the ass with LO) I found three bugs. And on one bug even the LO team agrees that it&amp;rsquo;s a major one 🙂 .&lt;/p></description></item><item><title>OpenStack floating IP convenience</title><link>https://www.flypenguin.de/2015/06/22/openstack-floating-ip-convenience/</link><pubDate>Mon, 22 Jun 2015 10:35:12 +0000</pubDate><guid>https://www.flypenguin.de/2015/06/22/openstack-floating-ip-convenience/</guid><description>&lt;p>Problem: I am working in a tenant which has a couple of hosts with floating IPs assigned. I always have to look them up either manually using the command line clients (and dealing with all those UUIDs), or manually in the web GUI. Didn&amp;rsquo;t like.&lt;/p>
&lt;p>Solution: Python script, which outputs FLOATING_IP -&amp;gt; HOST_NAME.&lt;/p>
&lt;p>Here it is.&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;pre tabindex="0">&lt;code>#!/usr/bin/env python

from novaclient import client
import novaclient.v2.floating_ips as os_fips
import novaclient.v2.servers as os_servers
import novaclient.v2.networks as os_networks

#from pprint import pprint as pp
import os
from sys import exit


def error(printme):
 print(&amp;#34;ERROR: {}&amp;#34;.format(printme))
 exit(-1)

def check_env():
 for a in (&amp;#34;OS_TENANT_ID&amp;#34;, &amp;#34;OS_TENANT_NAME&amp;#34;, &amp;#34;OS_AUTH_URL&amp;#34;, &amp;#34;OS_USERNAME&amp;#34;, &amp;#34;OS_PASSWORD&amp;#34;):
 if not os.environ.get(a): error(&amp;#34;Please set ${}&amp;#34;.format(a))

def get_client():
 check_env()
 return client.Client(2,
 os.environ[&amp;#34;OS_USERNAME&amp;#34;],
 os.environ[&amp;#34;OS_PASSWORD&amp;#34;],
 os.environ[&amp;#34;OS_TENANT_NAME&amp;#34;],
 os.environ[&amp;#34;OS_AUTH_URL&amp;#34;])


if __name__==&amp;#34;__main__&amp;#34;:
 nova = get_client()
 fipman = os_fips.FloatingIPManager(nova)
 servman = os_servers.ServerManager(nova)
 netman = os_networks.NetworkManager(nova)

 ips = fipman.list()
 srs = servman.list()

 id2server = {}
 for a in srs:
 id2server[a.id] = a

 ips = [(ip.ip, ip.instance_id) for ip in ips]
 # filter out unused floating ips (which have as instance id)
 ips = filter(lambda x: x[1], ips)
 # create (IP, SERVER_NAME pairs)
 ips = map(lambda x: (x[0], id2server[x[1]].name), ips)
 # sort for convenience by host instance name
 ips = sorted(ips, key=lambda x: x[1].lower())

 for a in ips:
 print(&amp;#34;{:18s} {}&amp;#34;.format(a[0], a[1]))&lt;/code>&lt;/pre>&lt;/div>&lt;p>Sample output:&lt;/p></description></item><item><title>Microsoft Code and Typescript</title><link>https://www.flypenguin.de/2015/06/19/microsoft-code-and-typescript/</link><pubDate>Fri, 19 Jun 2015 16:36:33 +0000</pubDate><guid>https://www.flypenguin.de/2015/06/19/microsoft-code-and-typescript/</guid><description>&lt;p>So being on the enterJS conference I wanted to get started with JavaScript. And TypeScript seems really promising. And once again I stumbled over the DIW pattern - Download, Install, Weird error messages.&lt;/p>
&lt;p>So, here&amp;rsquo;s my take on how to get started.&lt;/p>
&lt;p>I wanted &amp;hellip;&lt;/p>
&lt;ul>
&lt;li> to try node-hid to see my USB HID devices, using TypeScript, Microsoft Visual Studio Code, and Node.js.&lt;/li>
&lt;/ul>
&lt;p>So here&amp;rsquo;s how to get it to work:&lt;/p></description></item><item><title>Shared clipboard for Arch Linux as VMWare guest</title><link>https://www.flypenguin.de/2015/06/15/shared-clipboard-for-arch-as-vmware-guest/</link><pubDate>Mon, 15 Jun 2015 19:33:01 +0000</pubDate><guid>https://www.flypenguin.de/2015/06/15/shared-clipboard-for-arch-as-vmware-guest/</guid><description>&lt;p>&amp;hellip; aaaand I wanted to have a shared clipboard. It&amp;rsquo;s again all in the wiki, but again a bit distributed. So here we go.&lt;/p>
&lt;p>First: Install open-vm-tools and gtkmm, then add some modules to system bootup&lt;/p>
&lt;ul>
&lt;li>&amp;ldquo;sudo pacman -S open-vm-tools 
 








 


&lt;a href="https:/bbs.archlinux.org/viewtopic.php?pid=1116899#p1116899">gtkmm&lt;/a>&amp;rdquo;&lt;/li>
&lt;li>&amp;ldquo;sudo vim /etc/mkinitcpio.conf&amp;rdquo;&lt;/li>
&lt;li>Under &amp;ldquo;MODULES=&amp;hellip;&amp;rdquo; add the following: &amp;ldquo;vmxnet3 vmw_vmci vmw_pvscsi vmw_balloon&amp;rdquo;
(You probably don&amp;rsquo;t need most of them, but this is the config which worked for me. I didn&amp;rsquo;t try to remove them one-by-one to see which ones are &lt;em>actually&lt;/em> needed)&lt;/li>
&lt;li>&amp;ldquo;sudo mkinitcpio -p linux&amp;rdquo;&lt;/li>
&lt;li>reboot&lt;/li>
&lt;/ul>
&lt;p>Second, make sure &amp;ldquo;vmware-user-suid-wrapper&amp;rdquo; is stared on login:&lt;/p></description></item><item><title>Install infinality fonts bundle in arch</title><link>https://www.flypenguin.de/2015/06/15/install-infinality-fonts-bundle-in-arch/</link><pubDate>Mon, 15 Jun 2015 12:09:41 +0000</pubDate><guid>https://www.flypenguin.de/2015/06/15/install-infinality-fonts-bundle-in-arch/</guid><description>&lt;p>Installing custom repos in Arch is kind of annoying. But here&amp;rsquo;s how it goes (especially if you&amp;rsquo;re behding a firewall which permits only ports 80, 443 and 22):&lt;/p>
&lt;p>First. Switch the keyserver to a HTTP based one. To do this:&lt;/p>
&lt;ol>
&lt;li>edit /etc/pacman.d/gnupg/gnupg.conf&lt;/li>
&lt;li>replace &amp;ldquo;keyserver hkp://&amp;hellip;&amp;rdquo; with &amp;ldquo;keyserver hkp://keyserver.kjsl.com:80&amp;rdquo;&lt;/li>
&lt;/ol>
&lt;p>Second. Get the key ID for the repo (in my case 
 








 


&lt;a href="https:/wiki.archlinux.org/index.php/Unofficial_user_repositories#infinality-bundle">from the wiki&lt;/a>):&lt;/p>
&lt;ul>
&lt;li>KEY ID is &amp;ldquo;962DDE58&amp;rdquo;&lt;/li>
&lt;/ul>
&lt;p>Third. Download key from keyserver and sign it locally:&lt;/p></description></item><item><title>Fedora, docker and self-signed SSL certs</title><link>https://www.flypenguin.de/2015/04/15/fedora-docker-and-self-signed-ssl-certs/</link><pubDate>Wed, 15 Apr 2015 06:48:58 +0000</pubDate><guid>https://www.flypenguin.de/2015/04/15/fedora-docker-and-self-signed-ssl-certs/</guid><description>&lt;p>I am behind a company firewall with a man-in-the-middle SSL certificate for secure connections. Can&amp;rsquo;t have viruses over SSL, can we?&lt;/p>
&lt;p>But apps which actually verify SSL connections (which is all of the apps using standard SSL/TLS/whatnot libs) do not like this. And rightfully so. But then we&amp;rsquo;re left with the following problem:&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;pre tabindex="0">&lt;code>$ docker search test
FATA[0000] Error response from daemon: GEt https://index.docker.io/v1/search?q=test: x509: certificate signed by unknown authority
$&lt;/code>&lt;/pre>&lt;/div>&lt;p>Now, to solve this on Fedora we do the following (all as root):&lt;/p></description></item><item><title>zsh and dot-directory completions</title><link>https://www.flypenguin.de/2014/08/27/zsh-and-dot-directory-completions/</link><pubDate>Wed, 27 Aug 2014 18:29:15 +0000</pubDate><guid>https://www.flypenguin.de/2014/08/27/zsh-and-dot-directory-completions/</guid><description>&lt;p>I blog so I don&amp;rsquo;t forget. At least that&amp;rsquo;s what I&amp;rsquo;m telling me right now 🙂 .&lt;/p>
&lt;p>So. To make zsh complete - for example - &amp;ldquo;cd ..&amp;rdquo; (it should append a &amp;ldquo;/&amp;rdquo; on TAB, right?) set the following in the .zshrc:&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;pre tabindex="0">&lt;code>setopt autocd
zstyle &amp;#39;:completion:*&amp;#39; special-dirs true    # please complete &amp;#34;cd .._/_&amp;#34; ...&lt;/code>&lt;/pre>&lt;/div>&lt;p>Great. Of course from 
 








 


&lt;a href="http:/bit.ly/1tVYw7g">Stackoverflow&lt;/a>.&lt;/p></description></item><item><title>Synology and Git, II</title><link>https://www.flypenguin.de/2014/08/27/synology-and-git-ii/</link><pubDate>Wed, 27 Aug 2014 17:58:42 +0000</pubDate><guid>https://www.flypenguin.de/2014/08/27/synology-and-git-ii/</guid><description>&lt;p>Don&amp;rsquo;t use the synology git package.&lt;/p>
&lt;p>But then Git&amp;rsquo;s not installed.&lt;/p>
&lt;p>I found a compromise:&lt;/p>
&lt;ul>
&lt;li>Install the package&lt;/li>
&lt;li>disable it&lt;/li>
&lt;li>switch back the shells in /etc/passwd from &amp;lt;something_with_git&amp;gt; to /bin/sh&lt;/li>
&lt;/ul>
&lt;p>Be happy.&lt;/p></description></item><item><title>Sublime Text: Keyboard Shortcut for setting Tab Width</title><link>https://www.flypenguin.de/2014/08/20/sublime-text-keyboard-shortcut-for-setting-tab-width/</link><pubDate>Wed, 20 Aug 2014 17:50:14 +0000</pubDate><guid>https://www.flypenguin.de/2014/08/20/sublime-text-keyboard-shortcut-for-setting-tab-width/</guid><description>&lt;p>Schwer zu finden &amp;hellip;
Wer schnell über das Keyboard die Tab Width verändern will, der tue das so:&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;keys&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;super+k&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;super+2&amp;#34;&lt;/span>],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;command&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;set_setting&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;args&amp;#34;&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;setting&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;tab_size&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;value&amp;#34;&lt;/span>: &lt;span style="color:#ae81ff">2&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>&lt;p>(gefunden hier: 
 








 


&lt;a href="http:/is.gd/Pz9zE0">http://is.gd/Pz9zE0&lt;/a>)&lt;/p></description></item><item><title>NAS Performance &amp; Mac</title><link>https://www.flypenguin.de/2014/08/14/nas-performance-mac/</link><pubDate>Thu, 14 Aug 2014 09:08:31 +0000</pubDate><guid>https://www.flypenguin.de/2014/08/14/nas-performance-mac/</guid><description>&lt;p>Ich bin stolzer Besitzer eines Synology NAS. Das hängt mit meinem Mac an einem Gigabit-Ethernet, und funktioniert ziemlich gut. Große Dateien bekomme ich mit Transferraten von +- 100 MB/sec rüber.&lt;/p>
&lt;p>Aber.&lt;/p>
&lt;p>Möchte ich von meinem Mac aus eine Netzwerkfreigabe im Finder browsen - dann dauert das listen von Verzeichnissen SEKUNDEN. Anzeigen von JPGs (kleinen!) in der Vorschau auch gerne mal 10-20 davon.&lt;/p>
&lt;p>Abhilfe schafften nach langem googlen folgende Erste-Hilfe-Maßnahmen im Terminal:&lt;/p></description></item><item><title>The limits of puppetDB a.k.a. etcd with puppet</title><link>https://www.flypenguin.de/2014/05/09/the-limits-of-puppetdb-a-k-a-etcd-with-puppet/</link><pubDate>Fri, 09 May 2014 23:15:51 +0000</pubDate><guid>https://www.flypenguin.de/2014/05/09/the-limits-of-puppetdb-a-k-a-etcd-with-puppet/</guid><description>&lt;p>Okay. Maybe this is the completely wrong way to do this, but I found no other. Comments appreciated.&lt;/p>
&lt;p>Situation:&lt;/p>
&lt;ul>
&lt;li>A DNS server cluster, meaning pacemaker managing an IP failover if one of them fails.&lt;/li>
&lt;li>The cluster IP (the one switching over) should be the IP used for DNS lookups.&lt;/li>
&lt;/ul>
&lt;p>Idea:&lt;/p>
&lt;ul>
&lt;li>Hosts should automatically find &amp;rsquo;their&amp;rsquo; DNS server using something. The DNS server should register itself somewhere so it is automatically set up during the first puppet run.&lt;/li>
&lt;/ul>
&lt;p>So far, so good. Unfortunately there are a few problems with it. My first approach was something like this:&lt;/p></description></item><item><title>Synology Git Server</title><link>https://www.flypenguin.de/2014/01/14/synology-git-server/</link><pubDate>Tue, 14 Jan 2014 21:31:36 +0000</pubDate><guid>https://www.flypenguin.de/2014/01/14/synology-git-server/</guid><description>&lt;p>Ich besitze ab neulich eine wundervolle Synology DS414. Schönes Teil.&lt;/p>
&lt;p>Und da ich aktuell ein wenig programmiere zu Hause wollte ich mir hier ein Git repository server einrichten. Das ist nicht ganz trivial, und wer sich github- oder gitlab-ähnlichen Komfort erhofft &amp;hellip; ah, nö. Es ist commandline only, und davon viel. Aber zum Punkt - der schnellstmöglichen Einrichtung eines Git-Repo-Servers auf einer Diskstation.&lt;/p>
&lt;ul>
&lt;li>Der SSH-Zugriff unter &lt;code>Systemsteuerung &amp;gt; Terminal&lt;/code> muss aktiviert sein.&lt;/li>
&lt;li>Es müssen Benutzer angelegt sein, und diese müssen ein Home-Verzeichnis haben (für die ssh-Schlüssel, ohne die es keinen Spaß macht). Das home-Verzeichnis aktiviert man in der &lt;code>Systemsteuerung &amp;gt; Benutzer&lt;/code>, dann oben ein Knopf &lt;code>Benutzerbasis&lt;/code> (der 2. von rechts bei mir)&lt;/li>
&lt;li>Wenn die Benutzer vorhanden sind legt man eine Freigabe an, das macht die Sache einfacher. Ich nutze &lt;code>/volume1/gitrepos&lt;/code>.&lt;/li>
&lt;li>Den eigenen ssh-Schlüssel ins home-Verzeichnis kopieren. Das sollte unter &lt;code>/volume1/homes/&amp;lt;Benutzer&amp;gt;&lt;/code> erreichbar sein, das Volume hat man vorhin in Schritt (1) ausgewählt. (natürlich muss &lt;code>.ssh/&lt;/code> 0600 und &lt;!-- raw HTML omitted -->.&lt;!-- raw HTML omitted --> sein, und &lt;code>.ssh/authorized_keys&lt;/code> 0700 und &lt;!-- raw HTML omitted -->.&lt;!-- raw HTML omitted -->, aber das muss ich ja nicht extra erwähnen, oder?)&lt;/li>
&lt;li>Jetzt den Git-Service aktivieren, dem gewünschten Benutzer den Zugriff erlauben.&lt;/li>
&lt;li>Ein repository anlegen ist leider Handarbeit:
&lt;ul>
&lt;li>Anmelden als root, dann nach &lt;code>/volume1/gitrepos&lt;/code> wechseln, ein Verzeichnis anlegen &amp;hellip;&lt;/li>
&lt;li>&amp;hellip; &lt;code>git init --bare&lt;/code> ausführen, &amp;hellip; und&lt;/li>
&lt;li>und jetzt entweder alles word-writable machen (bäh), oder dem entsprechenden Benutzer mittels chown zuweisen (yup).&lt;/li>
&lt;li>Beispiel: &lt;code>/volume1/gitrepos/my_repo&lt;/code>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Schließlich auf dem Arbeitsrechner noch git das neue Repo übergeben:
&lt;code>git remote add origin &amp;lt;user&amp;gt;@&amp;lt;diskstation&amp;gt;:/volume1/gitrepos/my_repo&lt;/code>&lt;/li>
&lt;li>&amp;hellip; und das wars.&lt;/li>
&lt;/ul>
&lt;p>Ganz einfach, oder? Naja.&lt;/p></description></item><item><title>Oracle virtualization</title><link>https://www.flypenguin.de/2014/01/13/oracle-virtualization/</link><pubDate>Mon, 13 Jan 2014 14:22:00 +0000</pubDate><guid>https://www.flypenguin.de/2014/01/13/oracle-virtualization/</guid><description>&lt;p>Ich hatte das zweifelhafte Vergnügen, mich mit OracleVM beschäftigen zu dürfen. Der Xen-basierten Virtualisierungslösung von Oracle. Zu dieser gehört der sog. &amp;ldquo;Oracle Manager&amp;rdquo;, eine WebLogic-basierte Anwendung zur Verwaltung aller VM hosts, cluster, VMs, und sonst noch allem. Die Aufgabe, die wir zu erledigen hatten, war prinzipiell einfach: Benutze den vorhandenen Manager, um auf 3 neuen Blades jeweils OracleVM (das Host-System) zu installieren, um dort ein paar virtuelle Maschinen laufen zu lassen. Der Trick: Die Blades waren über Trunk-Ports ans Netzwerk angeschlossen, da die VMs in verschiedenen Netzen operieren sollten. &lt;/p></description></item><item><title>Augeas und Reihenfolge</title><link>https://www.flypenguin.de/2013/08/01/augeas-und-reihenfolge/</link><pubDate>Thu, 01 Aug 2013 16:58:13 +0000</pubDate><guid>https://www.flypenguin.de/2013/08/01/augeas-und-reihenfolge/</guid><description>&lt;p>Problem: mit HIlfe von Augeas einen Eintrag zur /etc/hosts Datei hinzufügen.&lt;/p>
&lt;p>Erste Lösung:&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-puppet" data-lang="puppet">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">augeas&lt;/span> { &lt;span style="color:#e6db74">&amp;#34;${title}&amp;#34;&lt;/span> :&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span> &lt;span style="color:#a6e22e">context&lt;/span> &lt;span style="color:#f92672">=&amp;gt;&lt;/span> &lt;span style="color:#e6db74">&amp;#39;/files/etc/hosts&amp;#39;&lt;/span>,&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span> &lt;span style="color:#a6e22e">changes&lt;/span> &lt;span style="color:#f92672">=&amp;gt;&lt;/span> [&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span> &lt;span style="color:#e6db74">&amp;#34;rm *[canonical = &amp;#39;${host}&amp;#39;]&amp;#34;&lt;/span>,&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span> &lt;span style="color:#e6db74">&amp;#34;set 02/canonical ${host}&amp;#34;&lt;/span>,&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span> &lt;span style="color:#e6db74">&amp;#34;set 02/ipaddr ${ip}&amp;#34;&lt;/span>,&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span> ]&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span>}&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>&lt;p>Funktioniert nicht. Warum? Trotz Aufruf von &amp;ldquo;save&amp;rdquo; am Ende einer jeden Sitzung im augtool ist die Reihenfolge der Anweisungen durchaus entscheidend - die Daten werden offenbar nicht erst am Ende zusammengesetzt. Hier z.B. gilt: In der gleichen Reihenfolge vorgehen, wie es auch in die Datei geschrieben werden würde. Und da steht nun mal am Anfang die IP Adresse. Daher also eine einfache kleine Änderung machen und schon gehts:&lt;/p></description></item><item><title>Nervige Puppet Fehler</title><link>https://www.flypenguin.de/2013/07/26/nervige-puppet-fehler/</link><pubDate>Fri, 26 Jul 2013 11:20:02 +0000</pubDate><guid>https://www.flypenguin.de/2013/07/26/nervige-puppet-fehler/</guid><description>&lt;p>Was geht hier nicht?&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-puppet" data-lang="puppet">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">class&lt;/span> { &lt;span style="color:#e6db74">&amp;#39;whatever&amp;#39;&lt;/span> :&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span> &lt;span style="color:#a6e22e">do&lt;/span> &lt;span style="color:#f92672">=&amp;gt;&lt;/span> &lt;span style="color:#e6db74">&amp;#39;something&amp;#39;&lt;/span>,&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span> &lt;span style="color:#66d9ef">before&lt;/span> &lt;span style="color:#f92672">=&amp;gt;&lt;/span> &lt;span style="color:#66d9ef">Class&lt;/span>[ &lt;span style="color:#e6db74">&amp;#39;something_else&amp;#39;&lt;/span> ],&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span>} &lt;span style="color:#f92672">-&amp;gt;&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span>&lt;span style="color:#66d9ef">class&lt;/span> { &lt;span style="color:#e6db74">&amp;#39;yeah_yeah&amp;#39;&lt;/span> : &lt;span style="color:#a6e22e">do&lt;/span> &lt;span style="color:#f92672">=&amp;gt;&lt;/span> &lt;span style="color:#e6db74">&amp;#39;even_more&amp;#39;&lt;/span>, }&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>&lt;p>Na? Niemand? Gut. Lösung: &amp;ldquo;&lt;code>before =&amp;gt;&lt;/code>&amp;rdquo; und &amp;ldquo;&lt;code>-&amp;gt;&lt;/code>&amp;rdquo; mischen sich nicht. Das wäre nicht so schlimm, wäre die Fehlermeldung nicht absolut &amp;hellip; unzureichend:&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;pre tabindex="0">&lt;code>err: Could not retrieve catalog from remote server: Error 400 on SERVER: undefined method `&amp;lt;&amp;lt;&amp;#39; for {}:Hash on node bstrap_foreman_v2. ...&lt;/code>&lt;/pre>&lt;/div>&lt;p>Noch sowas dass man nicht mehr vergisst. Glücklicherweise gibts grafische git logs &amp;hellip;&lt;/p></description></item><item><title>Puppet &amp; Augeas &amp; Pulp</title><link>https://www.flypenguin.de/2013/07/19/puppet-augeas-pulp/</link><pubDate>Fri, 19 Jul 2013 11:12:58 +0000</pubDate><guid>https://www.flypenguin.de/2013/07/19/puppet-augeas-pulp/</guid><description>&lt;p>Ach Augeas ist schon genial. Wenn nur nicht &amp;hellip; (jaja, immer was zu meckern). Anlass diesmal: /etc/pulp/admin/admin.conf. Das ist eine in Augeas nicht vorgesehene Datei, und die Augeas-Doku ist &amp;hellip; nun ja. Analyse: Die Datei besteht aus Sektionen (&amp;quot;[blablubb]&amp;quot;), und Einträgen (&amp;ldquo;hallo = welt&amp;rdquo;). Da sollte sich doch was finden lassen.&lt;/p>
&lt;p>Tut es auch: Die IniFile-Lens. Preisfrage: Wie testet man das? Beim Ausprobieren 
 








 


&lt;a href="https:/www.redhat.com/archives/augeas-devel/2012-March/msg00011.html">stieß ich&lt;/a> auch auf die Information, dass die IniFile-Lens nicht für direkte Nutzung gedacht ist, sondern nur für die Nutzung in &amp;hellip; abgeleiteten Lenses. Wie z.B. der Puppet-Lens. Die angeblich gut passt. Dann testet man das auf der Konsole folgendermaßen:&lt;/p></description></item><item><title>Puppet, Arrays &amp; Iteratoren</title><link>https://www.flypenguin.de/2013/07/18/puppet-arrays-iteratoren/</link><pubDate>Thu, 18 Jul 2013 16:05:48 +0000</pubDate><guid>https://www.flypenguin.de/2013/07/18/puppet-arrays-iteratoren/</guid><description>&lt;p>Endlich, endlich, endlich kommt in Puppet 3.2 die Möglichkeit, Schleifen zu bauen. Dann könnte ich eventuell folgende Aufgabenstellung ein klein wenig einfacher realisieren (aktuell arbeite ich bis zur endgültigen Umstellung unserer Systeme mit Puppet 2.7):&lt;/p>
&lt;ul>
&lt;li>Fasse alle im Rechner befindlichen Blockdevices der Form &amp;ldquo;/dev/sd*&amp;rdquo; - aber außer /dev/sda - in einer LVM volume group zusammen.&lt;/li>
&lt;/ul>
&lt;p>Das Herausfinden der Blockdevices erledigt ein Fact aus Facter &amp;hellip; naja, nicht ganz - ein 
 








 


&lt;a href="https:/github.com/puppetlabs/facter/pull/98">in Facter 2.0 verfügbarer Fact&lt;/a>, den ma aber dankenswerterweise zurückportieren kann. Dieser liefert uns $blockdevices - eine Komma-getrennte Liste der gefundenen devices, allerdings ohne &amp;ldquo;/dev/&amp;rdquo;, also nur &amp;ldquo;sda,sdb,sdc&amp;rdquo;.&lt;/p></description></item><item><title>Puppet Stages &amp; Notify</title><link>https://www.flypenguin.de/2013/07/04/puppet-stages-notify/</link><pubDate>Thu, 04 Jul 2013 10:10:39 +0000</pubDate><guid>https://www.flypenguin.de/2013/07/04/puppet-stages-notify/</guid><description>&lt;p>Die notify Funktion von Puppet hat eine seltsame Eigenschaft, die ich persönlich wenig nachvollziehbar finde. Sie impliziert einen &amp;ldquo;before&amp;rdquo;-Zusammenhang zwischen der Resource, die benachrichtigt, und der benachrichtigten. Das führt zu unpraktischen Komplikationen. Der Versuch einer Herleitung:&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-puppet" data-lang="puppet">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">service&lt;/span> { &lt;span style="color:#e6db74">&amp;#34;tomcat&amp;#34;&lt;/span> : &lt;span style="color:#a6e22e">ensure&lt;/span> &lt;span style="color:#f92672">=&amp;gt;&lt;/span> &lt;span style="color:#66d9ef">running&lt;/span> }&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span>&lt;span style="color:#66d9ef">file&lt;/span> { &lt;span style="color:#e6db74">&amp;#34;/etc/tomcat.conf&amp;#34;&lt;/span> : &lt;span style="color:#66d9ef">notify&lt;/span> &lt;span style="color:#f92672">=&amp;gt;&lt;/span> &lt;span style="color:#66d9ef">Service&lt;/span>[&lt;span style="color:#e6db74">&amp;#34;tomcat&amp;#34;&lt;/span>] }&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>&lt;p>Das funktioniert bestens, und bedeutet, dass zuerst die file-Direktive abgearbeitet wird, und &lt;em>dann&lt;/em> der Service. Darauf aufbauend kann ich mir sehr gut folgende Erweiterung vorstellen:&lt;/p>
&lt;div class="mb-3 syntax-highlight">&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-puppet" data-lang="puppet">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">class&lt;/span> { &lt;span style="color:#e6db74">&amp;#34;deployment::basic_app_server&amp;#34;&lt;/span> : }&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span>&lt;span style="color:#66d9ef">file&lt;/span> { &lt;span style="color:#e6db74">&amp;#34;/etc/tomcat.conf&amp;#34;&lt;/span> : &lt;span style="color:#66d9ef">notify&lt;/span> &lt;span style="color:#f92672">=&amp;gt;&lt;/span> &lt;span style="color:#66d9ef">Service&lt;/span>[&lt;span style="color:#e6db74">&amp;#34;tomcat&amp;#34;&lt;/span>] }&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>&lt;p>Nehmen wir an in &amp;ldquo;deployment::basic_app_server&amp;rdquo; werden einige zentrale Dinge geregelt, darunter auch der tomcat-Service. Die Absicht: Ich möchte mich darauf verlassen können, dass spezifische Module auf einem bestimmten Konfigurationsstand aufsetzen. Dafür wurden stages eigentlich erfunden (meines Erachtens nach), also erweitern wir zu:&lt;/p></description></item><item><title>Sicherheitsmodus</title><link>https://www.flypenguin.de/2013/07/03/sicherheitsmodus/</link><pubDate>Wed, 03 Jul 2013 12:25:31 +0000</pubDate><guid>https://www.flypenguin.de/2013/07/03/sicherheitsmodus/</guid><description>&lt;p>Eben in der Mailbox:&lt;/p>





 &lt;blockquote class="blockquote">
 &lt;p>From: [&amp;hellip;]
Betreff: Drucker prntr3131 läuft im Sicherheitsmodus&lt;/p>
&lt;p>Hallo,
der Etagendrucker im 3. OG &amp;ldquo;prntr3131&amp;rdquo;  druckt zur Zeit weiße Schrift auf weißem Papier.
Die Hotline ist informiert und wird wohl einen Techniker bestellen.&lt;/p>
&lt;p>Gruß,
[&amp;hellip;]&lt;/p>
 &lt;/blockquote>
&lt;p>🙂&lt;/p></description></item></channel></rss>