Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
bccdee
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
13 ms
·
181.
▲
by
bccdee
10mo ago
Conversely, poorly-structured microservices are just monoliths where most of the code is in other repositories.
182.
▲
by
bccdee
10mo ago
Your solution is, "just ship worse code, it's probably fine"? I think it's your standards that have fallen 90%…
183.
▲
by
bccdee
10mo ago
I don't know if that example is real, but if it is, that's exactly the reason I find AI tools irritating. You do not need six different ways to handle the connection being down, and if you do, you should really factor that out int
184.
▲
by
bccdee
10mo ago
Seems simpler just to use `json.load`.
185.
▲
by
bccdee
10mo ago
That's a bad thing, though. You should not be `eval`-ing your config file, much less untrusted messages.
186.
▲
by
bccdee
10mo ago
Serialization & deserialization, for instance. Macros are great for generating ser/de hooks automatically. Thing is, other languages do this with metaprogramming or explicit codegen. Everyone needs metaprogramming sometimes—that&#x
187.
▲
by
bccdee
10mo ago
Perhaps you have—or perhaps you've seen this construction instead, where (despite also using "or") the phrase on the other side of the dash is properly parenthetical and has its own subject.
188.
▲
by
bccdee
10mo ago
The biggest issue will be that what you're describing will be 100x buggier than any currently existing application. If forms are buggy now, what makes you think that moving the buttons around non-deterministally would improve this?
189.
▲
by
bccdee
10mo ago
"Copilot, make me a drawing app." MS Paint opens. "No, Copilot! Make me a drawing app with feature X." Fans turn on. Laptop gets hot. Ten minutes pass as the entire MS Paint codebase is downloaded and recompiled. Fi
190.
▲
by
bccdee
10mo ago
Only if the buttons on the iPhone aren't constantly being rearranged by a chatbot. Then they'll never learn.
191.
▲
by
bccdee
10mo ago
> Users get personalized interfaces without custom code. Personalized interfaces are bad. I don't want to configure anything, and I don't want anything automatically configured on my behalf. I want it to just work ; that kind
192.
▲
by
bccdee
10mo ago
To be fair, LLMs usually use em-dashes correctly, whereas I think this document misuses them more often than not. For example: > This can be extraordinarily powerful for summarizing documents — or of answering more specific questions of
193.
▲
by
bccdee
10mo ago
Uncoloured async is possible, but it involves making everything async. Crossing the sync/async boundary is never trivial, so languages like go just never cross it. Everything is coroutines.
194.
▲
by
bccdee
10mo ago
I think talking about colouring often misses the point. Sync & async code are fundamentally different; languages without coloured functions make everything async. Everything in go (for instance) is running in an async runtime, and it&#x
195.
▲
by
bccdee
10mo ago
> These same voices overuse the phrase “AI slop” to disparage the remarkable images, documents, videos, and code that AI models produce at the touch of a button. oh i find them remarkable alright. how is it possible to be this out-of-tou
196.
▲
by
bccdee
10mo ago
> Engineers don't try because they think they can't. This article assumes that AI is the centre of the universe, failing to understand that that assumption is exactly what's causing the attitude they're pointing to. T
197.
▲
by
bccdee
10mo ago
> Admitting you were wrong requires not erasing the evidence of what you said. I don't think there's really an obligation to announce to newcomers, "hey, an earlier version of this post was overly inflammatory." But y
198.
▲
by
bccdee
10mo ago
> harder to trace when you're debugging "why did this transaction get coded wrong" and the answer spans 6 different step outputs That's definitely a pain, but I'm not sure it's easier when this is one variab
199.
▲
by
bccdee
11mo ago
Clean Code is different. Clean Code suggests 2-5 line functions. A 70-line limit is worth considering; 5 lines is not.
200.
▲
by
bccdee
11mo ago
Indeed, a lot of it is pulled from NASA's "Power of Ten – Rules for Developing Safety-Critical Code." The original tigerbeetle doc cites them explicitly: https://github.com/tigerbeetle/tigerbeetle/bl
201.
▲
by
bccdee
11mo ago
> Each step modifies state that the next step needs. I've been bitten by this. It's not the length that's the problem, so much as the surface area which a long function has to stealthily mutate its variables. If you have a
202.
▲
by
bccdee
11mo ago
None of the graphics libraries you've ever used were built with mixins, decorators, or multiple inheritance? I confess I never went too deep with GUI toolkit programming, but Swing, for instance, definitely uses decorators (e.g. JLay
203.
▲
by
bccdee
11mo ago
A lot of the underlying intuition behind OOP is expressed as "cells exchanging messages like an organism" and such, and I think that implies the distribution of state among a variety of small, special-purpose state-managers. More
204.
▲
by
bccdee
11mo ago
Languages like Go and Rust have module-scoped visibility, though. This is definitely encapsulation, but I wouldn't call it inherently OO.
205.
▲
by
bccdee
11mo ago
To be fair, the compiler generally forces you to keep the forwarding methods updated. It can be irritating, but there's little risk of forgetting in a statically-typed language. Manual forwarding also operates as a forcing function to
206.
▲
by
bccdee
11mo ago
> Every display object has a x y width and height for example. Intuitively¹, I feel like this is something that should be separated out into a BoundingBox object. Every component that needs a bounding box satisfies a small `HasBoundingBo
207.
▲
by
bccdee
11mo ago
Yeah, and in Rust you can catch the panic from `unwrap()` with panic::catch_unwind. You just don't, for the same reason you don't catch SystemExits. If a SystemExit is being thrown, it's because you want to crash; if you don&
208.
▲
by
bccdee
11mo ago
What UB? This has nothing to do with UB; it'd be well-defined in any language. It's equivalent to this python snippet: config = load_config() if !config.valid(): sys.exit(1) # config is corrupt. restart pod Did Pytho
209.
▲
by
bccdee
11mo ago
This crash gets caught and handled too: the process exits, the kubernetes pod fails, and the deployment recreates it from scratch. Panicking like this is a request for the infrastructure to turn the whole service off and on again, which is
210.
▲
by
bccdee
11mo ago
I think you can have the discussion, but you also have to be careful about how you have it. Markdown is a family of languages; if you want to evaluate markdown against something like asciidoc for a particular use case, you have to pick the
More ›