From 47a53e3a86ed2e04a66763e926c79009062ee35f Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 3 Mar 2023 12:25:43 +0200 Subject: Update content for html --- gemfeed/2008-06-26-perl-poetry.html | 2 +- ...12-29-using-my-nokia-n95-for-fixing-my-mta.html | 2 +- gemfeed/2010-04-09-standard-ml-and-haskell.html | 2 +- ...010-05-07-lazy-evaluation-with-standarn-ml.html | 2 +- .../2010-05-09-the-fype-programming-language.html | 2 +- .../2011-05-07-perl-daemon-service-framework.html | 2 +- .../2014-03-24-the-fibonacci.pl.c-polyglot.html | 2 +- ...2-05-run-debian-on-your-phone-with-debroid.html | 2 +- gemfeed/2016-04-03-offsite-backup-with-zfs.html | 2 +- ...04-09-jails-and-zfs-on-freebsd-with-puppet.html | 2 +- .../2016-04-16-offsite-backup-with-zfs-part2.html | 2 +- ...inning-up-my-own-authoritative-dns-servers.html | 2 +- ...20-object-oriented-programming-with-ansi-c.html | 2 +- ...alistic-load-testing-with-ioriot-for-linux.html | 2 +- ...-22-dtail-the-distributed-log-tail-program.html | 2 +- gemfeed/2021-04-24-welcome-to-the-geminispace.html | 2 +- ...021-05-16-personal-bash-coding-style-guide.html | 2 +- ...5-gemtexter-one-bash-script-to-rule-it-all.html | 2 +- gemfeed/2021-07-04-the-well-grounded-rubyist.html | 2 +- ...-08-01-on-being-pedantic-about-open-source.html | 4 +- gemfeed/2021-09-12-keep-it-simple-and-stupid.html | 2 +- gemfeed/2021-10-22-defensive-devops.html | 2 +- gemfeed/2021-11-29-bash-golf-part-1.html | 2 +- ...-12-26-how-to-stay-sane-as-a-devops-person.html | 2 +- gemfeed/2022-01-01-bash-golf-part-2.html | 2 +- gemfeed/2022-01-23-welcome-to-the-foo.zone.html | 2 +- ...022-02-04-computer-operating-systems-i-use.html | 2 +- gemfeed/2022-03-06-the-release-of-dtail-4.0.0.html | 2 +- gemfeed/2022-04-10-creative-universe.html | 2 +- .../2022-05-27-perl-is-still-a-great-choice.html | 2 +- gemfeed/2022-06-15-sweating-the-small-stuff.html | 2 +- ...22-07-30-lets-encrypt-with-openbsd-and-rex.html | 2 +- ...2-08-27-gemtexter-1.1.0-lets-gemtext-again.html | 2 +- gemfeed/2022-09-30-after-a-bad-nights-sleep.html | 2 +- .../2022-10-30-installing-dtail-on-openbsd.html | 2 +- ...-tried-emacs-but-i-switched-back-to-neovim.html | 2 +- ...22-12-24-ultrarelearning-java-my-takeaways.html | 2 +- gemfeed/2023-01-23-why-grapheneos-rox.html | 2 +- .../2023-02-26-how-to-shut-down-after-work.html | 2 +- gemfeed/atom.xml | 316 +++++++++++++++------ index.html | 4 +- resources.html | 9 +- 42 files changed, 283 insertions(+), 126 deletions(-) diff --git a/gemfeed/2008-06-26-perl-poetry.html b/gemfeed/2008-06-26-perl-poetry.html index 549b9aab..c46d5b18 100644 --- a/gemfeed/2008-06-26-perl-poetry.html +++ b/gemfeed/2008-06-26-perl-poetry.html @@ -156,7 +156,7 @@ This is perl, v5.8.8 built for i386-freebsd-64int

More...

Did you like what you saw? Have a look at Codeberg to see my other poems too:

https://codeberg.org/snonux/perl-poetry
-

E-Mail your comments to paul at buetow dot org! :-)

+

E-Mail your comments to hi@paul.cyou :-)

Go back to the main site

It was a pain in the ass. My next mobile phone MUST have a full QWERTY keyboard. This would have made my life lots easier. :)

At the moment I am in Sofia, Bulgaria. Here I can use at least an unprotected WLAN hotspot which belongs to one of the neighbours which I don’t know in person, and it is not blocking any port at all :)

-

E-Mail your comments to paul at buetow dot org! :-)

+

E-Mail your comments to hi@paul.cyou :-)

Go back to the main site

E-Mail your comments to paul at buetow dot org! :-)

+

E-Mail your comments to hi@paul.cyou :-)

Go back to the main site

E-Mail your comments to paul at buetow dot org! :-)

+

E-Mail your comments to hi@paul.cyou :-)

Go back to the main site

May the source be with you

You can find all of this on the GitHub page. There is also an "examples" folders containing some Fype scripts!

https://codeberg.org/snonux/fype
-

E-Mail your comments to paul at buetow dot org! :-)

+

E-Mail your comments to hi@paul.cyou :-)

Go back to the main site

May the source be with you

You can find PerlDaemon (including the examples) at:

https://codeberg.org/snonux/perldaemon
-

E-Mail your comments to paul at buetow dot org! :-)

+

E-Mail your comments to hi@paul.cyou :-)

Go back to the main site

It's entertaining to play with :-).

-

E-Mail your comments to paul at buetow dot org! :-)

+

E-Mail your comments to hi@paul.cyou :-)

Go back to the main site

Reboot & test! Enjoy!

-

E-Mail your comments to paul at buetow dot org! :-)

+

E-Mail your comments to hi@paul.cyou :-)

Go back to the main site

The solution is adding another USB drive (2TB) with an encryption container (GELI) and a ZFS pool. The GELI encryption requires a secret key and a secret passphrase. I am updating the data to that drive once every three months (my calendar is reminding me about it), and afterwards, I keep that drive at a secret location outside of my apartment. All the information needed to decrypt (mounting the GELI container) is stored at another (secure) place. Key and passphrase are kept at different sites, though. Even if someone knew of it, he would not be able to decrypt it as some additional insider knowledge would be required as well.

Walking one round less

I am thinking of buying a second 2TB USB drive and setting it up the same way as the first one. So I could alternate the backups. One drive would be at the secret location, and the other drive would be at home. And these drives would swap place after each cycle. This would give some security about the failure of that drive, and I would have to go to the secret location only once (swapping the drives) instead of twice (picking that drive up to update the data + bringing it back to the remote location).

-

E-Mail your comments to paul at buetow dot org! :-)

+

E-Mail your comments to hi@paul.cyou :-)

Go back to the main site
  • ...etc
  • All done in a pretty automated manor.

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    I enhanced the procedure a bit. From now on, I have two external 2TB USB hard drives. Both are set up precisely the same way. To decrease the probability that both drives will not fail simultaneously, they are of different brands. One drive is kept at a secret location. The other one is held at home, right next to my HP MicroServer.

    Whenever I update the offsite backup, I am doing it to the drive, which is kept locally. Afterwards, I bring it to the secret location, swap the drives, and bring the other back home. This ensures that I will always have an offsite backup available at a different location than my home - even while updating one copy of it.

    Furthermore, I added scrubbing ("zpool scrub...") to the script. It ensures that the file system is consistent and that there are no bad blocks on the disk and the file system. To increase the reliability, I also run a "zfs set copies=2 zroot". That setting is also synchronized to the offsite ZFS pool. ZFS stores every data block to disk twice now. Yes, it consumes twice as much disk space, making it better fault-tolerant against hardware errors (e.g. only individual disk sectors going bad).

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site
  • The BIND server will notify all slave DNS servers (at the moment, only one). And it will transfer the new version of the zone.
  • That's much more comfortable now than manually clicking at some web UIs at Schlund Technologies.

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    Big C software projects, like Linux, also follow some OOP techniques:

    https://lwn.net/Articles/444910/

    C is a very old programming language with it's quirks. This might be one of the reasons why Linux will also let Rust code in.

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    Open Source

    Mimecast highly encourages you to have a look at DTail and submit an issue for any features you would like to see. Have you found a bug? Maybe you just have a question or comment? If you want to go a step further: We would also love to see pull requests for any features or improvements. Either way, if in doubt just contact us via the DTail GitHub page.

    https://dtail.dev
    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    Check out one of the following links for more information about Gemini. For example, you will find a FAQ that explains why the protocol is named Gemini. Many Gemini capsules are dual-hosted via Gemini and HTTP(S) so that people new to Gemini can sneak peek at the content with a regular web browser. Some people go as far as tri-hosting all their content via HTTP(S), Gemini and Gopher.

    gemini://gemini.circumlunar.space
    https://gemini.circumlunar.space
    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    Advanced Bash learning pro tip

    I also highly recommend having a read through the "Advanced Bash-Scripting Guide" (not from Google). I use it as the universal Bash reference and learn something new every time I look at it.

    Advanced Bash-Scripting Guide
    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    Conclusion

    It was quite a lot of fun writing Gemtexter. It's a relatively small project, but given that I worked on that in my spare time once in a while, it kept me busy for several weeks.

    I finally revamped my personal internet site and started to blog again. I wanted the result to be exactly how it is now: A slightly retro-inspired internet site built for fun with unconventional tools.

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    I liked this book so much so that I even bought myself a (used) paper copy of it. To my delight, there was also a free eBook version in ePub format included, which I now have on my Kobo Forma eBook reader. :-)

    Perl

    Will I abandon my beloved Perl? Probably not. There are also some Perl scripts I use at work. But unfortunately I only have a limited amount of time and I have to use it wisely. I might look into Raku (formerly known as Perl 6) next year and use it for a personal pet project, who knows. :-). I also highly recommend reading the two Perl books "Modern Perl" and "Higher-Order Perl".

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    Security bugs in open-source projects are exposed to the public and fixed quickly, while we don't know exactly what happens to security bugs in closed-source ones. Still, hackers and security specialists can find them through reverse engineering and penetration testing. Overall, thinking of security, In my opinion it is still better to prefer open-source software because the more significant the project, the higher the probability that security bugs are found and fixed as more parties are looking into it. Furthermore, provided you have the necessary resources, you could still deduct an audit by yourself. The latter especially happens when companies with its own security and penetration testing departments are evaluating the use of open-source. This is something not every company can afford though.

    Always watch out for open-source alternatives

    Do you need Microsoft Word? Why don't you just use the Vim text editor or GNU Emacs to write your letters? If that's too nerdy, you can still use open-source alternatives such as AbiWord or LibreOffice. Larger organizations have the tendency to standardize the software their employees have to use. Unfortunately, as Microsoft Word is the de-facto standard text processing program, most companies prefer Word over LibreOffice. Same with Microsoft Excel vs LibreOffice Calc or other spreadsheet alternatives like Gnumeric. I don't know why that is; please....

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    I only use free and open-source operating systems on my personal Laptops, Desktop PCs and servers (FreeBSD and Linux based ones). Most of the programs and apps I use on them are free and open-source as well, and I am comfortable with it for over twenty years. Exceptions are the BIOSes and some firmwares of my devices. I also use Skype as most of my friends and family are using it. They are, unfortunately, proprietary software still. But I will be looking into Matrix as a Skype alternative when I have time. There are also open BIOS alternatives, but they usually don't work on my devices.

    What about mobile?

    Update 2023-01-21: Check out my newer post about GrapheneOS, which solves some of my dilemmas

    @@ -74,7 +74,7 @@

    Conclusion

    Should you be pedantic about open-source software? It depends. It depends on your fundamental values and how much time you are ready to invest. Open-source software is not just free as in money, but also free as in freedom. You will gain back complete control of your personal data. Unfortunately, installing ready proprietary apps from the Play Store is much more convenient than building up a trustworthy open-source-based infrastructure by yourself. As a guideline, use proprietary software and services with caution. Be mindful about your choices and where you leave your digital fingerprints. In doubt, think less is more. Do you really need this new shiny app? What benefit does it provide to you? Probably you don't really need that shiny new app.

    You have better chances when you know how to manage your own server and install and manage alternatives to the big cloud providers by yourself. I have the advantage that I have work experience as a Linux Systems Administrator here. I mentioned NextCloud already. I use NextCloud for online photo and file storage, contact and calendar sync and as an RSS news feed server. You could do the same with your own E-Mail server, you can also host your own website and blog. I also mentioned Matrix as a Skype alternative (which could also be an alternative to WhatsApp, Skype, Telegram, Viber, ...). I don't know a lot about Matrix yet, but it seems to be a very neat alternative. I am ready to invest time in it as one of my future personal pet projects. Not only because I think it's better, but also because for fun and as a hobby. But this doesn't mean that I invest *all* of my personal free time in it.

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    Other relevant readings

    Is the madness ever going to end?

    Enough ranted for now!

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Controversially, a lack of features is a feature. Enjoy your peace an quiet. - Michael W Lucas

    Go back to the main site

    Retrospective

    For every major incident, you need to follow up with an incident retrospective. A blame-free, detailed description of exactly what went wrong to cause the incident, along with a list of steps to take to prevent a similar incident from occurring again in the future.

    This usually means creating one or more tickets, which will be dealt with soon. Once the permanent fix is deployed, you can remove your ad-hoc automation and monitoring around it and focus on your regular work again.

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    See you later for the next post of this series.

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    More

    Another blog post worth reading:

    https://unixsheikh.com/articles/how-to-stay-sane-in-todays-world-of-tech.html
    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    As a funny bit, I almost chose "foo.surf" over "foo.zone" as in "surfing this site", but then decided against it as I would have to tell everyone that I am not into water sports so much. Well, on the other hand, I now may have to explain to non-programmers that I am not a fan of the rock band "Foo Fighters". But that will be acceptable, as I don't expect "normal" people visiting the foo zone as much anyway. If you reached as far, I have to congratulate you. You are not a normal person.

    What about my old hosts

    The host buetow.org will stay. However, not as the primary address for this site. I will keep using it for my personal internet infrastructure as well as for most of my E-Mail addresses. I used buetow.org for that over the past 10 years already anyway and that won't change any time soon. I don't know what I am going to do with snonux.de in the long run. A .de SLD (for Germany) is pretty cheap, so I might just keep it for now.

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    I am a bit busy at the moment with two other pet projects of mine (one internal work-project, and one personal one, the latter you will read about in the next couple of months). If you have ideas (or even a patch), then please don't hesitate to contact me (either via E-Mail or a request at GitHub).

    Thanks!

    Paul

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site
  • The Off Switch; Mark Cropley; Virgin Books
  • Ultralearning; Scott Young; Thorsons
  • -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    Update 2022-12-17: The following is another related post. I don't agree to the statement made there, that Python code tends to be shorter than Perl code, though!

    Why Perl is still relevant in 2022
    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    If you wonder what Gemini is:

    Welcome to the Geminispae
    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    ACME and Let's Encrypt greatly help reduce recurring manual maintenance work (creating and renewing certificates). Furthermore, all the certificates are free of cost! I love to use OpenBSD and Rex to automate all of this.

    OpenBSD suits perfectly here as all the tools are already part of the base installation. But I like underdogs. Rex is not as powerful and popular as other configuration management systems (e.g. Puppet, Chef, SALT or even Ansible). It is more of an underdog, and the community is small.

    Why re-inventing the wheel? I love that a Rexfile is just a Perl DSL. Also, OpenBSD comes with Perl in the base system. So no new programming language had to be added to my mix for the configuration management system. Also, the acme.sh shell script is not a Bash but a standard Bourne shell script, so I didn't have to install an additional shell as OpenBSD does not come with the Bash pre-installed.

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    More

    Additionally, there were a couple of bug fixes, refactorings and overall improvements in the documentation made.

    Overall I think it's a pretty solid 1.1.0 release without anything groundbreaking (therefore no major version jump). But I am happy about it.

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    It's easier to forget things on those days, so everything should be written down so that it can be worked off later. Things written down will not be overlooked!

    Social media

    I wouldn't say I like checking social media, as it can consume a lot of time and can become addictive. But once in a while, I want to catch up with my "networks". After a bad night's sleep, it's the perfect time to check your social media. Once done, you don't have to do it anymore for the next couple of days!

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    Vim/NeoVim also comes with a very high degree of customization options, but to a lesser extreme than Emacs (but still, a much higher degree than most other editors out there). If you want the best text editor in the world, which can also be tweaked to be a decent IDE, you are only looking for: Pick Vim or NeoVim! You would also need to invest a lot of time in learning, tweaking and customizing Vim/NeoVim, but that's a little more straightforward, and the result is much more lightweight once you get used to the "Vi way of doing things" you never would want to change back. I haven't tried the Emacs vanilla keystrokes, but they are terrible (that's probably one of the reasons why Doom Emacs uses Vim keybindings by default).

    Update: One reader recommended to have a look at NvChad. NvChad is a NeoVim config written in Lua aiming to provide a base configuration with very beautiful UI and blazing fast startuptime (around 0.02 secs ~ 0.07 secs). They tweak UI plugins such as telescope, nvim-tree, bufferline etc well to provide an aesthetic UI experience. That sounds interesting!

    https://github.com/NvChad/NvChad
    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    Appendix

    This is the VimScript I mentioned earlier, which parses a table of contents index of my scanned paper journals and opens the corresponding PDF at the right page in zathura:

    diff --git a/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.html b/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.html index cee72a2e..519722c0 100644 --- a/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.html +++ b/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.html @@ -74,7 +74,7 @@ https://projectlombok.org/

    Java needs a clean cut. The clean cut shall be incompatible with previous versions of Java and only promote modern best practices without all the legacy burden carried around. The same can be said for other languages, e.g. Perl, but in Perl, they already attack the problem with the use of flags which change the behaviour of the language to more modern standards. Or do it like Python, where they had a hard (incompatible) cut from version 2 to version 3. It will be painful, for sure. But that would be the only way I would enjoy using that language as one of my primary languages to code new stuff regularly. Currently, my Java will stay limited to very few projects and the more minor things already mentioned in this post.

    Am I a Java expert now? No, by far not. But I am better now than before :-).

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    Sometimes, switching a profile to use a different app is annoying, and you can't copy and paste from the system clipboard from one profile to another. But that's a small price I am willing to pay!

    Another thing is that GrapheneOS can only run on Google Pixel phones, whereas LineageOS can be installed on a much larger variety of hardware. But on the other hand, GrapheneOS works very well on Pixel phones. The GrapheneOS team can concentrate their development efforts on a smaller set of hardware which then improves the software's quality (best example: The camera app).

    And, of course, GrapheneOS is an open-source project. This is a good thing; however, on the other side, nobody can guarantee that the OS will not break or will not damage your phone. You have to trust the GrapheneOS project and donate to the project so they can keep up with the great work. But I rather trust the GrapheneOS team than big tech.

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site

    Every day you gave your best was good; the day's outcome doesn't matter. What matters is that you know you gave your best and are closer to your goals than the previous day. This gives you a sense of progress and accomplishment.

    There are some days at work you feel drained afterwards and think you didn't progress towards your goals at all. It's more challenging to shut down from work after such a day. A quick hack is to work on a quick win before the end of the day, giving you a sense of accomplishment after all. Another way is to make progress on your fun passion project after work. It must not be work-related, but a sense of accomplishment will still be there.

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Go back to the main site
    Do you need help fully discharging from work in the evenings or for the weekend? Shutting down from work won't just improve your work-life balance; it will also significantly improve the quality of your personal life and work. After a restful weekend, you will be much more energized and productive the next working day. So it should not just be in your own, but also your employers' interest that you fully relax and shut down after work. . .....to read on please visit my site.
    -

    How to shut down after work

    + 1c1 +< -rw-r--r--. 1 paul paul 8220 Feb 26 00:20 ../foo.zone-content/gemtext/gemfeed/2023-02-26-how-to-shut-down-after-work.html +--- +> -rw-r--r--. 1 paul paul 8209 Mar 3 12:20 ../foo.zone-content/gemtext/gemfeed/2023-02-26-how-to-shut-down-after-work.html +

    How to shut down after work

    Published by Paul at 2023-02-26

         |\   "Music should be heard not only with the ears, but also the soul."
    @@ -67,7 +71,7 @@
     

    Every day you gave your best was good; the day's outcome doesn't matter. What matters is that you know you gave your best and are closer to your goals than the previous day. This gives you a sense of progress and accomplishment.

    There are some days at work you feel drained afterwards and think you didn't progress towards your goals at all. It's more challenging to shut down from work after such a day. A quick hack is to work on a quick win before the end of the day, giving you a sense of accomplishment after all. Another way is to make progress on your fun passion project after work. It must not be work-related, but a sense of accomplishment will still be there.

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    @@ -83,7 +87,11 @@ Art by Joan Stark. .....to read on please visit my site.
    -

    Why GrapheneOS rox

    + 1c1 +< -rw-r--r--. 1 paul paul 13573 Feb 7 09:43 ../foo.zone-content/gemtext/gemfeed/2023-01-23-why-grapheneos-rox.html +--- +> -rw-r--r--. 1 paul paul 13562 Mar 3 12:20 ../foo.zone-content/gemtext/gemfeed/2023-01-23-why-grapheneos-rox.html +

    Why GrapheneOS rox

    Published by Paul at 2023-01-21

     Art by Joan Stark
    @@ -166,7 +174,7 @@ Art by Joan Stark
     

    Sometimes, switching a profile to use a different app is annoying, and you can't copy and paste from the system clipboard from one profile to another. But that's a small price I am willing to pay!

    Another thing is that GrapheneOS can only run on Google Pixel phones, whereas LineageOS can be installed on a much larger variety of hardware. But on the other hand, GrapheneOS works very well on Pixel phones. The GrapheneOS team can concentrate their development efforts on a smaller set of hardware which then improves the software's quality (best example: The camera app).

    And, of course, GrapheneOS is an open-source project. This is a good thing; however, on the other side, nobody can guarantee that the OS will not break or will not damage your phone. You have to trust the GrapheneOS project and donate to the project so they can keep up with the great work. But I rather trust the GrapheneOS team than big tech.

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    @@ -182,7 +190,11 @@ Art by Joan Stark As a regular participant in the annual Pet Project competition at work, I always try to find a project where I can learn something new. In this post, I would like to share my takeaways after revisiting Java (Spoiler: I am still not the biggest Java fan, but Java has its uses). You can read about my motivations in my 'Creative universe' post:. .....to read on please visit my site.
    -

    Ultra(re)learning Java - My takeaways

    + 1c1 +< -rw-r--r--. 1 paul paul 16235 Dec 25 00:07 ../foo.zone-content/gemtext/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.html +--- +> -rw-r--r--. 1 paul paul 16224 Mar 3 12:20 ../foo.zone-content/gemtext/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.html +

    Ultra(re)learning Java - My takeaways

    Published by Paul at 2022-12-24


    As a regular participant in the annual Pet Project competition at work, I always try to find a project where I can learn something new. In this post, I would like to share my takeaways after revisiting Java. You can read about my motivations in my "Creative universe" post:

    @@ -248,7 +260,7 @@ Art by Joan Stark https://projectlombok.org/

    Java needs a clean cut. The clean cut shall be incompatible with previous versions of Java and only promote modern best practices without all the legacy burden carried around. The same can be said for other languages, e.g. Perl, but in Perl, they already attack the problem with the use of flags which change the behaviour of the language to more modern standards. Or do it like Python, where they had a hard (incompatible) cut from version 2 to version 3. It will be painful, for sure. But that would be the only way I would enjoy using that language as one of my primary languages to code new stuff regularly. Currently, my Java will stay limited to very few projects and the more minor things already mentioned in this post.

    Am I a Java expert now? No, by far not. But I am better now than before :-).

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    @@ -264,7 +276,11 @@ Art by Joan Stark As a long-lasting user of Vim (and NeoVim), I always wondered what GNU Emacs is really about, so I decided to try it. I didn't try vanilla GNU Emacs, but Doom Emacs. I chose Doom Emacs as it is a neat distribution of Emacs with Evil mode enabled by default. Evil mode allows Vi(m) key bindings (so to speak, it's emulating Vim within Emacs), and I am pretty sure I won't be ready to give up all the muscle memory I have built over more than a decade.. .....to read on please visit my site.
    -

    I tried (Doom) Emacs, but I switched back to (Neo)Vim

    + 1c1 +< -rw-r--r--. 1 paul paul 14674 Dec 8 10:49 ../foo.zone-content/gemtext/gemfeed/2022-11-24-i-tried-emacs-but-i-switched-back-to-neovim.html +--- +> -rw-r--r--. 1 paul paul 14663 Mar 3 12:20 ../foo.zone-content/gemtext/gemfeed/2022-11-24-i-tried-emacs-but-i-switched-back-to-neovim.html +

    I tried (Doom) Emacs, but I switched back to (Neo)Vim

    Published by Paul at 2022-11-24 11:17:15 EET, last updated at 2022-11-26

                  _/  \    _(\(o
    @@ -332,7 +348,7 @@ nmap ,i !wpbpaste<CR>
     

    Vim/NeoVim also comes with a very high degree of customization options, but to a lesser extreme than Emacs (but still, a much higher degree than most other editors out there). If you want the best text editor in the world, which can also be tweaked to be a decent IDE, you are only looking for: Pick Vim or NeoVim! You would also need to invest a lot of time in learning, tweaking and customizing Vim/NeoVim, but that's a little more straightforward, and the result is much more lightweight once you get used to the "Vi way of doing things" you never would want to change back. I haven't tried the Emacs vanilla keystrokes, but they are terrible (that's probably one of the reasons why Doom Emacs uses Vim keybindings by default).

    Update: One reader recommended to have a look at NvChad. NvChad is a NeoVim config written in Lua aiming to provide a base configuration with very beautiful UI and blazing fast startuptime (around 0.02 secs ~ 0.07 secs). They tweak UI plugins such as telescope, nvim-tree, bufferline etc well to provide an aesthetic UI experience. That sounds interesting!

    https://github.com/NvChad/NvChad
    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    Appendix

    This is the VimScript I mentioned earlier, which parses a table of contents index of my scanned paper journals and opens the corresponding PDF at the right page in zathura:

    @@ -408,7 +424,11 @@ nmap ,j :call OpenJournalPage()<CR>
             This will be a quick blog post, as I am busy with my personal life now. I have relocated to a different country and am still busy arranging things. So bear with me :-). .....to read on please visit my site.
             
                 
    -

    Installing DTail on OpenBSD

    + 1c1 +< -rw-r--r--. 1 paul paul 13450 Dec 8 10:49 ../foo.zone-content/gemtext/gemfeed/2022-10-30-installing-dtail-on-openbsd.html +--- +> -rw-r--r--. 1 paul paul 13439 Mar 3 12:20 ../foo.zone-content/gemtext/gemfeed/2022-10-30-installing-dtail-on-openbsd.html +

    Installing DTail on OpenBSD

    Published by Paul at 2022-10-30 11:03:19 EET

            ,_---~~~~~----._
    @@ -687,7 +707,7 @@ REMOTE|fishfinger|100|7|fstab|093f510ec5c0f512.h /usr/local ffs rw,wxallowed,nod
     https://dtail.dev
    https://github.com/mimecast/dtail
    https://www.rexify.org
    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    @@ -703,7 +723,11 @@ REMOTE|fishfinger|100|7|fstab|093f510ec5c0f512.h /usr/local ffs rw,wxallowed,nod Everyone has it once a while: A bad night's sleep. Here I attempt to list useful tips how to deal with it.. .....to read on please visit my site.
    -

    After a bad night's sleep

    + 1c1 +< -rw-r--r--. 1 paul paul 6755 Dec 8 10:49 ../foo.zone-content/gemtext/gemfeed/2022-09-30-after-a-bad-nights-sleep.html +--- +> -rw-r--r--. 1 paul paul 6744 Mar 3 12:20 ../foo.zone-content/gemtext/gemfeed/2022-09-30-after-a-bad-nights-sleep.html +

    After a bad night's sleep

    Published by Paul at 2022-09-30 09:53:23 EEST, last updated at 2022-10-12

                    z
    @@ -761,7 +785,7 @@ jgs                (________\  \
     

    It's easier to forget things on those days, so everything should be written down so that it can be worked off later. Things written down will not be overlooked!

    Social media

    I wouldn't say I like checking social media, as it can consume a lot of time and can become addictive. But once in a while, I want to catch up with my "networks". After a bad night's sleep, it's the perfect time to check your social media. Once done, you don't have to do it anymore for the next couple of days!

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    @@ -777,7 +801,11 @@ jgs (________\ \ I am proud to announce that I've released Gemtexter version `1.1.0`. What is Gemtexter? It's my static site generator written in GNU Bash:. .....to read on please visit my site.
    -

    Gemtexter 1.1.0 - Let's Gemtext again

    + 1c1 +< -rw-r--r--. 1 paul paul 4106 Dec 8 10:49 ../foo.zone-content/gemtext/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html +--- +> -rw-r--r--. 1 paul paul 4095 Mar 3 12:20 ../foo.zone-content/gemtext/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html +

    Gemtexter 1.1.0 - Let's Gemtext again

    Published by Paul at 2022-08-27 20:25:57 EEST

     -=[ typewriter ]=-  1/98
    @@ -837,7 +865,7 @@ check_dependencies () {
     

    More

    Additionally, there were a couple of bug fixes, refactorings and overall improvements in the documentation made.

    Overall I think it's a pretty solid 1.1.0 release without anything groundbreaking (therefore no major version jump). But I am happy about it.

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    @@ -853,7 +881,11 @@ check_dependencies () { I was amazed how easy it is to automatically generate and update Let's Encrypt certificates with OpenBSD.. .....to read on please visit my site.
    -

    Let's Encrypt with OpenBSD and Rex

    + 1c1 +< -rw-r--r--. 1 paul paul 21434 Dec 8 10:49 ../foo.zone-content/gemtext/gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.html +--- +> -rw-r--r--. 1 paul paul 21423 Mar 3 12:20 ../foo.zone-content/gemtext/gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.html +

    Let's Encrypt with OpenBSD and Rex

    Published by Paul at 2022-07-30 14:14:31 EEST

                                                    /    _    \
    @@ -1444,7 +1476,7 @@ rex commons
     

    ACME and Let's Encrypt greatly help reduce recurring manual maintenance work (creating and renewing certificates). Furthermore, all the certificates are free of cost! I love to use OpenBSD and Rex to automate all of this.

    OpenBSD suits perfectly here as all the tools are already part of the base installation. But I like underdogs. Rex is not as powerful and popular as other configuration management systems (e.g. Puppet, Chef, SALT or even Ansible). It is more of an underdog, and the community is small.

    Why re-inventing the wheel? I love that a Rexfile is just a Perl DSL. Also, OpenBSD comes with Perl in the base system. So no new programming language had to be added to my mix for the configuration management system. Also, the acme.sh shell script is not a Bash but a standard Bourne shell script, so I didn't have to install an additional shell as OpenBSD does not come with the Bash pre-installed.

    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    @@ -1460,7 +1492,11 @@ rex commons This blog post is a bit different from the others. It consists of multiple but smaller projects worth mentioning. I got inspired by Julia Evan's 'Tiny programs' blog post and the side projects of The Sephist, so I thought I would also write a blog posts listing a couple of small projects of mine:. .....to read on please visit my site.
    -

    Sweating the small stuff - Tiny projects of mine

    + 1c1 +< -rw-r--r--. 1 paul paul 20530 Dec 8 10:49 ../foo.zone-content/gemtext/gemfeed/2022-06-15-sweating-the-small-stuff.html +--- +> -rw-r--r--. 1 paul paul 20519 Mar 3 12:20 ../foo.zone-content/gemtext/gemfeed/2022-06-15-sweating-the-small-stuff.html +

    Sweating the small stuff - Tiny projects of mine

    Published by Paul at 2022-06-15 10:47:44 GMT, last updated at 2022-06-18

              _
    @@ -1685,7 +1721,7 @@ v = 008 [v = p*c*(s != c ? 2 : 1)] Total logical CPUs
     https://konpeito.media

    If you wonder what Gemini is:

    Welcome to the Geminispae
    -

    E-Mail your comments to paul at buetow dot org! :-)

    +

    E-Mail your comments to hi@paul.cyou :-)

    @@ -1701,7 +1737,11 @@ v = 008 [v = p*c*(s != c ? 2 : 1)] Total logical CPUs Perl (the Practical Extraction and Report Language) is a battle-tested, mature, multi-paradigm dynamic programming language. Note that it's not called PERL, neither P.E.R.L. nor Pearl. 'Perl' is the name of the language and 'perl' the name of the interpreter or the interpreter command.. .....to read on please visit my site.
    -

    Perl is still a great choice

    + 1c1 +< -rw-r--r--. 1 paul paul 17236 Jan 28 11:35 ../foo.zone-content/gemtext/gemfeed/2022-05-27-perl-is-still-a-great-choice.html +--- +> -rw-r--r--. 1 paul paul 17225 Mar 3 12:2