2025-05-28 18:05:00
The weather in Cape Town is slowly descending into a cold, wet winter (except for today, which is a beautiful). I've brought the heater up from the garage, doubled up the duvets on the bed, and have started wearing long pyjamas to sleep.
Generally at this time of year Emma and I are making plans to head somewhere warm, but this year we've decided to stick it out in South Africa with a month-long road-trip to the North West for some proper time in the bushveld, and then a wedding in Joburg.
For people not from South Africa, it does get cold here. Not in the same way it gets cold in Canada or Northern Europe, but in some ways it gets colder. Let me explain:
In Canada the Canadians know that it's going to get very, very cold. Unbelievably cold. Because of this they do a whole bunch of reasonable things like insulate their homes, ensure they have a robust heating system, and purchase proper winter attire. But not in South Africa. Our weather is great most of the year, with only about 2 to 3 months of cold weather.
It can get down to 5 degrees Celcius on a cold day; and while that may not seem cold to people where the weather gets to -20, we're always completely unprepared for it. Because of our good weather the rest of the year, we forget. We forget to insulate our houses. We forget to get winter sheets. And so when the time comes even the insides of our homes are cold.
I've had Polish and German friends suffer in the South African winter due to a lack of good heating and insulation. And that brings me to my topic of interest today: Heaters.
There are so many different kinds of heaters on the market. Everything from wood fireplaces to under-floor hot water heating. Now, unless you're lucky and your house or apartment has built in heating or a fireplace of some sort, you're stuck purchasing a heater from a store (or layering up, or both).
At the end of the day there are only have 3 different kinds of heating (for the purposes of this write-up):
Conduction - where you physically touch the heated surface and that heat is transferred to you via the conductivity of the surface and the body in contact.
Radiation - where infrared light is radiated from a heating element and absorbed by our skin (or the surrounding objects) over a distance.
Convection - where the heated surface warms the surrounding air, which in turn warms us. While convection involves conduction at a molecular level (heat transfer between particles), it’s distinct from conduction because it relies on the movement of a fluid (air in this case).
Most heaters rely on a combination of these mechanisms. Wood fireplaces predominately rely on radiation (infrared from the fire) and convection (warming up the surrounding air). Under-floor heating relies on conduction (direct contact with the floor) and some convection, although this isn't the main mechanism. Electric quartz heaters (those pretty glowing bars) are predominately radiation, and the oil-filled space heaters are predominately convection.
Store bought heaters come in a variety of shapes, sizes, and price points. But I noticed that by-and-large they all have the same max wattage of 2000 watts (I believe in the US it's 1500 watts due to their 120 volt power supply). Now, theoretically energy is energy is energy. Therefore, if you have a sealed room each one of these heaters will emit the same amount of heat into the room at the same rate, regardless of whether this is an expensive heater or one of those cheapie blower types you put under your desk. And since every 2000 watt heater will cause the same amount of heating and draw the same amount of power, then the mechanism of action shouldn't be that important. Or is it?
We have 3 heaters in our apartment. A quartz bar heater, a fin space heater, and an electric blanket. And they each have their own strengths and weaknesses.
The quartz bar heater is by far my favourite. As soon as I turn it on it starts radiating a gentle warmth directly onto me. This is lovely since I don't sleep with the heater on, so when the apartment is cold in the morning I can sit in front of it with my coffee and be all toasty without having to warm up the entire space. It also warms up the couch I'm sitting on, which provides conductive heating as well. Warming up the entire space is also not easily (or cheaply) done due to South African building's lack of insulation.
Left on for long enough and it does gradually increase the temperature of the room, since that same number of wattage is being radiated into the space where it's absorbed by the floor and furniture, heating them up. Those objects inevitably heat up the air around them, and boom! You have convection.
The fin space heater is no-where near as nice. Due to it relying on convection to heat up the entire space it isn't very efficient (again, no insulation). Instead we use this exclusively in the home office which is a smaller space, has slightly better insulation, and a carpet which I wouldn't like to rest the bar heater on due to the localised heat.
It is a great example of how doing something useful with the heat first is important. With the bar heater it warms me and the objects I interact with up before trying to warm up the surrounding air. Again, in the end it's 2000 watts regardless of method, so may as well make use of that energy locally before trying to warm up the room.
My third heater is the electric blanket. If I put this on 10 minutes before getting into bed it warms it up so well that it's such a toasty pleasure to get into. This is also by far the most efficient form of heating since it is insulated by default, and relies entirely on conduction. It warms up the specific area that I will inhabit without losing much heat to the surrounding area. Due to this the power draw of an electric blanket is negligible compared to actual space heaters (about 7-10%). This is a great example of super localised heat. There's no way that I'm going to use my electric blanket to heat up the apartment.
I grew up with gas heaters (and briefly an anthracite stove heater) and have spent a decent amount of time with wood-fired stoves and fireplaces, and I can honestly say that electricity is just so much subjectively better. No having to leave the window open to vent the carbon dioxide (meaning more gas needs to be burnt to compensate). No ash coating surfaces around the fireplace, no smell of smoke in the house. No having to constantly replenish stocks of wood or haul around gas canisters.
Also, being able to flick the bar heater on and off as needed is great when compared to starting and maintaining a fire in a wood-burning stove. I only spend 45 minutes having coffee before heading to gym in the morning and really couldn't be bothered to make a fire. I'm also a fan of consistent heat instead of the fluctuations of burning hydrocarbons. But that's personal preference and relegated to indoors. I love a good campfire and the ambiance of fire in general.
There are many other heater designs, but when narrowed down to wattage and mechanism, it helps me reason about it better. I guess what can be taken away from this writeup is that if you're stuck deciding between heaters, just know that they'll probably all heat up your space at the same rate, but finding a way to use that heat locally first is good practise. Also, save your money. Expensive heaters are not better by default.
2025-04-14 19:49:11
Every now and then a reader of my blog finds themselves in Cape Town and reaches out to me to ask for recommendations, or grab a coffee, or just say hi. And I love it. It's opened up a new avenue for meeting interesting people and potential friends. I'm quite far away from my reader-base, which tends to be predominately in the US, Western Europe, and South East Asia. So this happens very infrequently, but when it does, you can be sure that I'm keen.
There's also the secondary benefit of meeting people who use Bear Blog: It gives me an opportunity to solicit feedback, get a general vibe of what works and what doesn't, and to keep a finger on the pulse of the project. It allows me to talk shop with someone who understands what it is I do. One of the downsides of being working solo is that it can get occupationally lonely. My friends know what Bear is, but very few people actively blog.
So with all that being said, this post is an open-invitation. If you're in Cape Town, either living here or passing through: Yes. I will have coffee with you.
2025-03-26 17:02:00
LLMs feed on data. Vast quantities of text are needed to train these models, which are in turn receiving valuations in the billions. This data is scraped from the broader internet, from blogs, websites, and forums, without the author's permission and all content being opt-in by default.
Needless to say, this is unethical. But as Meta has proven, it's much easier to ask for forgiveness than permission. It is unlikely they will be ordered to "un-train" their next generation models due to some copyright complaints.
I wish the problem ended with the violation of consent for how our writing is used. But there's another, more immediate problem: The actual scraping.
These companies are racing to create the next big LLM, and in order to do that they need more and more novel data with which to train these models. This incentivises these companies to ruthlessly scrape every corner of the internet for any bit of new data to feed the machine. Unfortunately these scrapers are terrible netizens and have been taking down site-after-site in an unintentional wide-spread DDoS attack.
Over the past 6 months Bear, and every other content host on the internet, has been affected. Both Sourcehut and LWN have written about their difficulties in holding back the scourge of AI scrapers. This seems to be happening to big and small players alike. Self-hosted bloggers have had to figure out rate-limiting and CDNs too, which is pretty unfair for someone who just wants to write on the internet.
Bear is hit daily by bot networks requesting tens of thousands of pages in short time periods, and while I now have systems in place to prevent it actually taking down the server, when it started happening a few months ago it certainly had an impact on performance.
This is a difficult problem to solve, due to the way that these scrapers are designed. The first is that only a small portion of these scrapers identify themselves as such. These are all blocked at the WAF (Web Application Firewall) level and never reach any Bear blogs (about 500,000 requests have been blocked in the last 24 hours). However the vast majority of scrapers identify themselves as regular web-browsers, and use multiple servers and IP addresses, making all of the usual tools like rate-limiting and user-agent parsing obsolete. Not to mention that they all completely ignore robots.txt and other self-regulation rules.
One of the mitigation options is to add a challenge to every single page (like Cloudflare's managed challenge), but this is an unpleasant user-experience and blocks bots that are actually welcome, such as search engine crawlers. So while it is possible to mitigate all bot traffic, that would effectively make all blogs non-searchable on all the major search engines. Some of the LLM scrapers cheekily identify themselves as Googlebot or Yandexbot as well. This option would also affect anyone who runs scripts on their own site for backups or custom automations. Not ideal.
I've had to remove RSS subscriber analytics since I can't mitigate bots very well on RSS feeds which are explicitly designed for bots. This influx has caused the RSS analytics to be completely wrong, and it felt better to remove it than to display incorrect information.
As of right now I have several strategies in place to combat this deluge that are working well. If you're a service provider or sysadmin being negatively impacted by these scrapers, contact me and I'd be happy to show you what's worked for me.
Right now everything is under control on Bear. Over the past month bots have only managed to impact performance on Bear once, and that endpoint has since been protected. I've added significantly more active monitoring, and any time I see a spike of requests I find a common pattern, block it, and monitor whether it has affected any real users.
Thankfully, none of these scrapers render CSS, and therefore don't get logged as visitors on Bear's analytics.
The best case scenario is that the AI companies find another way to train their models without ruthlessly slashing and burning the internet. However, I doubt this will happen. Instead I see it getting worse before it gets better. More tools are being released to combat this, one interesting tool from Cloudflare is the AI Labyrinth which traps AI scrapers that ignore robots.txt in a never-ending maze of no-follow links. This is how the arms race begins.
And I'm ready for it. Let's fight this exploitation of the commons.
2025-02-11 15:52:00
During the first week or two of January the Bear servers were experiencing some instability. The resource usage would go through the roof causing a short period of cascading timeouts and leaving me scrambling and stressed. This was a fairly complex problem to solve1, and one that I wracked my brain over for a good few days. However, the root of, and solutions to the problems, didn't come during the time spent sitting in-front of my computer, but instead during a 3 hour drive down the East Coast. No music, no podcast. Just me with my thoughts.
I've come to appreciate time spent with nothing but my thoughts. It's something I'd escaped for years. In the modern age it's so easy to always have some kind of entertainment streaming. I'd drive with a podcast playing, or do house chores with a YouTube video in the background. But something is lost in doing this. There's a reason that "the best thoughts come to you in the shower". And that's because we haven't figured out how to inject consumption into our showers gracefully (yet).
It turns out that complex problems, self-actualisation, and meaningful thoughts require time spent with oneself. This could be through journaling, meditation, or prayer. But I've found that so many other activities offer space for this. For over a year now I've exercised without headphones on. I've found that not only am I more focussed on my workouts (the actual movements, the mind-muscle connection, and pushing closer to my limits), but between sets my mind gets to wander. It allows me to plan my day, to consider problems I'm working on, and generally leads to a calmer, more collected me.
And so, one of my intentions for the year is to spend more quiet time with myself. This means not always listening to a podcast while driving. Or doing laundry and chores without any entertainment in the background. It means leaving my phone at home when I go to the beach or take a walk. And when I'm working on my crafts, not having anything playing that draws me out of the experience.
I like being in my head. And I feel the more time I spend with myself, the more I love me.
It turns out the issue was a combination of a massive bot network disrespecting robots.txt and trying to scrape every Bear blog, slow horizontal scaling (30 seconds), and some inefficient endpoints. This has been solved through more granular WAF rules, rate-limiting, better horizontal scaling tools, and more granular logging. As well as some efficiency cleanups on some endpoints.↩
2025-01-27 15:06:00
Given recent events in the blogging space (hello to all Cohost and Wordpress refugees), I wanted to take a moment to share my vision and commitments for Bear.
First things first: Bear isn't going anywhere. No sudden shutdowns, no surprise acquisitions, no pivot to becoming an AI-powered metaverse blockchain solution. Just simple, clean blogging—now and in the future.
Bear won't shut down. Period. I've seen too many great platforms disappear overnight, leaving their communities scrambling. This is made worse when the platform is your personal garden and online neighbourhood. That won't happen here. Bear is built to last.
Bear won't sell. I'm not building this to flip it to the highest bidder. No VC funding, no external pressures, no "exit strategy." Bear is independent and will stay that way.
Bear won't show ads. Your blog is your space. No flashy banners will suddenly appear one day, and no sponsored content. Just your words, your way.
Bear isn't just a weekend project—it's built with longevity in mind. The codebase is intentionally simple and maintainable. The infrastructure is robust and redundant. Everything is backed up religiously (and then backed up again, just to be sure).
I'm not just thinking about next week or next month. I'm thinking about Bear being around in 10, 20, 50 years. That means making smart technical choices now that won't paint Bear into a corner later.
In this way, Bear doesn't have explicit integrations with other tools and infrastructure. It is self-reliant with the ability for users to customise their blogs and build out those integrations as they see fit. So while it is possible to integrate blogs with newsletter tools, Mastodon, Bluesky, and The Fediverse at large, it's not the default.
This is a morbid topic for me to write about: what happens to Bear if something happens to me? I've got that covered too. There's a detailed succession plan in place, including:
So if I were to be incapacitated in any way, the platform will live on.
I've recently chatted to a few bloggers and legal professionals on what a good structure looks like for a project like this. And the common theme was that the legal structure didn't matter nearly as much as the intentions of the people running things. We've seen our fair share of open-source projects become sour (see the recent Wordpress drama) or abandoned entirely. We've seen OpenAI become ClosedAI. There's a common thread here. Trust isn't just a legal structure, but a social contract.
With this is mind, Bear will continue to run as a PTY LTD where the company exchanges some extra add-ons for money, and uses that money to maintain and improve the infrastructure (and allows me to focus on Bear full time). Perhaps a more fitting legal structure will present itself in the future. If you have any ideas please pop me an email.
I've also been thinking about what kinds of organisations last the longest, and there are a few that come to mind:
I'm not sure how this information is best applied, but it's telling that 'growth at all costs' inevitably leads to the dissolution of the company.
Bear is doing great. Not in terms of market share or valuations, but in staying true to what matters: giving people a reliable, simple, and independent place to share their thoughts online.
If you're tired of platforms that treat you like a product, welcome home. Bear is here to stay.
Keep blogging,
Herman Martinus
Creator of Bear
2025-01-20 18:09:00
Due to the nature of my work I spend a lot of time in front of screens. Most knowledge work is done behind some screen or another, and while it can be rewarding (especially since I enjoy what I do), all that time spent sitting and thinking, and thinking and sitting does get to me. I feel tight between my shoulders, and afterwards my head is muzzy and I'm low on energy.
I don't see this as an explicit problem. Knowledge work has its perks, and isn't as unhealthy as the news, podcasts, and YouTube videos would have us believe. The problem—I've found—is the screens after screens. Finishing up a long day of work only to plop down on the couch and turn on a slightly larger screen for entertainment is the real adversary. My brain needs rest, but not this kind.
One solution is hobbies and crafts. I've always loved working with my hands. When I was younger it was building fortresses in the mountains with my brother, or putting together small models with superglue (inevitably sticking my fingers to the table in the process), or drawing and inventing new Pokémon. These hobbies have morphed significantly as I've gotten older, but the premise stays the same: the best form of relaxation isn't consumption, it's creation.
On writing this post I realise that I've collected a lot of hobbies over the years: Gyming, rock-climbing, riding motorcycles, cooking, writing, and hiking, to name a few. But more recently I've gotten into crafts such as leather-work and mechanics. These activities allow my brain some rest and my body to take over.
This has grown so important in my life that in April last year Emma and I rented out a small workshop in an industrial building in Salt River, where we make all kinds of cool stuff. We invite our friends over for workshop evenings where we order food and work on interesting projects.
From left to right we have Riko sewing up a storm (yes, he made that shirt himself); Andrew fixing his coffee grinder; Emma putting together some lego (although more recently she's been sewing and painting with watercolours); and Simon drawing. We've had friends bring in their speakers and mix decks and make music, not to mention some workshop jams.
I've predominately been doing leather work (which is ironic for someone who doesn't eat meat). Over the November and December period I designed and created all kinds of bags, wallets, and belts. Needless to say I didn't have to do any Christmas shopping this year. People just got fancy bags, and wallets, and belts.
I did a 5 day intensive wood-working course this past year as well. It was taught by a delightful old man with over 60 years of experience woodworking (and all of his fingers). However, I found that woodworking wasn't to my liking. Wood-chips want to get into your eyes, the wood dust into your lungs. The power tools will give you tinnitus if you give them half a chance, and take a finger or two in the process. There's also the cleanup.
I'm sure woodworking is rewarding for some, but everyone needs to find their own yum.
In order to learn mechanics I undertook stripping a worn out 125cc scooter down to the frame, refurbishing every component, and rebuilding it into a sporty little scoot which was gifted to a friend.
More recently I bought a non-running 1964 Honda Super Cub which I managed to get moving (although only temporarily, this is still a work in progress). I may be a bit too big for it, but it's so cute!
My brother is currently rebuilding an old American Muscle car (a 1969 Chevrolet Chevelle). I visited him in November to help with the installation of the engine, which required some heavy lifting. He has a whole blog on the restoration if you're interested.
All of these activities have been wholesome and satisfying. Certainly more so than binge watching all of Squid Games. After a few hours at the workshop I'm physically exhausted, in the best of ways. I've done something rewarding, spent time with the people I love, and (hopefully) have something cool to show for it.
That isn't to say I don't spend some time consuming as a form of relaxation. I'm currently half-way though the final Stormlight Archives book (Wind and Truth). But I've never once regretted going to the beach or on a mountain walk after work. Never once spent time on a hobby and deemed that Netflix would have been better.
Admittedly, I'm very lucky to have a workshop (it only costs me $150 per month in South Africa and is worth every cent). I'm also lucky to live in a city that has both mountains to climb and oceans to swim in. But I'm sure no-matter where I am, I'll still find something to keep myself busy.
What will you do in 2025?