One of the perks of living in such a big vibrant metropolitan city, is the privilege of searching for flats
in such a competitive market, and getting the chance to deal with all of the challenges that come with
competing with a bot fueled application process on websites like “immobilienscout24” or “kleinanzeigen”,
which seem to be as popular with bots and scammers as they are with users and landlords.1
A little over a year ago, I replaced my Sony Android TV with an LG smart TV.
The LG TV is great, but since it’s based on webOS it doesn’t have native VPN support.
Fortunately, I had a Raspberry Pi lying around, which I got a while ago to tinker with.
So I decided to purpose the Raspberry Pi to function as my home network gateway,
providing both a DNS sinkhole and a VPN exit point to all devices on my home network (plus some other
functionalities).
After all, one can only survive so many German YouTube ads before “einen Dachschaden haben”.
The fastest way to create high-quality software is to develop this software slowly and thoughtfully.
It might seem counterintuitive, but by focusing on understanding the problem,
designing the right solution, and refining it through iteration and simplification,
ends up being faster in the long run.1
Rushing to get an MVP out the door often results in poorly scoped projects and architectural design,
technical debt, and “Big balls of Mud” – architectures that are costly to maintain, and slow to fix.
I have often found myself needing to create a bootable USB stick with some Linux distro,
either to install and try it, or to use it live for a specific purpose.
Like using Tails Linux to generate or restore a PGP key and install it on the smart card,
or using ParrotSec for testing or HTB/OTW challenges.
I knew it was possible to create a hard drive with multiple OS in different partitions, so
I thought it had to be possible to do the same thing using a USB drive.
Exceptions are as old as programming itself. Back in the days when programming
was done in hardware, or via low-level programming languages,
exceptions were used to alter the flow of the program,
and to avoid hardware failures. Today, Wikipedia defines exceptions as:
the process of responding to the occurrence of exceptions
– anomalous or exceptional conditions requiring special processing – during the execution of a program.
In general, an exception breaks the normal flow of execution and executes a pre-registered exception handler…
Since the start of the World Wide Web over the internet almost 4 decades ago,
Static web pages were the default, at least for a few years, before the
introduction of “an unpleasant sensory and emotional experience associated with,
or resembling that associated with, actual or potential tissue damage.”
(pronounced as JavaScript)
And for a few years, professionals and hobbyists alike, used to craft these
static websites manually using raw HTML and CSS.
Lockdown mode is
an optional, extreme protection mode that was introduced by Apple in
iOS 17, iPadOS 17, watchOS 10, and macOS Sonoma.
When Lockdown mode is enabled, your device won’t function like it typically does.
To reduce the attack surface that potentially could be exploited by highly
targeted mercenary spyware, certain apps, websites,
and features are strictly limited for security and some experiences might
not be available at all.