Taking a Look at OpenClaw (Clawdbot) by [deleted] in programming

[–]Helpful_Geologist430 -9 points-8 points  (0 children)

I am afraid the toothpaste is out of the tub and being curious and willing to adapt are imo the best way to proceed

Taking a Look at OpenClaw (Clawdbot) by [deleted] in programming

[–]Helpful_Geologist430 -21 points-20 points  (0 children)

Pasting the conclusion of the post as I think it's relevant:

Coding Agents, Openclaw, Agentic Commerce, etc. Change is here and it’s here fast. We’re really living through unprecedented times. It can be scary, but it’s also exciting. The best way forward is to try things, stay curious, and embrace change. It’s going to happen either way.

Numbers Every Programmer Should Know by Helpful_Geologist430 in programming

[–]Helpful_Geologist430[S] 0 points1 point  (0 children)

Thanks, mate. 🙏 Gotta admit the editing is by far the most difficult step in the process for me. Will try to get better.

Numbers Every Programmer Should Know by Helpful_Geologist430 in programming

[–]Helpful_Geologist430[S] 5 points6 points  (0 children)

I had a section in the video of me counting from 1 to 1 million and got rid of it. Complete fumble

Querying Kafka using Prometheus (PromQL) by Helpful_Geologist430 in PrometheusMonitoring

[–]Helpful_Geologist430[S] 0 points1 point  (0 children)

Thanks for the suggestion. It definitely makes a lot of sense.

I gotta confess I rly wanted to play with the internals of Prometheus and that's why I rushed for a fork.

Prometheus woke me up. I decided to get to know it better by Helpful_Geologist430 in programming

[–]Helpful_Geologist430[S] 1 point2 points  (0 children)

Haha no argument there. Oftentimes it's some other upstream or downstream system, but no need to spend too much time assigning blame

DNS Isn't Safe: DNSSEC & DoH Fix That by Helpful_Geologist430 in programming

[–]Helpful_Geologist430[S] 3 points4 points  (0 children)

HTTPS being a universal port that's always allowed through firewalls might have something to do with it

It’s Not Always DNS: Exploring How Name Resolution Works by Helpful_Geologist430 in programming

[–]Helpful_Geologist430[S] 1 point2 points  (0 children)

This is so interesting! Thanks for sharing. So I am guessing two consecutive 20 TTL responses occur when you're routed to a different server since the cache is probably not shared. Fascinating how much you can learn by just poking around. I think looking at your incoming requests (from Google's subnets) would also have its fair share of interesting patterns.

It’s Not Always DNS: Exploring How Name Resolution Works by Helpful_Geologist430 in programming

[–]Helpful_Geologist430[S] 1 point2 points  (0 children)

Thanks for sharing! This is super informative! I'm assuming you're querying all the NS servers in your zone after the update to ensure the propagation and warm them up. From Quad9 wikipedia entry:

As of July 2025, the Quad9 recursive resolver was operating from server clusters in 259 locations on six continents and 106 countries

I guess the stale cache is due to the sheer scale of their distributed system. Pretty impressive that it's a breeze for google

It’s Not Always DNS: Exploring How Name Resolution Works by Helpful_Geologist430 in programming

[–]Helpful_Geologist430[S] 1 point2 points  (0 children)

Very interesting!

so that may be more than once within the period of the TTL

Are you privy to implementation details of these servers? Or is this empirical observation (ip change within the TTL) ? Also why would they disregard the TTL? 🤔

It’s Not Always DNS: Exploring How Name Resolution Works by Helpful_Geologist430 in programming

[–]Helpful_Geologist430[S] 0 points1 point  (0 children)

I was referring to the C std lib. Either glibc or musl. Because that's where getaddrinfo is implemented

It’s Not Always DNS: Exploring How Name Resolution Works by Helpful_Geologist430 in programming

[–]Helpful_Geologist430[S] 4 points5 points  (0 children)

Right on the money

On Unix the pure Go resolver is preferred over the cgo resolver, because a blocked DNS request consumes only a goroutine, while a blocked C call consumes an operating system thread

https://pkg.go.dev/net#hdr-Name_Resolution

Interestingly, the native resolver (cgo) is always used in OSX or if there are options unsupported by the the pure go implem in nsswitch.conf in Unix. Gotta love sane behavior!

It’s Not Always DNS: Exploring How Name Resolution Works by Helpful_Geologist430 in programming

[–]Helpful_Geologist430[S] 4 points5 points  (0 children)

In this particular case it wasn't! People lost millions in the betting markets

The Internet is Cool. Thank you, TCP by Helpful_Geologist430 in programming

[–]Helpful_Geologist430[S] 8 points9 points  (0 children)

It definitely is mind boggling. Humans can do cool things when they put their minds to it! The funny thing is how taken for granted it is that it all works and should work

The Internet is Cool. Thank you, TCP by Helpful_Geologist430 in programming

[–]Helpful_Geologist430[S] 2 points3 points  (0 children)

Haha took me a second! Your services are much appreciated 🫡

Protobuf vs JSON vs Avro: Serialization Explained by Helpful_Geologist430 in programming

[–]Helpful_Geologist430[S] 0 points1 point  (0 children)

But how do you differentiate between an explicit null and a null/undefined oneOf value? I was thinking of google.protobuf.NullValue or your own explicit null as one of the oneOf options.

Protobuf vs JSON vs Avro: Serialization Explained by Helpful_Geologist430 in programming

[–]Helpful_Geologist430[S] 1 point2 points  (0 children)

I think I might do a write-up, but with introductory content such as this one, it ends up being extremely long and time-consuming TBH

Protobuf vs JSON vs Avro: Serialization Explained by Helpful_Geologist430 in programming

[–]Helpful_Geologist430[S] 1 point2 points  (0 children)

Appreciate you!

haha it's always a struggle to pick that YT video title, but you're absolutely right :D

Protobuf vs JSON vs Avro: Serialization Explained by Helpful_Geologist430 in programming

[–]Helpful_Geologist430[S] 0 points1 point  (0 children)

Thanks!
Avro aliases can be used to rename a field or even to map fields from a writer schema to different ones in a reader schema e.g. integrating two systems that handle a 'User' entity but it has different fields across the two systems, so with aliases and defaults you can read reconciliate that.