awadwatt.com

Reader

Read the latest posts from awadwatt.com.

from Third Spruce Tree On The Left

A while ago I installed the minimalist RSS reader Yarr (Yet Another RSS Reader) here.

One of the things that appealed to me about Yarr is that you can tell Yarr to run at a specific port from the command line:

#!/bin/bash
/usr/local/bin/yarr/yarr -addr "<ip to bind to>:<port>" -auth <user name>:<user yarr pwd not their system pwd> > /var/log/yarr.log 2>&1

(as well as secure it with a password)

I wanted this because I hadn't set up any kind of reverse proxy yet. Well, now I have and it turned out to be a lot easier than I anticipated. I now host:

  • WriteFreely (blog – you're reading it)
  • Yarr – in fact I host 3 of them for family members
  • Navidrome – music streaming host (because haven't had success getting FunkWhale to work)
  • Jellyfin
  • a pet project under development

all from the same host behind NGINX. Also, a side benefit to NGINX is that if I create a blanket subdomain LetsEncrypt certificate, NGINX can use/apply that certificate to everything it reverse proxies. So yay, Yarr gets HTTPs for free! (also handy: this solved the problem I had been having with WriteFreely not using my self-generated LetsEncrypt certificates, I could only get it to work with the ones IT generates if you enable auto-certs.)

Here's my NGINX config file (mildly redacted). Created with some help from the very excellent Nginx Configuration Generator:

server
{
	listen 443 ssl;
	listen [::]:443 ssl;
	http2 on;
	server_name awadwatt.com, www.awadwatt.com;

	# SSL
	ssl_certificate /etc/letsencrypt/live/awadwatt.com/fullchain.pem; # managed by Certbot
	ssl_certificate_key /etc/letsencrypt/live/awadwatt.com/privkey.pem; # managed by Certbot
	ssl_trusted_certificate /etc/letsencrypt/live/awadwatt.com/chain.pem;

	# security
	include nginxconfig.io/security.conf;

	# logging
	access_log /var/log/nginx/access.log combined buffer=512k flush=1m;
	error_log /var/log/nginx/error.log warn;

	# reverse proxy
	location /
	{
		proxy_pass http://127.0.0.1:7035;
		proxy_set_header Host $host;
		include nginxconfig.io/proxy.conf;
	}

	# additional config
	include nginxconfig.io/general.conf;


}

Basically each “service” that Im running on a different port will be mapped to a different subdomain server that NGINX will listen for and redirect. Carving out the access and error logs for each into their own dedicated files.

server
{
	listen 443 ssl;
	listen [::]:443 ssl;
	http2 on;
	server_name jelly.awadwatt.com;
	ssl_certificate /etc/letsencrypt/live/awadwatt.com/fullchain.pem; # managed by Certbot
	ssl_certificate_key /etc/letsencrypt/live/awadwatt.com/privkey.pem; # managed by Certbot
	ssl_trusted_certificate /etc/letsencrypt/live/awadwatt.com/chain.pem;

	include nginxconfig.io/security.conf;
	access_log /var/log/nginx/jellyfin.access.log combined buffer=512k flush=1m;
	error_log /var/log/nginx/jellyfin.error.log warn;
	location /
	{
		proxy_pass http://127.0.0.1:8096;
		proxy_set_header Host $host;
		include nginxconfig.io/proxy.conf;
	}
	include nginxconfig.io/general.conf;
}


server
{
	listen 443 ssl;
	listen [::]:443 ssl;
	http2 on;
	server_name navi.awadwatt.com;
	ssl_certificate /etc/letsencrypt/live/awadwatt.com/fullchain.pem; # managed by Certbot
	ssl_certificate_key /etc/letsencrypt/live/awadwatt.com/privkey.pem; # managed by Certbot
	ssl_trusted_certificate /etc/letsencrypt/live/awadwatt.com/chain.pem;

	include nginxconfig.io/security.conf;
	access_log /var/log/nginx/navi.access.log combined buffer=512k flush=1m;
	error_log /var/log/nginx/navi.error.log warn;
	location /
	{
		proxy_pass http://127.0.0.1:4533;
		proxy_set_header Host $host;
		include nginxconfig.io/proxy.conf;
	}
	include nginxconfig.io/general.conf;
}


server
{
	listen 443 ssl;
	listen [::]:443 ssl;
	http2 on;
	server_name yarr.awadwatt.com;
	ssl_certificate /etc/letsencrypt/live/awadwatt.com/fullchain.pem; # managed by Certbot
	ssl_certificate_key /etc/letsencrypt/live/awadwatt.com/privkey.pem; # managed by Certbot
	ssl_trusted_certificate /etc/letsencrypt/live/awadwatt.com/chain.pem;

	include nginxconfig.io/security.conf;
	access_log /var/log/nginx/yarr.access.log combined buffer=512k flush=1m;
	error_log /var/log/nginx/yarr.error.log warn;
	location /
	{
		proxy_pass http://famine:5000;
		proxy_set_header Host $host;
		include nginxconfig.io/proxy.conf;
	}
	include nginxconfig.io/general.conf;
}

And this bit just redirects insecure HTTP port 80 traffic permanently to secure HTTPS mappings above.

# HTTP redirect
server
{
	if ($host = www.awadwatt.com)
	{
		return 301 https://$host$request_uri;
		} # managed by Certbo
	}
	# managed by Certbot

	if ($host = jelly.awadwatt.com)
	{
		return 301 https://$host$request_uri;
	}

	if ($host = navi.awadwatt.com)
	{
		return 301 https://$host$request_uri;
	}

	if ($host = yarr.awadwatt.com)
	{
		return 301 https://$host$request_uri;
	}


	if ($host = awadwatt.com)
	{
		return 301 https://$host$request_uri;
		} # managed by Certbo
	}
	# managed by Certbot


	listen 80;
	listen [::]:80;
	server_name awadwatt.com, www.awadwatt.com, lists.awadwatt.com, jelly.awadwatt.com, navi.awadwatt.com,  yarr.awadwatt.com;
	#include     nginxconfig.io/letsencrypt.conf;

	location /
	{
		return 301 https://awadwatt.com$request_uri;
	}


}

Also shoutout to the NGINX config file Beautifier for making it look purty.

Changelog:

2024-04-18 – initial

 
Read more...

from Third Spruce Tree On The Left

(this blog post isn't what you think its about)

We're not an entirely vegan household. Vegan Lawyer Girlfriend is obviously. Since I do all the grocery shopping and all the cooking, out of practical necessity, the majority of our meals are either entirely vegan or vegan with sometimes a chicken breast or turkey sausage on the side; there's no way I'm buying two of everything. Except for cheese (vegan cheese still needs improvement), lunch meat for the boy and I, and whatever I put on the side on rare occasions, everything else is vegan: butter, milk, all ingredients.

So when VLGF goes away, as she did recently, the boy and I get to indulge a bit in our old carnivorous ways. No pork of course** but a giant roast on clearance or a turkey isn't out of the question.

At the grocery store deli counters you used to be able to buy the bits and sorts left over – you know, the heel or butt of the salami, or that two slices they took off to make your order 400g exactly. While most deli meat might run you $2-3 per 100g, the “ends” were like $0.99 / 100g. Which fit my frugal budget perfectly and I used to get the bits 'n ends all the time for my sandwiches. (and it was always a treat. Literal “mystery meat”. Sometimes it was macaroni and cheese loaf (meh) and sometimes it was prosciutto (score!))

Here in Canada, when mandatory nutritional labeling came in a decade or so ago, all the big grocery stores stopped selling the ends; while the nutritional labels for each meat were printed automatically by the scale, they have no way of knowing what meats were in THIS bag of ends. So they just stopped doing it to not run afoul of the inspectors.

Recently I've been trying to boycott Loblaws brand stores (because fuck those guys), so that means no more Valu-Mart right around the corner.

We do have a great Farmer's Market in town – 3 actually. And several Farm Boys; but they're all as pricey if not more expensive than Loblaws. But there is Central Fresh Mart. Its not easy to get to sometimes but everytime I go I forget how good it is. Their meat department is phenominal.

So anyway, I'm in Central the other day and I see THEY have the deli meat ends so I'm like fuck yes and I buy some. The boy and I are making our sandwiches this morning and I finished one package of ends and said something like “oh, its the End of Meat” (I think John Scalzi's End of All Things popped into my head). And then we started joking about They're Made of Meat, which is an old Terry Bisson short story (which has been adapted several times).

“I think it works better as The Ends of Meat or The End of Meat” said the boy. “hrmm. maybe The Meat's Ends”.

“The Meat's Ends. heh... the Ends Justify the Meats.”

“oo!” said he, “The Meat's Ends: Its about the people in the human centipede just trying to get by after the events of the movie***. Like how do they take the bus? Would they need a handicapped parking pass? How do they stand in line at the DMV? What would their coworkers say about them behind their back in the office? Look, its just 3 ordinary people sewn together mouth to anus trying to make their way in the world.” and then we fell about laughing for 10 minutes straight.

Ok maybe it seemed funnier this morning.

** – the agreement is VLGF looks the other way on meat in the house so long as its not pork or veal. And no fish (she had to clean the fish cleaning hut at her family's camp, it was traumatizing). We're slowly reducing our animal usage, we only have meat maybe 1 out of 5 meals now.

*** yeah I know two of them die.

 
Read more...

from Third Spruce Tree On The Left

Dr. (it hurts to use that) Jordan Peterson.. notorious anti-LGBT+, transphobic, libertarian, incelphilic self-help psychology writer, bullshitter and speaker was accredited to practice Psychology in the province of Ontario, Canada.

not YES – As of 2024-02-01 – Still has a psychology license from the College of Psychologists of Ontario.

Unfortunately.

If you know any better, msg me on Mastodon at @tezoatlipoca@mas.to or email tezoatlipoca AT gmail.

Why does this matter?

or

Why do you hate Jordan Peterson?

or

Why is Jordan Peterson such a douchebag?

in progress. but he is such a huge asshole

 
Read more...

from Third Spruce Tree On The Left

Lemme skip to how to find RSS URLS for * Youtube * Substack and Wordpress * Reddit * Medium * Videosift

It used to be, back in the day, that when you wanted to have a presence, a voice on the internet to show people stuff you had to have a website. And to do that, either you needed to have the computery skillz to setup your own webserver or pay people to do it. Or use a freemium hosting service like MySpace or Geocities (unrelated, go checkout neocities.org, its back baby).

And then there was the problem of how do people find out when you add new shit to your website? If you were a newspaper, or a company or institution that had STUFF that people wanted to read, it was a bit easier. Chances are people would type www.yourdomain into their web browser manually or have it bookmarked, and they’d visit it every day or so, checking for new stuff. Apart from that the only way news and content spread on the internet was through:

  • someone else mentioned and linked the thing from their website
  • someone sent the link to you via email or over one of the early “chat” programs like ICQ, Microsoft/Yahoo/AIM messenger or the very early (and shitty but good for their times) real-time chat/voice over IP programs like Teamspeak or Skype (before Microsoft bought it and it sucked)
  • you saw the link in a newsgroup, email distribution list, IRC channel or a .plan update. Or a CGI/PHP bulletin board: think self-hosted micro-Reddit websites, one each for people playing certain games or who had foot fetishes; even the nazis; little self-contained bubble echo chambers.

Twittle or TubeTok didn’t exist with their bullshit algorithms so you would only discover something if someone sent it TO you, or you went to go find it.

So into this late 90s, early 2000s void of not getting news shoved into your face, arose RSS or Really Simple Syndication. Basically, anything that produced content, or would periodically produce new or updated content, could also publish an RSS feed. This feed would always exist at the same URL address, and all an interested reader on the internet would have to do to subscribe to that websites stream of very interesting stuff, would be to periodically poll that site’s RSS feed and see what’s new.

Here’s the main “all articles” RSS feed for the Toronto Star, found at https://www.thestar.com/search/?f=rss&t=article&c=news.

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:georss="http://www.georss.org/georss">
    <channel>
        <title>www.thestar.com - RSS Results in news* of type article</title>
        <link>https://www.thestar.com/search/?f=rss&amp;t=article&amp;c=news*&amp;l=50&amp;s=start_time&amp;sd=desc</link>
        <atom:link href="https://www.thestar.com/search/?f=rss&amp;t=article&amp;c=news*&amp;l=50&amp;s=start_time&amp;sd=desc" rel="self" type="application/rss+xml" />
        <description>
		www.thestar.com - RSS Results
		in section(s) news*
		only for asset type(s) of article
	</description>
        <generator>TNCMS 1.72.4</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        <ttl>30</ttl>

        <item>
            <title>Libya says it suspended oil production at largest field after protesters forced its closure</title>
            <description>CAIRO (AP) — Production at Libya’s largest oil field was suspended Sunday, the country’s state-run oil company said, after protesters forced the facility to close over fuel shortages.</description>
            <pubDate>Sun, 07 Jan 2024 13:42:38 -0500</pubDate>
            <guid isPermaLink="false">http://www.thestar.com/tncms/asset/editorial/31dcf06d-7fcf-53e4-9520-f2587deed7d8</guid>
            <link>https://www.thestar.com/news/world/africa/libya-says-it-suspended-oil-production-at-largest-field-after-protesters-forced-its-closure/article_31dcf06d-7fcf-53e4-9520-f2587deed7d8.html</link>
            <dc:creator>Samy Magdy The Associated Press</dc:creator>
            <enclosure url="https://bloximages.chicago2.vip.townnews.com/thestar.com/content/tncms/assets/v3/editorial/b/48/b48b8604-36d2-5f31-9535-8bcb5a9d7844/659af12d2f84d.image.jpg?resize=300%2C200" length="67488" type="image/jpeg" />
        </item>

        <item>
            <title>Third shooting in three days in Coquitlam, B.C., sends man to hospital</title>
            <description>COQUITLAM, B.C. - Mounties in Coquitlam, B.C., say a third shooting in as many days has left a man with life-threatening injuries.</description>
            <pubDate>Sun, 07 Jan 2024 13:20:41 -0500</pubDate>
            <guid isPermaLink="false">http://www.thestar.com/tncms/asset/editorial/5012996d-44d7-59fd-8baa-34182011f78b</guid>
            <link>https://www.thestar.com/news/canada/third-shooting-in-three-days-in-coquitlam-b-c-sends-man-to-hospital/article_5012996d-44d7-59fd-8baa-34182011f78b.html</link>
            <dc:creator>The Canadian Press</dc:creator>
            <enclosure url="https://bloximages.chicago2.vip.townnews.com/thestar.com/content/tncms/assets/v3/editorial/a/1e/a1e24cb0-d7f1-549c-a70f-4db470e33610/659aec8c313f8.image.jpg?resize=300%2C200" length="182257" type="image/jpeg" />
        </item>

At the top there’s some metadata about what type / format of RSS stream this is, then some metadata about the website including some self referencing info for the news reader application... and then individual items, one for each thing in the feed. Here’s one:

        <item>
            <title>A dog shelter appeals for homes for its pups during a cold snap in Poland, and finds a warm welcome</title>
            <description>WARSAW, Poland (AP) — With a deep freeze approaching, an animal shelter in Krakow sent out an urgent appeal to people to adopt or at least temporarily shelter some of its dogs until the dangerous cold spell passes.</description>
            <pubDate>Sun, 07 Jan 2024 12:16:44 -0500</pubDate>
            <guid isPermaLink="false">http://www.thestar.com/tncms/asset/editorial/44fd1fe5-8d57-5a19-b00a-18539063092b</guid>
            <link>https://www.thestar.com/news/world/europe/a-dog-shelter-appeals-for-homes-for-its-pups-during-a-cold-snap-in-poland/article_44fd1fe5-8d57-5a19-b00a-18539063092b.html</link>
            <dc:creator>The Associated Press</dc:creator>
            <enclosure url="https://bloximages.chicago2.vip.townnews.com/thestar.com/content/tncms/assets/v3/editorial/1/d2/1d28714f-0754-51fa-a49b-df10f12b5163/659add415e9f0.image.jpg?resize=300%2C200" length="213355" type="image/jpeg" />
        </item>

Its got a title, a publication date and a description. Depending on the RSS feed, the content of the description could be a traditional news slug (i.e. a short summary or hook like description of the article to get you to click) or it could be the whole body of the article itself.

Here’s what that news article looks like in the news reader I use (yarr – Yet Another RSS Reader):

browser screenshot showing YARR - Yet Another News Reader - a 3 column view: list of RSS feeds, list of items or articles IN one of those feeds, and the content of one of those items

In the left I’ve got a list of all the RSS feeds I subscribe to, the center is the list of articles (or items) in one of those feeds and the right is the content. By default, the Toronto Star’s RSS feed only shows me the headline, byline and the slug. But if I click that Read Here button

closeup of the YARR interface showing the Read Here button

.. my newsreader goes and retrieves the content of the article and displays it here. Woot.

YARR screenshot showing how YARR has gone and retreived the full body content of the referenced article for display here, and not in the shitty website

Ok, sometimes this doesn’t get any pictures, but it DOES strip out all the cookie popups, ads, scripting and all the other bullshit. This also (usually) sidesteps any annoying paywalls. The behavior of this depends a lot on a) what newsreader you use and how it behaves b) the nature of the RSS feed and how content is published / linked to it by the content provider.

Well this is pretty cool. Why the hell don’t we get news this way now?

I dunno. The RSS feeds never went anywhere – any content publishing platform that has existed since oh, 1999 or so, has been capable of publishing RSS feeds. And unless the websites that use these platforms deliberately turn them off, they’ve always been there.. still are there.

I think between Yahoo/Google/Bing news “home pages” in your browser, and algorithms in Twitter and Facebook shoving news in our faces (or getting people in our social networks to SEND us stuff) we just fell out of practice of actively going to where the content is and curating our feeds ourselves. Its easy to zone out in front of the TV when there’s a steady drip of just-engaging-enough on the tube; same thing online; if what the algorithm shoves in your face is just engaging enough, we lose interest in finding out the really good stuff that takes a bit of work.

Subscribing to RSS feeds takes back that control. Read only what YOU want to read.

Ok this is nice and all but how do I read these RSS feeds?

Chances are you already have an app that does it. Every major email client made in the last 20 years has had RSS feed reading capabilities. e.g: – outlook: https://www.howtogeek.com/710645/how-to-use-microsoft-outlook-as-an-rss-feed-reader/ – thunderbird: https://blog.thunderbird.net/2022/05/thunderbird-rss-feeds-guide-favorite-content-to-the-inbox/

(not just these, almost everyone I can recall using has been able to to some degree: Forte, Eudora..)

RSS reader apps: Then, you have purpose built RSS reader applications of which I won’t even bother mentioning because I’m sure you can use a search engine/app store.

The problem with using standalone RSS reader apps or using your email client is that if you want to read RSS feed content on another device you have to copy/clone the news feeds that you subscribe to that device. (although there are OPML files which are used to export/import these) And then, you have to manually pick through what you’ve already read on the other device vs. this device. That leads us to:

RSS ‘Feed Aggregators’ services or apps that synchronize between devices: These apps or services let you subscribe to RSS feeds in one spot and read (and keep track of what you’ve read) across multiple devices. Some are websites, some are apps, some are browser plugins.

Again six seconds in any search engine will bring up dozens of these services, but some examples just off the top of my head are Feedly, Feeder, NewsBlur but there are tons of others.

The problem with these is that you gotta create an account and maybe have a subscription... or deal with ads. And you have to use their APP. Whatever happened to just using a web browser. What if I want to self-host my own? You can do that!

Self host your own RSS news aggregator

There are lots out there, and you can find them easily searching for self-hosted RSS aggregator. I’ve tried a few including: – FreshRSS -https://github.com/FreshRSS/FreshRSS – TinyRSS -https://tt-rss.org/

.. and more from https://alternativeto.net/software/feedly/?platform=self-hosted amongst others.

The problem I faced is that I just wanted something simple, single-user, doesn’t require a Docker/K8 container; reading the feeds could be done through a browser. AND, I want it served on a custom port. For one, a little security through obscurity, another I already run THIS WriteFreely site on 80 and 443, and I didn’t want to futz around with a reverse proxy – yet.

Enter

Yarr – Yet Another RSS Reader

get it: https://github.com/nkanaev/yarr

You can run Yarr on a desktop – it then self-hosts at localhost:port and puts an icon down in your system tray that launches your browser to that address.

Or you can set it up as a linux service, which is what I have done.

(see below for that)

Where /How do I find RSS feeds for various sites/platforms?

Ok so you’ve got a suitable reader setup, how do you find RSS feeds? If you’re lucky the website will show it to you:

Snip from the techdirt website showing they have a nice SUBSCRIBE TO MAH RSS FEED RIGHT HERE button

Other times you have to go digging and searching a bit using site search or search engine. For example here’s the Washington Post’s list of RSS feeds:

https://www.washingtonpost.com/discussions/2018/10/12/washington-post-rss-feeds/

Sometimes a blog or a news site doesn’t WANT you to know their RSS address... because if you could use an RSS reader you could doge their cookies, ads, proprietary apps and other bullshit (and we can’t have that happen!) But even though they’re hidden, I bet the RSS is still there, you just have to be sneaky:

Substack / WordPress RSS

Strip off the url, +/feed. Doesn't work with sub-substacks or “channels” i.e. sub-blogs of a larger account.

https://www.snackstack.net+ /feed –> (https://www.snackstack.net/feed)

Reddit RSS

You can subscribe to individual subreddits (OR users) by simply tacking /.rss onto the end of the subreddit or user URL – each new top level post/thread is an item in RSS parlance, and you don’t get the comments and replies. (ugh, you’ll have to use the Reddit app like a filthy commoner) https://www.reddit.com/r/canada/.rss https://www.reddit.com/u/tezoatlipoca/.rss

(how long before they close THIS hole I wonder?)

Medium RSS

Medium is actually up front about theirs, good job Medium. https://help.medium.com/hc/en-us/articles/214874118-Using-RSS-feeds-of-profiles-publications-and-topics

except for paywalled content all you’ll get is the slug essentially.

VideoSift RSS

You can get a stream of everything submitted, but before its “sifted” https://videosift.com/.rss

You can also RSS subscribe to individual user posts: https://videosift.com/motorsports/rss2/newtboy/member.xml and their bookmarks: https://videosift.com/motorsports/rss2/newtboy/memberfav.xml (these are on their user page)

but you can’t follow channels or tags

Youtube RSS

Find the Youtube channel URL you want to follow: https://www.youtube.com/channel/UCRarNme4iUanPLflogg-Ntg

Now take that channel ID off the end and tack it to the end of this: https://www.youtube.com/feeds/videos.xml?channel_id=

voila, RSS feed: https://www.youtube.com/feeds/videos.xml?channel_id=UCRarNme4iUanPLflogg-Ntg

thanks to https://danielmiessler.com/p/rss-feed-youtube-channel/ for this one.

What if I can’t find the RSS feed?

A lot of RSS aggregator services have “scraping” capabilities, where they’ll scrape the webpage in question and generate a feed for you. (yarr doesn’t do this, it only works on a well formed rss file)

If you have a website that you want to generate an RSS feed from and can’t figure out how, msg me at @tezoatlipoca@mas.to and maybe I can figure out how.. but really all Ill be doing is using a search engine. But, figure out how to get RSS from a website I haven’t mentioned, msg me and Ill add it here!

Yarr linux installation

  1. grab the source and compile or grab the prebuilt binary of your choosing
  2. dump the binary somewhere (/usr/local/bin/yarr/yarr) and chmod appropriately for execution by users
  3. write a user script (/home/<user name>/yarr.sh)that launches said application and chmod for execution ONLY by that user:

    #!/bin/bash
    /usr/local/bin/yarr/yarr -addr "<ip to bind to>:<port>" -auth <user name>:<user yarr pwd not their system pwd> > /var/log/yarr.log 2>&1
    
  4. make sure user above has permission to write to that log file (otherwise yarr won’t run)

  5. If you want to run it as is, just run the script. If you want to install it as a system service that autostarts, create a systemd file that identifies this as a system service:

[Unit]
Description=Yarr.<user>
After=network.target

[Service]
Type=simple
User=<user>
Restart=always
ExecStart=/home/<user name>/yarr.sh

[Install]
WantedBy=multi-user.target
  1. register and start the service.

When it runs, yarr will host itself at <host/ip>:<port> and it will prompt for the credentials specified on the command line in yarr.sh. Its database of rss feeds and read status is stored at /home/<user>/.config/yarr/storagedb as a single self-contained sqlite database file, so whatever user/home backup system you have in place will automatically snab user yarr info too.

By changing the user and ports used in the launching script file (and creating suitable systemd entries) you can create a custom yarr instance for multiple users.

Changelog

2024-01-07 – initial 2024-01-07A – moved yarr config to bottom. + toc

 
Read more...

from Third Spruce Tree On The Left

Sometimes we get stuck in a bog. Everything seems impossible, insurmountable, too much. No motivation, no energy, why bother? where to start? The school of No More Zero Days simplifies things down to a single binary. Do one thing, no matter how trivial – make it a Not Zero Day – and you win. Because anything at all is better than nothing.

Many years ago this got posted to the sub-reddit /r/GetDisciplined by user /u/ryans01 in response to a user's post (since deleted) about having a tough couple of days and beating themselves up about it.

This shot to the front page, and even spawned memes, motivational posters, video anaglyphs, and a dedicated sub for disciples at [https://www.reddit.com/r/NonZeroDay/]

It has been perhaps one of the biggest crutches in my day to day life since then, and it has been a huge help to the ADHD neurospicy girlfriend.

TL;DR – No More Zero Days

The Rules:

1. No More Zero Days

Promise yourself that you will do one thing every day that takes you one step closer to your goal(s)

2. Be Grateful To The Three "You"s

Past Self: Thank your past self for the favours they did for you
Present Self: Do your future self a favour - they deserve it!
Future Self: Your absolute best friend, and a great person.

3. Forgive Yourself

It's okay to fuck up. Forgive your past self, and be a better friend for your future self.

4. Exercise and Books

Get your heart rate up and try to read when you can. Also the easiest way to avoid a Zero Day!

Since social media sites seem to be melting down faster than the glaciers these days, I thought I'd archive it here in case Reddit implodes. But all credit is due to [https://www.reddit.com/user/ryans01].

"Ouch. Sounds like you're having a tough time max. That sucks. I've been there, so I kinda know what you're talking about. I've been in the ever circling vortex of self doubt, frustration, and loathing. It's no bueno. I know. If you don't mind lemme tell you a couple things. You can read em if you want, read em again later if you feel like it. But honestly man, if I spend all this time typing this out to you and you don't let it be a little tinder for your fire, well, you're just letting us both down. And you don't HAVE to do that. You don't HAVE to do anything. But you get to choose. (Who am I? My name’s Ryan and I live in Canada. Just moved to a new city for a dream job that I got because of the rules below. I owe a lot of my success to people much cooler, kinder, more loving and greater than me. When I get the chance to maybe let a little bit of help out, it’s a way of thanking them. ) Rule numero uno - There are no more zero days. What's a zero day? A zero day is when you don't do a single fucking thing towards whatever dream or goal or want or whatever that you got going on. No more zeros. I'm not saying you gotta bust an essay out everyday, that's not the point. The point I'm trying to make is that you have to make yourself, promise yourself, that the new SYSTEM you live in is a NON-ZERO system. Didnt' do anything all fucking day and it's 11:58 PM? Write one sentence. One pushup. Read one page of that chapter. One. Because one is non zero. You feel me? When you're in the super vortex of being bummed your pattern of behaviour is keeping the vortex goin, that's what you're used to. Turning into productivity ultimate master of the universe doesn't happen from the vortex. It happens from a massive string of CONSISTENT NON ZEROS. That's rule number one. Do not forget. La deuxieme regle - yeah i learnt french. its a canadian thing. please excuse the lack of accent graves, but lemme get into rule number 2. BE GRATEFUL TO THE 3 YOU'S. Uh what? 3 me's? That sounds like mumbo jumbo bullshit. News flash, there are three you's homeslice. There's the past you, the present you, and the future you. If you wanna love someone and have someone love you back, you gotta learn to love yourself, and the 3 you's are the key. Be GRATEFUL to the past you for the positive things you've done. And do favours for the future you like you would for your best bro. Feeling like shit today? Stop a second, think of a good decision you made yesterday. Salad and tuna instead of Big Mac? THANK YOU YOUNGER ME. Was yesterday a nonzero day because you wrote 200 words (hey, that's all you could muster)? THANK YOU YOUNGER ME. Saved up some coin over time to buy that sweet thing you wanted? THANK YOU. Second part of the 3 me's is you gotta do your future self a favour, just like you would for your best fucking friend (no best friend? you do now. You got 2. It's future and past you). Tired as hell and can't get off reddit/videogames/interwebs? fuck you present self, this one's for future me, i'm gonna rock out p90x Ab Ripper X for 17 minutes. I'm doing this one for future me. Alarm clock goes off and bed is too comfy? fuck you present self, this one's for my best friend, the future me. I'm up and going for a 5 km run (or 25 meter run, it's gotta be non zero). MAKE SURE YOU THANK YOUR OLD SELF for rocking out at the end of every.single.thing. that makes your life better. The cycle of doing something for someone else (future you) and thanking someone for the good in your life (past you) is key to building gratitude and productivity. Do not doubt me. Over time you should spread the gratitude to others who help you on your path. Rule number 3- don't worry i'm gonna too long didnt' read this bad boy at the bottom (get a pencil and piece of paper to write it down. seriously. you physically need to scratch marks on paper) FORGIVE YOURSELF. I mean it. Maybe you got all the know-how, money, ability, strength and talent to do whatever is you wanna do. But lets say you still didn't do it. Now you're giving yourself shit for not doing what you need to, to be who you want to. Heads up champion, being dissapointed in yourself causes you to be less productive. Tried your best to have a nonzero day yesterday and it failed? so what. I forgive you previous self. I forgive you. But today? Today is a nonzero masterpiece to the best of my ability for future self. This one's for you future homes. Forgiveness man, use it. I forgive you. Say it out loud. Last rule. Rule number 4, is the easiest and its three words. exercise and books. that's it. Pretty standard advice but when you exercise daily you actually get smarter. when you exercise you get high from endorphins (thanks body). when you exercise you clear your mind. when you exercise you are doing your future self a huge favour. Exercise is a leg on a three legged stool. Feel me? As for books, almost every fucking thing we've all ever thought of, or felt, or gone through, or wanted, or wanted to know how to do, or whatever, has been figured out by someone else. Get some books max. Post to reddit about not caring about yourself? Good first step! (nonzero day, thanks younger me for typing it out) You know what else you could do? Read 7 habits of highly successful people. Read "emotional intelligence". Read "From good to great". Read “thinking fast and slow”. Read books that will help you understand. Read the bodyweight fitness reddit and incorporate it into your workouts. (how's them pullups coming?) Reading is the fucking warp whistle from Super Mario 3. It gets you to the next level that much faster. That’s about it man. There’s so much more when it comes to how to turn nonzero days into hugely nonzero days, but that’s not your mission right now. Your mission is nonzero and forgiveness and favours. You got 36 essays due in 24 minutes and its impossible to pull off? Your past self let you down big time, but hey… I forgive you. Do as much as you can in those 24 minutes and then move on. I hope I helped a little bit max. I could write about this forever, but I promised myself I would go do a 15 minute run while listening to A. Skillz Beats Working Vol. 3. Gotta jet. One last piece of advice though. Regardless of whether or not reading this for the first time helps make your day better, if you wake up tomorrow, and you can’t remember the 4 rules I just laid out, please, please. Read this again. Have an awesome fucking day ☺ tldr; 1. Nonzero days as much as you can. 2. The three you’s, gratitude and favours. 3. Forgiveness 4. Exercise and books (which is a sneaky way of saying self improvement, both physical, emotional and mental) Edit: Wow reddit gold? Thanks! No idea what to do with it or whats the deal but many thanks! Edit2: Someone asked what I meant by "much more when it comes to how to turn nonzero days into hugely nonzero days". The long and short of it is a simple truth, but it's tough to TOTALLY UNDERSTAND AND PRACTICE. It's this: you become what you think. This doesnt mean if I think of a tree, I'll be oakin' it by august. It means that the WAY you think, the THINGS you think of, and the IDEAS YOU HOLD IN YOUR MIND defines the sum total that is you. You procrastinate all the time and got fear and worry goin on for something? You are becoming a procrastinator. You keep thinking about how much you want to run that 5 k race in the spring and finish a champion? Are ya keeping it in mind all the time? Is it something that is defining your ACTIONS and influencing you DECISIONS? If it is, then you're becoming the champion you're dreaming about. Dreaming about it makes it. Think and it shall be. But do not forget that action is thought's son. Thoughts without actions are nothing. Have faith in whatever it is you've steeled your mind to. Have faith and follow through with action. Ok, Ryan that's a bunch of nice words n shit, but how does that help me turn slightly nonzero days into hugely nonzero days. Do you believe all these words you just read? Does it makes sense to you that you BECOME WHAT YOU THINK OF? Ask yourself: What do I think of? When you get home and walk in the door. (how quickly did you turn that laptop on? Did turning it on make you closer to your dreams? What would?) At the bus stop. Lunch break. What direction are you focusing your intentions on? If you're like I was a few years ago, the answer was either No direction, or whatever caught my eye at the moment. But no stress, forgive yourself. You know the truth now. And knowing the truth means you can watch your habits, read books on how you think and act, and finally start changing your behaviour. Heres an example: Feeling like bunk cause you had zero days or barely nonzero days? THINK ABOUT WHAT YOURE DOING. and change just a little bit more. in whatever positive direction you are choosing to go."

The four rules of No More Zero Days in poster form No More Zero Days computer desktop wallpaper

Changelog

2023-07-03 – initial

 
Read more...

from wfootest

Heading 1 (must include space)

heading 2

heading 3

italics

bold text

  • bullet 1
  • bullet 2
    • sub bullet 2
  • bullet 3
  1. list1
    1. sublist 1
  2. list2
  3. restartnumber

image alt text

Sample Link to somewhere

quoted text l1 quoted text l2

this is code in backticks

this is gated multiline
code that should all be 
left alone even if it includes <div class="blah">formatting</div>
 
Read more...

from MetalSamurai

Writing Freely

A test, writing a basic blog entry on Write Freely, the Fediverse aware ActivityPub supporting blogging platform.

I have resisted learning Markdown. Primarily through apathy, but more recently as I’ve come to the realisation that Swartz and Gruber ignored longstanding existing conventions for marking up plain text with asterisks, underscores and slashes to come up with their own clunky, redundant format instead.

I will shake my fist at these kids and yell at them to get off my lawn.

 
Read more...