The joys and sorrows of maintaining a personal website
cheapskatesguide.org
cheapskatesguide.org
One example of this is Googlebot "attacks". I have a personal, mostly static website that I've been serving from a home connection for over 25 years, upgrading the hardware and moving it with me as I relocated. Out of these 25 years, Google has been number #1 user of bandwidth, CPU time, and as a consequence the #1 generator of headaches.
During the mid 2000s I had numerous problems keeping the site online since the Google crawler would just effectively DDoS it, sending tens of concurrents requests completely ignoring the Crawl-Delay in robots.txt (and most of robots.txt, fwiw). Mind you, this was not the most powerful hardware you could find, since it had to be quite low power to be left 24h on, but it was perfectly able to serve the handful of connections per hour I expect out of my website.
Obviously your only alternative is to just ban the entire Google IP range and as a consequence disappear from the Internet. Nowadays the problem is less noticeable because my 1-2W server can handle the onslaught brought by Googlebot just fine, but they still ignore the Crawl-Delay.
But that's fundamentally a social problem, and the field of software is nothing if not consistent in its resolve to try every other solution before resorting to emotional work. Co-ops that try to come up with a set of rules to handle all situations end up failing, because rules-lawyering turns into a game to be won by some people, at the expense of everyone else (see also, HOAs).
"From time to time, I consider shielding my website with Cloudflare's services. I resist the temptation, because I strongly suspect that, despite Cloudflare's current good intentions, in the long-run, this is playing into the hands of the corporate-controlled web. Relying on commercial web services limits the freedom we have as personal website owners. Once they have us relying on them, we are forced to play by their rules, and at that point the battle is over. We may not have realized it yet, but we have been captured. Unless we manage to free ourselves, in a short time, we will be working for the enemy. [...]"
Of course, generally people do not want to do this, as they want to appear in google.
Crawl Delay is not part of it.
You can set your crawl rate lower every 90 days here https://www.google.com/webmasters/tools/settings
other possibilities are here https://support.google.com/webmasters/answer/48620?hl=en there is a way to lower crawling without total blocking (returning HTTP 503 if there is too much load)
and also never made it into the standard draft https://datatracker.ietf.org/doc/html/draft-rep-wg-topic-00#...
Nginx has `limit_req_zone` that allows fine-tuning the rate limits.
It's really nice to not have to worry about how popular something is or isn't on my site. And occasionally I'll have someone send me a note saying thank you for some helpful piece of information they found there.
This is related to one of the reasons I like having a personal website. Countless times I’ve found answers or learned something cool from another’s personal website, and I hope that I can help other through my efforts.
The original article mentioned something about not being able to change the world through a personal website. You can have an impact in a persons life though, and I think that makes it worth it.
I don't quite understand the author's framing of "brave knight fighting a battle against the commercial/corporate web"... Personal sites are what they are (usually more pleasant than the corporate), everyone is free to do what they want, I'm not forcing anyone to read my blog, nor is anyone forcing me to read corporate websites. Where is the battle?
My site is mostly pretty static. There's a fairly nice templated front-end but the actual content is just on some fairly simple, mostly hand done HTML. My actual blog is on Blogger but a lot more of my content goes in other places these days. That may well change in the future (again).
I do exactly the same thing! And for exactly the same reasons!
I just occasionally write to crystallise my thoughts. Sometimes I get insights just by writing up a project, in the same way I sometimes think of an answer while writing a question into StackExchange.
I go through spurts of updating and then not updating it. Some parts of this article resonate with me... is it worth it? Does anyone care? Will anyone ever see it? At the same time, if you view it as an item for ones self, then all of those pressures go away.
I think people do not realize the power they have (or they always make it out to be a much larger problem than it is) to run ones own server (perhaps both web and email). Before you flame, I have been setting up web/email for decades, and there are plenty of online tutorials (I wrote a few). The real point is that even with a little effort, the rewards are interesting. It is not for everyone, but I think the DIY spirit has a place here (in web pages and personal systems on the net).
Sorry for rambling, I feel compelled to say something... so many comments in other threads turn into "you can never keep up with a web or email server". I feel this person needs kudos for showing that it is really not too difficult.
Seriously, this is a total stress reliever. A ton of things are tied to email. What am I paying gmail or fastmail or whom ever? Nothing? Oh, so they can turn it off whenever, or lock me out or whatever, for no reason. Not with my own server.
> But I imagine it also creates a bit of stress in keeping the email server running, spam free and secure?
Again, I used to maintain the gentoo HOWTO on postfix/amavisd-new/spamassassin before the wiki crashed and someone else redid it. I have setup so many corporate wide spam filters... there is no stress in it.
I do my email through my registrar (gandi) so I don’t have to worry about free email going away, but before that I paid for zoho.
Basically the reason I selfhost is to save time, not to have to muck around. Luckily I knew ansible from work so it wasn’t that much work in the beginning to set that up for my services.
Automate occasional backups and use a domain you own outside of that service and they can't lock you out of anything except, potentially, any email you've received since you last took a backup. If Google or Fastmail went up in smoke tomorrow, you'd have all the hassle of... creating an account at one of the 1500 other services and changing your MX records.
You're avoiding an unlikely situation with a low impact and in exchange taking on managing your own mail deliverability where having issues delivering mail is very likely and has the impact of your mail simply not being received with likely no notice of the failure.
I self host pretty much everything. I don't mess with email. I have several times in the past. It's just not worth it to me at all.
* Exim or Postfix as MTA
* Dovecot as MDA, add managesieve and you'll be able to sort/filter/file mail based on just about any combination of criteria
* Spamassassin to keep out all those offers you can't refuse
* Roundcube or Rainloop for web mail, looking at the same IMAP account as you use on your other devices
I've never had any of my servers 'hacked' in those 26+ years.
Not having to deal with rate limits or weirdness in regards to delivering mail from software in an automated manner, which would be there with any of the other "big" hosts.
For example, currently i have the following hooked up to a self-hosted e-mail server:
- Nextcloud/ownCloud
- Mattermost/Rocket.Chat
- Drone CI/GitLab
- OpenProject
- PeerTube
- SonarQube
- Zabbix
Or any number of other pieces of software that could send lots of other e-mails.If i use my own self-hosted mail server, then there are no odd spam filters or whatever to deal with (unless i introduce my own) - i send as many messages as i need and i receive all of them as well, plus all of the data stays wherever i want it to. This is also relevant for older software that might have problems with the more secure methods of delivering mails.
Oh and there's not a lot to think about, pricing wise, either.
Lastly, running a basic mail server is exceedingly simple with https://github.com/docker-mailserver/docker-mailserver No need to manually configure mail delivery agents or whatever. In my eyes, a mail server with everything it needs should be a single executable/container, with toggleable bits of functionality, rather than some overcomplicated amalgamation of mixed and matched pieces that would need lots of your time to maintain.
From the 486DX2-66 under the stairs via the Pentium-90-under-the-stairs, the BP-6 with dual overclocked Celeron-333s, the re-purposed Virgin Webplayer when I emigrated and needed something small and light while looking for a house, the Intel SS4200 and now a DL380G7 (under the stairs, of course), from Slackware via Redhat to Debian, from a hand-crafted Sendmail config to Exim, from a time when spam was non-existent to a time when spam is something which seems to bother others but which is stopped in its tracks at the gates it has been one unbroken chain of enjoying the freedom of being in control.
Having said that, the total amount of space taken up by the server rack is about 80x110x170cm, half of which is used as a produce drying rack which uses the heat and air flow from the fan in the bottom of the rack to dry fruit/mushrooms/herbs and more of such. This is what it looks like:
https://rimgo.esmailelbob.xyz/a/M4Lbf1K
By now the D-Link switch has been replaced with a HP, a NetApp DS4243 with a varying number of drives in it sits two slots under the server and the remaining empty slots are covered with blanks to improve air flow. Total power consumption lies around 250-300W depending on load, about 170W of which is taken by the server which idles at 150W. Power use is of no issue given the 15KW solar installation on the roof of the new barn I built a few years ago, the residual heat also helps to warm the 2nd floor - which, being well-insulated, does not need any extra heating even in the Swedish winter.
This is an under-appreciated part of regular writing. If you want new ideas, one of the best ways to do that is to write. One way to uncover progressively deeper ideas is to stick to the same topic. This is not easy because in the back of your head may be a voice telling you to try to get more readers. It's a diversion. Go deep instead. The Internet is filled with surface-level discussions of just about every topic. What it will never have enough of are deep-dives written by an expert.
I've maintained at least one diary-like personal website since 1992-ish or 1993-ish when domains could only be registered with one company, and cost a couple of hundred dollars, and you had to talk to someone on the telephone to get one. I post about one thought a day, sometimes two!
And I've taken a lot of my "one thought a day" notes from physical notebooks and transcribed them to my website, along with photos of the notebook page. My collected thoughts go back to 1973 or so.
As a kid I didn't read or write too well, but I had a tape recorder where I thought my thoughts (I had the idea from a Dr Seuss book as I recall). I can listen to six year old me thinking about things like how airplanes fly and why would a cup made of stone float in water and realise just how dumb I was as I thought about how these things work. But it is also interesting to look back and go "wow! that's me! That's my thoughts and my voice and my notes!"
What helps with the writing is that I am under no allusions as to ever making any kind of profit or being popular. It truly is "just for me."
Welcome to the end of the age of forgetting.
Yup, I don’t know how other people do it but lists work great for me.
I’ve got a big list of blog ideas (I write outlines when the ideas strike) and an even bigger list of startup/SaaS ideas that I’ve just made a newsletter for (since I’ll never get to executing on all of them of course)
Lists are the biggest tool in my tool belt, even at work
It used to be that if I followed a /. link to an article on a blog that I enjoyed, I'd immediately subscribe to their RSS feed. I'd made a collection of a few hundred blogs related to computer science alone this way.
At the time I was on a mac, and NetNewsWire was THE RSS reader of choice (backed by Google Reader for syncing feed info) and every morning I'd click on the folder which housed those 100s of blogs, and would probably find 10-20 posts, skim through them in minutes, only reading those that seemed interesting to me in depth. NNN also made it extremely easy to open the post on the original website in a background tab, so I'd keep opening them in the background if I wanted to read it, and then just go through all the background tabs.
It was an amazingly efficient system of following hundreds of independent blogs that were offering uncurated first person information.
I haven't found anything today that comes close to recreating that system, and I can't imagine even finding the kinds of articles I did through this process (an example...I had an HP MediaSmart server, and one day someone randomly posted a How to on replacing the CPU on it with a newer CPU...it was an easy process that cost me about $7 to buy the compatible faster chip on eBay, and a couple of dollars for the heatsink gel). And lo and behold, a week later, everything was running so much better.
Changing the CPU on the Mediasmart server was something I wouldn't even have considered searching for, and even if I did, I'm not sure Google would have turned up anything useful.
This is optional - but I use Miniflux as a locally hosted RSS server, so that I can keep the feed list etc on there and access it from my phone, desktop etc... using my client of choice.
If your publishing platform supports it, RSS is still pretty good. On the other hand, I'm building my current blog with NextJS (both to learn it and because I like React a lot more than I do the Wordpress loop) and I am making sure to do RSS...but it's a lot harder than it used to be.
If you don't care about it, you're not going to do it.
If you don't do it, there won't be RSS support.
And so, the circle shrinks.
Since when is RSS "destroyed"? I still use it every day.
Okay Google Reader specifically died. But honestly it wasn't all that great. There are dozens of other RSS readers that still work fine.
Not if you use a web-based RSS reader (I use Nextcloud News for this purpose) since that is always just one link away on any browser you might happen to use. This is far more convenient than having your 'feeds' in a specific browser on a specific device.
People get old, and do not write new posts in their blogs
Young people, most dont use blogs, they use fb, ig, ..
This isn't really a shining example of good encouragement for people to use RSS feeds.
However, this author specifies I may get IP banned if I check his feed more than once a day: https://cheapskatesguide.org/policy-on-robots.html
I’m in the category of a casual personal blogger. That said, Ill have articles get >100k unique views once or twice a year, average 25k views a month. I share the articles and people like them. That’s about it. Some of my niche stuff ranks on Google and DuckDuckGo because I did something people found interesting (hence the regular traffic).
My last update was Feb 7, 2022 so it’s not as if I’m active. And my most detailed analysis https://austingwalters.com/firearms-by-the-numbers/ actually receives relatively low traffic (it’s a censored / touchy subject and took me six weeks to write). However, it was something I did to understand a topic myself and have shared with others as it’s come up.
I took joy in writing it and frankly assumed it was a purely intellectual exercise. If you go for clicks, you don’t pick censored / deranked content, but imo that’s where interesting topics actually are.
Anyway, a bit of a ramble. I just find it interesting people start blogs for traffic. Instead it should be intellectual exploration first, then sharing second. Those are the blogs I’ve always enjoyed anyway.
If you want traffic you need a regular topic you cover. Most personal blogs are life events, which is covered by social media now. Blogs are for long-form content and can cover more practically what I would call essays or research topics.
> Once they have us relying on them, we are forced to play by their rules, and at that point the battle is over.
These are the perfect words to convey the feelings I've long felt all the way down to the core of my being.
The less obvious and not already widely covered stuff is very situation dependent. i.e. Most advice I could share is incredibly nuanced and some of it may flip 180 degrees, depending on the particular context of the person looking for advice or help. — And I don’t necessarily pre-think all possible situations - which is also a big human problem, when making software or laws and everything in between.
The “right” advice changes over time, because everything from technology to human value systems evolve ever more quickly. So today’s wisdom may end up tomorrow’s deadly sin. And when the Internet doesn’t forget, a well meaning post today may become a big mortgage on the future.
Stories on the other hand, are ageless. When well written they take on a life of their own.
I'm sure there are solutions but the problem I have with a static generator is that unlike wordpress I have no online preview. Sure I can run the generator on my local machine, even setup some watch build so I can update and refresh but I use 7 machines regularly. With wordpress, any machine let me draft a new post and pick it up else where and preview it but ATM I've lost that feature.
Maybe (it's hosted on github), I could setup a staging repo and have it build PRs to a staging site but a full PR is way more work than just typing and clicking 'preview' in wordpress. To add, my site does some processing that would be not be previews just using github's markdown preview in the editor.
I don't know if that's why I blog less than I used to but it is arguably friction. If I think of something to write I need to be in front of the correct computer with stuff synced and setup and if I don't finish I need to check in the unfinished article in some draft position, then later check it out on some other machine, and finally when it's done, move it to a folder that is used in the build.
It also takes me serious time. A typical post would take 4-8hrs. Write, proofread, edit, add pictures or diagrams. Just barfing thoughts out is twitter/facebook.
Otherwise, I think I just have less to write. I started blogging in the 90s selfishly, it was way more fun when it felt special. Now everyone writes (twitter, facebook, medium, etc...) so not nearly as special.
So, wp is not really an example of "choose-boring-technology". The point of boring tech is it works and is low maintenance. wp is not low maintenance.
A static site mostly is. There's nothing to hack. No accounts. No way to "login"
The first iteration of my blog was based on an old wiki engine, and the beauty of that engine was that, while the markup format was unique, the data was stored in flat text files that I could easily manipulate.
Some number of years back, now, I moved to a static site generator that uses Markdown as the source format, and since I was dealing with flat files, I actually had a fighting chance of making the switch fairly easily.
And now that everything is just Markdown, I can version control it with git, back it up easily, etc. And again, if I decide to switch technologies in the future, I can do that because the content is stored in a format that's very easy to manipulate.
And thinking very long-term, this kind of approach ensures that archiving your digital legacy will be a lot easier, since the content isn't tightly bound to a specific technology.
Back in 2014 I wrote a beginner's guide to C#, with the lessons building a very simple (non-graphical) role playing game. It was mostly to show the thinking behind starting out very simple, with the basics of objects, and eventually build a program that is larger and "complete".
It got a little popular and I've received quite a few messages/comments from people who've told me the lessons helped them understand things better in their programming courses at college or code camps. Those messages have been a lot more fulfilling than being coder #12 on $BigCo's multimillion-dollar, multi-year project.
It's also a nice thing to point to when interviewing. Just like a public GitHub repo, I doubt most interviewers take more than a cursory glance at it, but it is a way to stand out from the crowd of candidates who don't have a technical blog.
I've had times when I've burnt out and haven't posted for a year or more. Other times, I get a burst of energy and write every day. There is a bit of pressure to feel like I should be writing and posting. And, since I have programming guides, there are occasional support questions to answer (especially when Microsoft changes Visual Studio or moves from .NET Framework to .NET Core then to .NET 5/6). But, it usually doesn't take too long to deal with that.
On the technical side, it has been a bit of a pain to go through web hosts every few years. The hosting service eventually gets bought out, service quality goes down, or the site gets slow (and support says, "It looks OK to me"), etc.
I wrote [0] and [1] with people like you in mind:
[0] https://sheep.horse/2017/4/so_you_want_to_start_an_unpopular...
[1] https://sheep.horse/2017/4/some_additional_advice_for_those_...
Thanks for your links, the point of doing something once in a while no matter how small really makes sense and was something I hadn't considered.
So I just use it to write down stuff I thought inetresting. I add new stuff very occasionally, and refer to it often, to this day. It's expanded (and sometimes contracted) with non-work stuff (hobbies, photos for the overseas family - although I could do more on that front).
And so I have no real expectation of myself to continually provide new content, or keep up with the latest hosting software and [at home] infrastructure. It receives lots of traffic for the 4x4 guide I wrote in 1998, and the consulting reference pages. I don't care for the traffic, but glad people find it useful. As long as it remains useful to me I'll keep it going, and call it a success.
OP conflates two different issues: the difficulty of running infrastructure that you own, and the difficulty of running content that you own. They are not the same!
Concerns about ownership of content because you no longer own the infrastructure are, I think, irrational. I can take my compiled heap of HTML, CSS, and JS to Cloudflare, and if they try to "make me a serf", I can move it to CloudFront, or Netlify, or GitHub Pages (which, to the point, even works in Iran from what I understand, because GitHub went through the pains of getting approved by export control), or any number of similar services.
Concerns about ownership of infrastructure are valid, but that war is largely lost. I still can't get IPv6 at home, and even if I could, leaving it open to ::/0 is playing with fire. Somewhat literally, depending on whether your hardware's automatic temperature shutoffs are working or not, something that is increasingly unlikely in an age of cheap connected kitchen appliances with heating elements. Denial of Service is real, and the fact of the matter is, even if IPv6 were to be offered to every household on the planet, virtually no Mom-and-Pop consumers want to screw around with network firewalls to get anything working.
Yes, own your content. Write what you want. Stop running long-commoditized hardware at home.
I even have a similar article about blogging (old but still relevant, I think)[1]
[0] https://sheep.horse/everything.html
[1] https://sheep.horse/2017/4/so_you_want_to_start_an_unpopular...
It's been a weird journey.
But to me it's much more than a website. Behind it is a set of software tools I've been developing for website generation. The public-facing website is in effect a major demo of what the tools can do. The programming challenge is what makes it worthwhile, stretching the site's capabilities is highly rewarding. Also improving the site's performance and efficiency is a benefit of "roll-your-own" site creation. Polishing it to excellent results contributes to a sense of accomplishment.
Anyway it's pretty easy and cheap to use a modest VPS to host the site. If a person has the knowledge running a self-managed host is quite practical and allows maximum freedom and minimal risk of "deplatforming" that was going on a while back even if the risk is near zero.
I never expected to get a lot of traffic, though there is some. One surprising aspect has been the number of attempted "break-ins" (e.g., via ssh). Properly configuring a firewall is a necessity. But that stuff is just part of normal administrative responsibility.
As for WP, I like to use a static site generator like Hugo, unless you have huge requirements for dynamic server side resources (versus of a site with 1000s of pages, albeit static and highly cacheable).
My site is currently >100 pages, so it's modest in scale. Like many sites it consists mainly of static pages but there are dynamic features too, such as basic user comments and messaging. The generator program outputs the html, css and js needed. Written primarily in object-oriented Tcl, pages are generated from source files expressed in a generator-specific DSL. In practice it's way simpler and less exotic than this description suggests. To me "proof of the pudding" is that I can easily pick up where I left off even after being away from the project for a few months.
A goal for the generator is to finish packaging and documentation, then releasing as open-source. Not that there aren't already a million ways to create websites, but I figure one more can't hurt! ;-)
I have a happy little node server that's been running on an AWS micro instance since 2013 and I periodically stick a new SPA into the public area with auth through the express middleware. It might look a bit frankensteinish, but it works just ducky and costs like US$10/month with 20GB of SSD (most of that is the elastic IP + load balancer).
Finding things to write about is not the bottleneck (for me). I'm willing to bet I could make a list of 1000 things to write about if I cared to make such a list. The reason I don't post more on my website is because it's rarely the best use of my time. I would create some value with another post, but not a lot, so I focus on higher-value tasks.
As for comments, I think the best option would be some comment service. However, everything would feel a lot less personal.
My blog uses surge.sh for static file hosting, in front of CF and CF dns for $10 per year. Not as crazy as the op makes out.
For example here in Czech republic we have lot of reasonably cheap hosting companies and whole backyard industry of small companies and individuals willing to create website for you.