summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content/blog/static-pages.md111
1 files changed, 111 insertions, 0 deletions
diff --git a/content/blog/static-pages.md b/content/blog/static-pages.md
new file mode 100644
index 0000000..3549fa5
--- /dev/null
+++ b/content/blog/static-pages.md
@@ -0,0 +1,111 @@
+---
+title: Static page(s)
+date: 2024-03-04
+draft: false
+---
+
+# Short History
+
+Since the start of the World Wide Web over the internet almost 4 decades ago,
+[Static web pages][1] 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][2])
+
+And for a few years, professionals and hobbyists alike, used to craft these
+static websites manually using raw HTML and CSS.
+
+Then came the [dot-com boom][8], which gave birth to an explosion of different
+frameworks, paradigms, methodologies, and template languages.
+
+Nowadays, there are so many [Static Site Generator (SSG)][6] frameworks;
+almost all of them support remote data sources (AKA [Headless CMS][9]), making
+it quite **inclusive** for professionals, hobbyists, small, and big businesses
+to build a blog, photo portfolio, news reporting outlet, or a communication
+channel with their audience.
+
+**In Short**, Static pages are simple, versatile, fast, secure, and cheap.
+So cheap that over the years, many [SaaS][3], [IaaS][4], and [PaaS][5] providers
+have offered it for free (or charged just network traffic fees).<br/>
+**But**... Most of these providers are trying to lock you into their ecosystem,
+which is understandable from financial incentives,
+but quite harmful to providers' **diversity**.
+
+# Let me explain
+
+A few years ago, Oracle acquired Wercker before starting to throttle free-tier
+offerings and delivering fewer and fewer updates to the platform, finally,
+rendering it completely useless.<br/>
+Microsoft acquired GitHub, [shortly before they started blocking developers
+residing in sanctioned countries][10].<br/>
+AWS was already gobbling up a massive chunk of the internet infrastructure.<br/>
+And I don't like Google, plus their APIs and tools have always been quite bad.
+
+So, I started looking for a new open-source home for my code, preferably with
+an open-source CI service.
+
+Naturally, I started looking at GitLab. I have already been using GitLab
+for a while, mainly as a backup for the most important projects, but I wasn't
+quite satisfied with its performance or with its CI system.
+
+After some searching, I stumbled upon [SourceHut][11]. Long story short,
+a few months in, I migrated everything to SourceHut, with GitHub used as a backup
+for a few projects. I have been quite satisfied with the service, even with the
+[recent DDoS attack][12].
+
+## The problem
+
+Because during this time I was already in the process of moving this
+website's domain registrar to Cloudflare, I needed to test that the website
+was working. I couldn't just add a `CNAME` record pointing to the `a14m.srht.site`
+domain and the `A` or `AAAA` [IPs][13] were also down.
+
+I **needed** to deploy the website manually, and that's when I found that **almost
+all** the static page hosting providers only support integrations with GitHub or GitLab,
+or you can manually upload the generated website using UI
+- Netlify also supports Bitbucket, and probably the manual upload can be
+automated via `cURL` but it's not officially documented.
+- Cloudflare supports both GitHub/GitLab integration, and either deploying manually
+or using their [(wrangler) CLI][14]
+- AWS S3 static hosting is either manual or using the AWS CLI.
+
+**This is quite alarming**. There are no open-source-based solutions,
+like using `cURL`, or `git` remote to deploy without relying on a proprietary
+code, or service provider APIs.
+
+And the same patterns can be seen also with independent CI providers,
+and although it's at least much better on the integration side, GitHub, GitLab
+and Bitbucket are the standard supported services (because they are missing
+on $$$ otherwise), and although it is a much more complex case with CI,
+it should be theoretically possible to standardize how it is working using
+webhooks.
+
+## The solution
+
+I don't know if there is a solution, but I hope to see more projects like
+[SourceHut][11], open-source projects that challenge the ongoing monopolies,
+and provide alternatives that could at some point dethrone these giants.
+
+Maybe that's a solution.<br/>
+Maybe supporting these projects is also a solution.<br/>
+Maybe not.
+
+<br/>
+
+*PS: This site is built using [Hugo][7], YAML, and Markdown<br/>*
+*Source: https://git.sr.ht/~a14m/a14m.srht.site*
+
+[1]: https://en.wikipedia.org/wiki/Static_web_page
+[2]: https://en.wikipedia.org/wiki/Pain
+[3]: https://en.wikipedia.org/wiki/Software_as_a_service
+[4]: https://en.wikipedia.org/wiki/Infrastructure_as_a_service
+[5]: https://en.wikipedia.org/wiki/Platform_as_a_service
+[6]: https://en.wikipedia.org/wiki/Static_site_generator
+[7]: https://gohugo.io/
+[8]: https://en.wikipedia.org/wiki/Dot-com_bubble
+[9]: https://en.wikipedia.org/wiki/Headless_content_management_system
+[10]: https://medium.com/@hamed/github-blocked-my-account-and-they-think-im-developing-nuclear-weapons-e7e1fe62cb74
+[11]: https://sr.ht/
+[12]: https://sourcehut.org/blog/2024-01-19-outage-post-mortem/
+[13]: https://srht.site/custom-domains
+[14]: https://developers.cloudflare.com/workers/wrangler/