https://behavioralscientist.org/why-we-spiral/
What would you do?
>life gives you a problem you can never fix
>dreams are no longer relevant
>you did nothing wrong, not even responsible for it
>how do you accept it?
>how do you accept that life will never be "normal" again?
>how do you accept an unforgiving problem?
> How do you accept that your normal days are limited.
>if you know, you know
>cherish every moment
>some unfortunate souls have no idea what's waiting around the corner
>reminds me of Kobayashi Maru
>the no-win scenario from Star Trek
>in the words of Spock:
>"the purpose of the test is to experience fear in the face of certain death,
>to accept that fear, and maintain control of oneself"
>what do you even do with the remaining time?
>ignore the problem?
>or think about it every single day?
>Do you talk to your loved ones about it, or push them away so they don’t see you as a burden?
>Is there even a point in doing the talking stuff?
> If you are reading this and you somehow know me, this is not about me
> Peace :)
I quit reddit
>open reddit main feed
>ragebait on every square inch
>NPC drama: NPC1 cheats on NPC2, NPC3 posts their hot take
>"you MUST agree with what’s popular right now"
>scroll more
>recycled pet video #9999 with the same tired captions
>celebrity relationship gossip like it’s breaking news
>"streamer cried" front page, NPCs pretending it matters
>done wasting brain cells, could’ve used them for something noble like Call of duty missions
Bye reddit
28
> Just turned 28.
> ~32 years left to exit game.
> Glad blue is alive and still chonky.
> I could say the simulation is boring, but i will miss this stability in worse times.
> Boring is fine.
GitLab Code Quality in the Multiverse of Madness
> Me
> gitlab codequality widget in gitlab MR view
> Displays "Code Quality hasn't changed."
> Sus
> Starts debugging
> Checks if the codequality schema is valid
> Output schema valid
> Visible confusion
> Checks gitlab docs
> After 2 days of debugging i was able to fix it
Whats needed for gitlab to display codequality MR widget?
> Both base and target branch must have branch pipelines, not MR pipelines
> The codequality json file must have schema https://docs.gitlab.com/ci/testing/code_quality/#code-quality-report-format
> Both base and target branch must have codequality artifact
> For me, every condition was fulfilled.
What went wrong ?
Even though the schema is valid, gitlab doesn't specify this key info in their docs.
check_name:
A unique name representing the check, or rule, associated with this violation.
> This parameter check_name should never have any spaces in it
> Having spaces in this field will silently fail the codequality report
> bYE.
We Won Big
>feel like i don't appreciate the things i have enough
>one of them is my pet, feathered friend blue
>he fell sick in dec 2024
>took him to a local vet
>prescribed antibiotics without any diagnosis
>symptoms worsened
>literally begged many vets online/offline to treat him
>met with silence, nobody cared
>one of them had the audacity to say i had to let him die and dispose it
>found fur and feather pet clinic online
>me and my nephew vetri took blue there
>thank you vetri — helped me put him in the cage, take him to salem, find the clinic, everything
>met dr. mohan raj there
>thank you doctor — competent, objective, accurate diagnosis
>liver function test done
>diagnosed blue with liver issue
>advised liver supplements
>during this, blue fell very sick again
>admitted in the same clinic for 5 days
>they took good care of him and made him recover
>started liver supplements
>2 doses per day
>i had to hold him with a towel
>give medicine through syringe without causing aspiration
>6 months passed
>this month symptoms disappeared
>feels like we won this battle
>blue is one of the reasons i want to stay in this world
>human relationships mean nothing to me
>stay strong lil bro blue
>love u for your existence, you have no idea how much you mean to me ;)
Expense tracker #62829 just dropped. Who asked?
>every time I doomscroll, there's a new expense tracker
>starter pack: add expense, select category, throw in fancy charts
>why tho?
>no one in their right mind logs expenses manually
>life is already boring.
>these apps aren't solutions, they're band-aids over existential dread
>every transaction already goes through the bank
>just give us one simple API to fetch them
>would instantly wipe out the TODO app epidemic
>went to check my bank transactions
>can't paste password
>"for security" lol okay
>I use a password manager
>had to open inspect element and inject it manually
>facepalm.png
>banks need to do better
SPF check for our simple SMTP receiver
Why?
> bored.
The issue:
> Alice connects to my server because she wants to send an email to bob@myserver.com
> She sets the FROM header to alice@gmail.com
> Says it's from Gmail
> I have no way to know if it actually came from Gmail
> Need a way to verify it
SPF:
> I ask Gmail for a list of IP addresses they send email from
> To get that info, I need to query the TXT record for the gmail.com domain
> I find "v=spf1 redirect=_spf.google.com"
> Another TXT record query for _spf.google.com
> I find "v=spf1 include:_netblocks.google.com include:_netblocks2.google.com include:_netblocks3.google.com ~all"
> Here we go again
> Query all three netblocks
> Finally get:
> "v=spf1 ip4:35.190.247.0/25 ip4:64.233.160.0/19 ip4:66.102.0.0/20 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:74.125.0.0/16 ip4:108.177.8.0/21 ip4:173.194.0.0/16 ip4:209.85.128.0/17 ip4:216.58.192.0/19 ip4:216.239.32.0/19 ~all"
> Once I get the IP ranges, I can finally compare the sender’s IP
> this is how the SPF works
> now i used pydig to recursively gather the ip ranges
> compared it with the client ip
> implemented spf validation
> find it here
> https://github.com/naveen17797/simple-smtp-receiver/releases/tag/implement-spf
> No more forged emails
> Bye
SMTP mail receiver from scratch -
Why?
> felt like i lost my curiosity
> less free time / number of pigeons to take care of
> wanted to build something new
Objective
> A program which can receive email
What i don't want
- validation code
- multiple threads
- authentication stuff
How does it work:
- client connects to server and sends a command
- each command gets acknowledged by server with a success code
- if something raises error, then the connection gets dropped.
Source:
https://github.com/naveen17797/simple-smtp-receiver/releases/tag/init (LLM Generated code)
Stuff i found interesting:
> The SMTP server uses . (dot) as a signal to stop receiving DATA part of the email
> So if i manage to put a dot in a newline on email body, this will probably strip the email up to that part.
> How does SMTP prevents that from happening?
> When you send a dot on new line in the email, SMTP client automatically adds a dot and server removes them upon receiving it.
Tough times
For almost three months, I have been fighting to save my pigeon, my feathered friend, Blue. I’ve been giving him medications twice a day, and I can’t even remember the last time I had a proper night’s sleep.
Then, last Thursday, another one of my feathered friends, Delta, fell ill. I took him to one of the best vets I could find (I’ll write another blog post later about how I discovered this great hospital). After examination, he was diagnosed with crop stasis caused by Candida albicans. He is now undergoing treatment.
I don’t know how I’m going to get through these days. My entire world feels like it’s falling apart, and I feel powerless.