∏ρ؃uñçτØρ Øπτµç∑ | 👁🗨››››
Photo
Telegram
oleg_log
Если скучно, почитайте историю сооснователя Cloudflare. Талантливый был человек.
the resident genius, the guy who could focus for hours, code pouring from his fingertips while death metal blasted in his headphones. He was the master architect whose vision…
the resident genius, the guy who could focus for hours, code pouring from his fingertips while death metal blasted in his headphones. He was the master architect whose vision…
Good one. Have literally the same feedback. Cool tech but mostly useless.
https://johnjames.blog/posts/graphql-the-enterprise-honeymoon-is-over
https://johnjames.blog/posts/graphql-the-enterprise-honeymoon-is-over
johnjames.blog
GraphQL: the enterprise honeymoon is over
A production-tested take on GraphQL in enterprise systems, why the honeymoon phase fades, and when its complexity outweighs the benefits.
https://codemanship.wordpress.com/2025/12/14/the-gorman-paradox-where-are-all-the-ai-generated-apps/
Codemanship's Blog
The Gorman Paradox: Where Are All The AI-Generated Apps?
In 1950, while discussing the recent wave of flying saucer reports over lunch with colleagues at Los Alamos National Laboratory in New Mexico, physicist Enrico Fermi asked a simple question. There …
Hey look, this is just a normal programming language
https://www.phoronix.com/news/First-Linux-Rust-CVE
https://www.phoronix.com/news/First-Linux-Rust-CVE
Phoronix
Linux Kernel Rust Code Sees Its First CVE Vulnerability
The first CVE vulnerability has been assigned to a piece of the Linux kernel's Rust code.
Jokes aside. Any recommendations on image resizing in Go?
Ideally without CGO, might be a standalone service(systemd) or as a proxy.
Thanks in advance.
Ideally without CGO, might be a standalone service(systemd) or as a proxy.
Thanks in advance.
> The main challenge I’ve encountered with this in the past is that people will want to refactor the code to remove the clutter. It can take some convincing.
> This trick isn’t a panacea (nothing is), but it definitely helps
https://commaok.xyz/post/security-through-redundancy/
> This trick isn’t a panacea (nothing is), but it definitely helps
https://commaok.xyz/post/security-through-redundancy/
commaok.xyz
Security through intentional redundancy
When writing a service, it’s very easy to accidentally forget to check permissions or ownership of an object.
This code has a gaping security hole in it:
func (s *Server) deletePhoto(w http.ResponseWriter, r *http.Request) { id := r.URL.Query().Get("id")…
This code has a gaping security hole in it:
func (s *Server) deletePhoto(w http.ResponseWriter, r *http.Request) { id := r.URL.Query().Get("id")…
I was today years old when I have discovered Scala2 implicit parameters.
Absolutely disgusting. Like ultimately pro max disgusting.
The funniest thing (to me only?) it got redesigned in Scala 3 with „given” keyword.
Absolutely disgusting. Like ultimately pro max disgusting.
The funniest thing (to me only?) it got redesigned in Scala 3 with „given” keyword.
Go ahead, self-host Postgres
Love this "The real operational complexity" paragraph.
https://pierce.dev/notes/go-ahead-self-host-postgres
Love this "The real operational complexity" paragraph.
https://pierce.dev/notes/go-ahead-self-host-postgres
Okay, I outsmarted myself. It’s not that I’m in a deep trouble, but it’s something that adds more and more friction and I start hating that.
Here’s the code:
BlobID values are stored in a JSONB column in Postgres, just for the context.
The problem is with
I want to get rid of these two functions and simply store the
The question is: how can I make such migration in the simplest way? I can see about 2-3 possible solutions, and I’m curious what you’d suggest and why.
Thanks in advance.
Here’s the code:
type BlobID uint64
func (id BlobID) MarshalJSON() ([]byte, error) {
return []byte(`"` + id.String() + `"`), nil
}
func (id *BlobID) UnmarshalJSON(b []byte) error {
idd, err := ParseBlobID(string(b[1 : len(b)-1]))
*id = idd
return err
}
BlobID values are stored in a JSONB column in Postgres, just for the context.
The problem is with
String() and ParseBlobID() (the implementation isn’t important, but they’re obviously not just thin wrappers around strconv).I want to get rid of these two functions and simply store the
uint64 as a string (i.e. just use strconv).The question is: how can I make such migration in the simplest way? I can see about 2-3 possible solutions, and I’m curious what you’d suggest and why.
Thanks in advance.
> My experience with writing Rust software tends to be once you've got it working, it stays working.
Somehow, this phrase made me giggle.
https://blog.rust-lang.org/2025/12/19/what-do-people-love-about-rust/
Somehow, this phrase made me giggle.
https://blog.rust-lang.org/2025/12/19/what-do-people-love-about-rust/
blog.rust-lang.org
What do people love about Rust? | Rust Blog
Empowering everyone to build reliable and efficient software.
Ignoring case in configuration files is bad. Really, what problem are you trying to solve?
Does this happen that often? Is it really hard to switch to normal (lower, hah) casing?
I don’t understand such simplifications that try to solve imaginary problems.
LOG_PRETTY=trUE
Does this happen that often? Is it really hard to switch to normal (lower, hah) casing?
I don’t understand such simplifications that try to solve imaginary problems.
And I think this is beautiful
func ctx2fn(ctx context.Context) func() context.Context { return func() context.Context { return ctx } }