Codeberg is one of my favourite Git hosting services. It is (to me) what GitHub should have remained like. I have been mirroring most of my GitHub projects to Codeberg as well. Someday when I can afford the time, I might decide to make Codeberg my primary repository hosting service and GitHub the mirror.
Go for it if Tailwind works for your team.
Inline CSS for your solo project? Chase your dream.
Still stuck on SASS? It'll work just fine.
All in on modern CSS? Go ahead and shine.
One thing I fondly remember from the 1990s is how newspapers used to publish monthly sky charts. That is how I got started with stargazing, with nothing more than cut-outs of those charts and my naked eyes.
I had two plain star charts as well, one for the northern hemisphere, which I used constantly, and one for the southern hemisphere, which I rarely needed. But plain star charts cannot show where the planets would be from month to month. So I relied heavily on the monthly charts published by the newspapers. Retrograde planetary motions were hard to estimate manually unless you were an expert. At the age of 10, I wasn't an expert. So the monthly charts were very useful to me.
When my father switched to a different newspaper, I was flabbergasted to discover that our new paper did not publish sky charts. What an outrageous omission! So I promptly wrote a letter to the editor about it and posted it. A month later, the newspaper published my letter in the 'Letters to the Editor' column. Since it was a national paper, I was beaming with joy at the thought that people across the country would read my complaint. Another month later, the paper began publishing sky charts.
These days we can take a mobile phone app and point it at the sky but there is a certain joy in simply exploring the night sky with minimal assistance, appreciating the beauty and mysteries of the universe and pondering philosophical questions like why we are here and why any of this exists. I do not want to sound like a lunatic (and if I do, I suppose I do not mind) but I think it is one of the most immersive experiences a human being can have with the universe.
As a bonus, it can be quite useful to impress your girlfriend too, provided she is of a certain kind. I remember when I met mine about a decade ago, we would sometimes be stuck at traffic lights and I would start calling out objects in the night sky. "That's Jupiter up there. That's Betelgeuse, the red giant star that could go supernova one day. That's Rigel, one of my favourite stars. And there are the Pleiades, one of the most photogenic star clusters. If you draw an imaginary line through the three stars of Orion's Belt and extend it eastward, you reach Sirius, the brightest star." And so on. Within a few weeks, she started joining in, and we would try to name as many objects as possible before the lights turned green again. Fortunately, she found all this entertaining rather than seeing it as evidence of complete derangement, and we are now married.
The CSS is complex indeed. Moreover, the page renders the Shorts widgets after the page has completed loading, so JavaScript-based solutions need to exercise a little care in ensuring that it can hide the distracting elements after the page has loaded. Despite the complexity, I've found that just hiding all elements with the 'ytd-rich-shelf-renderer' class just works fine. For example:
.ytd-rich-shelf-renderer { display: none }
This single line of CSS seems to just work fine for me.
Here is another one I found in my personal userscripts. I believe this script is more effective than my previous one because it prevents recommendations for Shorts or other videos from being shown.
// ==UserScript==
// @name No YT Sidebar and Shorts
// @match https://www.youtube.com/*
// ==/UserScript==
function noYTSidebar () {
const element = document.getElementById('secondary')
if (element === null) {
window.setTimeout(noYTSidebar, 1000)
return
}
element.getElementById('secondary').style.display = 'none'
}
function noYTShorts () {
const elements = document.querySelectorAll('ytd-rich-shelf-renderer')
if (elements.length === 0) {
window.setTimeout(noYTShorts, 1000)
return
}
for (e of document.querySelectorAll('ytd-rich-shelf-renderer')) {
e.style.display = 'none'
}
}
noYTSidebar()
noYTShorts()
Thanks for sharing. I realised I have several userscripts I've written over time to tackle web browsing distractions. I found another one and this is probably the most effective for me because it hides Shorts at the CSS level. That means I don't need to rely on setTimeout(..., 1000) to catch elements that get inserted dynamically after the page loads.
Perhaps a little unrelated but I want to mention that I take great joy in maintaining an active comments section on my website: https://susam.net/comments/
The trick is to not auto-publish anything. Every comment posted to the website first gets written to a text file which I then review, usually during the weekends. I ignore all the spam, fix any obvious typos in the legitimate comments and then publish them to my website.
You have to be careful when you edit comments - you can be seen as editorialising, which can lose you protection against being liable for defamation in some jurisdictions. Probably not a huge issue for a small website, but now risk than I'd like to take
I am not a regular contributor to Wikipedia but the little time I have spent contributing there has exposed me to its very elaborate culture, with barnstars being one artefact of that culture, alongside policy acronyms everyone seems to know by heart, WikiProjects organised around every imaginable topic, userboxes that are little badges that say something about you, etc.
These days I typically resolve the domain names of these attention media platforms to 127.0.0.1 in my /etc/hosts file, so that I do not inadvertently end up visiting them by following a link somewhere else. I think there are very few true social media platforms remaining today, among which I visit only HN and Mastodon.
If you haven't seen it already, Codeberg is seeking donations here: <https://docs.codeberg.org/improving-codeberg/donate/>. A good way to support a product you like rather than becoming the product yourself.
reply