Fyne Authenticator needs you to succeed!

I just published Fyne Authenticator: an open source TOTP soft token implementation that is written in Go and uses Zbar for QR scanning. On desktop it lives in the system tray and it uses the keyring to store the encryption password for a seamless experience. Although the application has the potential to run on many platforms it is currently only tested under Debian (based) Linux. For a Windows, Android and/or iOS release I may need your help. ...

May 23, 2025 · Maurits van der Schee

MintyPHP Forms: a flexible PHP form builder

Forms play an important role in business software. Business software typically loads data from a relational database into a form, allows users to change the data and then saves the data from the form back into the database. If you make a lot of business software you have to create and design a lot of forms. To allow you to create nice looking forms (using Bulma for instance) without having to type a lot of boilerplate code I created MintyPHP Forms. ...

May 18, 2025 · Maurits van der Schee

Install Apache 2.4 and PHP 8 on Debian 12

Ubuntu 20.04 is EOL at the end of next month, so it’s time to reinstall all your old web servers with Debian 12. Today I’ll share a post with all the configuration that I apply on my web servers. While you could apply these with Chef, Ansible or SaltStack (like a real pro), you can also type them in, like I often do. I’m using Debian 12 netinst and configure “SSH server” and “standard system utilities” as a default packages. ...

April 13, 2025 · Maurits van der Schee

Creating 103mail.com - Update 2

A while ago I told you about the free email service I’m building that respects privacy and prevents profiling on 103mail.com. The reason? Microsoft and Google operate most of the world’s email services and because email messages often contain all previous content, they can profile all people in the world (even people that do not use their services). When using 103mail.com the email (content) will never leave the server. The outgoing email will be replaced with a notification with a link to the web mail viewer. Thus the outgoing mail content can only be viewed over the web and people or servers reading the mail will be logged. ...

March 30, 2025 · Maurits van der Schee

A laptop I can learn to love: HP 17-cp3076nd

I don’t like laptops. They are slow, have small screens and horrible keyboards and track pads. When I have to work on them for a longer period of time my back starts to ache. Next to that they often can’t be upgraded or repaired, because the storage and memory are soldered or glued onto the motherboard. And when you want to run Linux you are often disappointed by the (unsupported) exotic hardware. Nevertheless every now and then a loved one asks me to buy a laptop for them and they expect me to know which one is the best. ...

February 19, 2025 · Maurits van der Schee

Store PHP sessions in Memcache or Redis

You can store PHP sessions in Memcache or Redis. High traffic websites with multiple application nodes choose either sticky sessions with file session storage (recommended) or centralized Memcache or Redis session storage. If you choose Memcache or Redis you should NOT rely on your favorite framework’s implementation (see: “A session locking test suite for PHP”). But even if you rely on native implementations in PHP extensions you may run into wrong default values. This post explains you how to configure PHP session storage in Memcache and Redis and test that it locks properly. ...

January 3, 2025 · Maurits van der Schee

Install PHP memcache in PHP 8.3

Memcache is a very fast cache that is a great addition to MariaDB and PHP. It is simpler and more performant than Redis. I prefer Redis for session storage and Memcache for application caching in my (high-performance) PHP projects. Installing Memcache is very easy (on any Debian based Linux), all you have to do is type: sudo apt install memcached In order to allow PHP to talk to Memcache you need the “php-memcache” extension. You can install that with: ...

January 1, 2025 · Maurits van der Schee

GopherCon Europe 2024 and 2023

GopherCon Europe is a well known Go conference. We are listing the GopherCon Europe 2023 and 2024 conference videos. The videos are posted on the GopherCon Europe Youtube channel and are linked below. GopherCon Europe 2024 Martin Gallauner - From Java to Go: I Have a Hammer and See Nails Everywhere (16:54) Robert Laszczak - Rethinking Domain-Driven Design in Go (28:41) Raghav Roy - Using Formal Reasoning to Build Concurrent Go Systems (29:27) Zvonimir Pavlinovic - Securing Containers Against Known Go Vulnerabilities (21:55) Felix Geisendörfer - How to Win Frames and Influence Pointers @felixge (28:02) Rabieh Fashwall - Unraveling Go Anti-Patterns (29:46) Hila Fish - Technical Documentation (29:49) Jonathan Amsterdam - HTTP Routing Enhancements (25:31) Chioma Onyekpere - Leveraging Go for Efficient Infrastructure & Data Handling (12:12) Travis Cline - Building AI Applications in Go (28:12) Go Team Panel (45:36) Go in DevOps Panel (43:09) Agniva de Sarker - A Deep Dive into the DB Connection Pool (13:00) Go Time Podcast (44:01) Diana Shevchenko - Memory Optimization through Structure Packaging (14:23) Cameron Balahan - The Business of Go (28:38) GopherCon Europe 2023 Cameron Balahan - Keynote: The State Of Go (27:51) Xe Iaso - Reaching the Unix Philosophy’s Logical Extreme with Webassembly (23:36) Robert Grandl - Towards Modern Development of Cloud Applications (26:46) Björn Rabenstein - How to Avoid Breaking Changes in your Go Modules (26:30) Yiscah Levy Silas - Go Right Ahead! Simple Hacks to Cut Memory Usage by 80& (20:59) Maciej Rzasa - API Optimization Tale: Monitor, Fix and Deploy (24:14) Julie Qiu - Vulnerability Management for Go (24:17) Jonathan Amsterdam - A Fast Structured Logging Package (25:37) Go Panel (42:37) Drishti Jain - Go Beyond the Console: Developing 2D Games in Go (29:04) Ayesha Kaleem - Gentle Introduction to EBPF (19:47) Julien Cretel - Useful Functional-Options Tricks for Better Libraries (27:07) Giuseppe Scaramuzzino - Unleashing Desktop App Development with Go and Fyne (4:45) Robert Burke - I’m Excited to Use Generics in Go 1.21 (7:02) Yolan Romailler - TLOCK: Encrypting Messages to the Future in Go (5:27) Yusef Mohamadi - Race Conditions in Details (6:38) Ron Evans - A Small Update on Tiny Go (8:36) GoTime Podcast Live (28:56) Elena Grahovac - Why Integration Tests Might be Better than Unit Tests (25:59) Mohammed Al Sahaf - The Road to CGO-Less is Paved (30:39) Roman Khavronenko - Writing a TSDB from Scratch: Performance Optimization (25:48) Yarden Laifenfeld - Go Sync or Go Home (28:43) Enjoy! ...

December 26, 2024 · Maurits van der Schee

Install Debian 12 with modern XFCE themes

I often choose Linux Mint XFCE when I need a good looking and comfortable system quick. But sometimes I’d rather have a more stable system and match what I have on the server, which is Debian 12 with XFCE. Unfortunately Debian with XFCE doesn’t look as good as Mint with XFCE. In this post I’ll explain what you can do to make Debian look like Mint/Xubuntu and suitable for everyday use. ...

November 28, 2024 · Maurits van der Schee

Can you afford to cloud compute?

Data centers promise better and cheaper physical security, rented hardware, electricity and connectivity than you can have on-premise, because of the scale on which these companies operate. I think that is often true and that that’s is why most companies moved their machines to racks in data-centers that are well connected to the Internet. What is cloud computing? Most people nowadays agree that even though your servers are not owned by you or on-premise, this does not make it “cloud computing” or even “cloud native”. In general people believe that cloud is more than “just someone else’s computer” as argued here. Cloud computing has become a term used for good engineering practices in the data-center. ...

November 17, 2024 · Maurits van der Schee