Monday, April 28, 2025

Is self-hosting a decentralized blog possible?

I recently wrote a blog post on the perils of finding good hosting solutions for my blogs. My private blog janromme.com, as well as Seriousaboutech are both hosted on Blogger.com.  The downside of Blogger is that it injects advertisements unto my pages. Also, I can’t really access my blog files. It’s all accessible only through a web portal. So I am currently in the market for a good and cheap hosting solution. 


This got me thinking. What if we are all are doing hosting wrong? 

Hosting made sense when most people didn’t own their own always-on, always-connected devices. What if instead of looking up to big companies to do the hosting for us, or falling behind on our dev-ops skills in trying to self-host on a VPS, we should instead use easy to use self-hosting apps on our smartphone and laptop? The limitations of a smartphone or a laptop as a hosting device are (among other things): 
  • Limited battery
  • Bandwidth restricted
  • Spotty 5G or Wi-Fi coverage 
  • No self-owned IP4/IP6 address
  • Behind a NAT 
  • Limited access to your own device (iOS App Store restrictions come to mind).

All of these limitations can be overcome if we think not of one smartphone or one laptop as the single hosting device, but instead of a pool or swarm of these devices, scattered all over the globe. A recent hosting solution that already uses this principle exists today: it’s called NOSTR, short for “Notes and Other Stuff Transmitted by Relays”.  Every file, audio, video, Markdown text or whatever, is cryptographically signed by the user who posts it. This means it can’t be tempered with, and it can be identified on several different relays that host the file. 

The downside of the current system is that it relies on kind persons who get a warm and fussy feeling form playing dev-ops on a rented VPS or home server. This is not a sustainable business model. 

What if each of the readers of my blog posts or viewers of the video files that I share, would automatically become a hoster, let’s say for 3 months after viewing? This automatic hosting means my mother (she’s close to 80, bless her hart) can do it too. It should be seamless to set up and forget. A build in bonus is that a popular blog post will automatically be hosted by more and more relays, in the same way that a popular torrent file is automatically seeded by more users as well. 

Almost all the pieces exist today:
  • Automatic seeding/hosting/relaying of a downloaded file exists in the torrent sphere: Webtorrent.io shows how hosting inside the browser works by using WASM, WebRTC and JavaScript. And hundreds of nostr relays are in operation today. You can push your data to all the free relays by using a tool like blastr
  • Punching through a NAT or circumventing the problem of not having a static IP4/IP6 address has several working solutions today: HolepunchIROHlibp2p and WireGuard come to mind.
  • Finding a blob on Nostr and showing it as a webpage is done by for example Njump.meBlogstack and NoteStack.
  • Even a NOSTR-relay-on-WASM exists already called snort worker relay.

If anyone knows of a project that is (close to) achieving a combination of these goals, please let me know 😊.

If you want to comment on this blog post, you can do so via nostr here, or on Hacker News



Tuesday, April 22, 2025

Introducing Pretty Print HTML for PHP 8.4


There are attempts to make HTML code more readable for the human eye, like this recently announced software: 
Introducing Pretty Print HTML for PHP 8.4

I'm delight to announce the first release of my opinionated HTML Pretty Printer for new versions of PHP. Grab the code from Packagist Contribute on GitLab There are several prettifiers on Packagist, but I think mine is the only one which works with the new Dom\HTMLDocument class.

This made me think: why bother making you code more human readable? Why not instead build into the browsers "View Source" window one ore more options to "prettify" or "make more readable" the original source code? This way, we don't need to fix millions of broken pages. And also we can view the source code without much hassle. 😊 

Your thoughts please? 

Year 125 – 1985: Structure and Interpretation of Computer Programs by Harold Abelson and Gerald Jay Sussman, with Julie Sussman | 150 Years in the Stacks


I came across this wonderful quote:

A computer language is not just a way of getting a computer to perform operations but rather … it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute.


Sunday, April 13, 2025

VERT.sh: The file converter you'll love.


All image and audio processing is done on your device. 

Videos are converted on their lightning-fast servers. 

Tuesday, April 08, 2025

My personal take on "AI 2027" predictions



The Zvi, an AI-focussed newsletter that drops into my RSS regularly, is currently busy discussing the "AI 2027" report that claims that in 2027 AI will be super-intelligent and maybe able to do both security and software development work.

This, to me, sounds like the perfect misunderstanding. And I foresee dark clouds on our horizon. Why? I don't believe AI will be "stealing" any jobs, and believe that it can is harmful for 3 groups:

Imagine that you are a kid who's considering what to study. Would you go into a 4/5 year education in software development? Or would you invest similar time in a Security study? 

Or, looking at this from another angle: would you, as a manager, dare to propose that your company budget some resources for hiring and training new developers and IT security personnel? 

And thirdly, imagine that you are working on an IT Security or Development team. Now your middle and upper management is reading papers that claim that your job can be automated in the next 24 months or less. Do you think those managers are going to stick their necks out and try to keep you happy? Or try to hire new colleagues, thinking they would soon have to be fired again? 

What I think is going to happen is this:  Kids are no longer choosing to study IT Security or Development. Companies are more hesitant to hire developers or security personal. LLM's will continue to be search-engines-on-steroids, useful but needing human oversight, and not much more else. And people in jobs that will soon™️ be replaces by AI, will be undervalued, easily dismissed and probably made very angry as more managers will dare say things like "Can't ChatGPT do this?" Or "What did Perplexity say about that issue?" and everybody will be more grumpy and less happy. 

I am sorry, but this is what I expect most people will have to endure in the forseable future. In the longer term, we will all get used to using LLMs are valuable addittions to our search or even research options. But, just like the Internet (yes, we wrote it with a capital back then) didn't steal all our jobs, neither will AIs. 

 


Tuesday, April 01, 2025

A new up- and download icon in iPadOS 18.4

Last night I updated my devices to iOS and iPadOS 18.4. 

This morning I used cobalt.tools to download an interesting video about the oldest known trousers in existence (don't ask). 

Anyway, as safari was slurping up the 500mb of this video, I noticed a new icon in the top-right corner of my iPad screen. 



This icon stayed visible all while my download was active. 

Then, it stayed visible as my upload was active. I uploaded this file to a folder on my iCloud. 

Now, both the up and downloading of the video file are complete, and the icon is still visible. Maybe this is a safety feature? Like the GPS 'arrow' that stays visible for some minutes after the location services where used to signal the user that one on my apps asked for my location? 

I found this list of 71 new features that are part of iOS/iPadOS 18.4 but this one isn't on the list. Maybe they missed something, or am I misunderstanding this icon? Please let me know your thoughts 😅 


Addendum: some more Kagi kungfu revealed that this icon means something completely different than what I guesses at: "this icon is an icon indicator that the iPad is on the process of syncing and finalizing the software update."