Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
mrkeen
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
43 ms
·
781.
▲
by
mrkeen
2y ago
The first question I always ask about concurrency is: can I exploit immutability? Once something doesn't change, your copy is a no-op, so size doesn't really matter.
782.
▲
by
mrkeen
2y ago
My Haskell attempt at Wavelet Matrices: https://github.com/jahaynes/waveletto
783.
▲
by
mrkeen
2y ago
We breathe the same air.
784.
▲
by
mrkeen
2y ago
Some light reading on the 'thankful' angle. Not that it matters one bit. https://edition.cnn.com/2025/02/28/politics/volodymyr-zelens...
785.
▲
by
mrkeen
2y ago
I think the above comments are because JIT gets so much positive press, someone wandering in from outside could be mistaken for thinking that JIT isn't coming 2nd in a two-man race with AOT. I've been around long enough to hear th
786.
▲
by
mrkeen
2y ago
Is your data already JSON at rest? Because encoding/decoding CBOR should easily beat encoding/decoding JSON.
787.
▲
by
mrkeen
2y ago
I'd love to get some examples of Rust's best-practice shared-mutable-state code. So far when I ask around here I get answers equivalent to "Rust guarantees that you aren't doing that."
788.
▲
by
mrkeen
2y ago
It's just the realities of participating in a distributed system. There's no 'current state' or 'now'. You could make the mental model easier to understand by centralising the state and switch to pessimistic l
789.
▲
by
mrkeen
2y ago
Re: 'synchronized' and data. It is a good distinction to make because sync does indeed lock control, not data. With ACID transactions or STM, an atomic section will run as-if-sequentially, full stop, since the data is locked. W
790.
▲
by
mrkeen
2y ago
If you write: int balance = 0; int get {...} void set(int balance) {...} void withdraw(int amt) { if amnt <= balance { balance -= amnt; } } it will be flagged immediately in code review as a race condition an
791.
▲
by
mrkeen
2y ago
Yeah, like pretending you aren't
792.
▲
by
mrkeen
2y ago
Once they expose data structures that allow generic uses like "if size<5, add item" I'll take another look. Until then, their definition of thread-safety isn't quite the same as mine.
793.
▲
by
mrkeen
2y ago
Yeah, our software politely waits for one customer to finish up with their GETs and POSTs before moving onto the next customer. We have almost one '9' of uptime!
794.
▲
by
mrkeen
2y ago
It's not that bad. We just don't have the equivalent of GC for multi-threading yet, so the advice necessarily needs to be "just remember to take and release locks" (same as remembering to malloc and free). Hopefully som
795.
▲
by
mrkeen
2y ago
In my experience: 1) We are surrounded by distributed systems all the time. When we buy and sell B2B software, we don't know what's stored in our partners databases, they don't know what's in ours. Who should ask whom,
796.
▲
by
mrkeen
2y ago
This is rich coming from Captain "I'm hearing...", "Folks are saying...", "Everyone's telling me..."
797.
▲
by
mrkeen
2y ago
> I scarf ink-black spaghetti al nero di seppia, savor a Lamezia red and drizzle olive oil on Calabrian ’nduja meatballs. > “This cuisine dates back millennia,” declares a proud Antonio Montuoro Apart from the pasta, the bulk of the d
798.
▲
by
mrkeen
2y ago
> I highly recommend reading the two books I recommended From "Object-Oriented Analysis and Design with Applications" (3rd edition) by Grady Booch: p.52: Separation of Concerns We do not make it a responsibility of the Heat
799.
▲
by
mrkeen
2y ago
FWIW Uncle Bob has been preaching functional for more than 10 years now. https://youtu.be/7Zlp9rKHGD4
800.
▲
by
mrkeen
2y ago
This is what the soft in software means. It needs to be able to be adapted and change with its requirements. My favourite story from a previous job was working with high-speed scanners, OCR, data quality, typo correction - that kind of thi
801.
▲
by
mrkeen
2y ago
Do you have an example of the expression problem that can't (yet) be solved in today's programming languages, but could theoretically be solved?
802.
▲
by
mrkeen
2y ago
It's because runtime checking is trivial. We can all code up something to crash-if-condition, or except-if-condition, or log-if-condition.
803.
▲
by
mrkeen
2y ago
The comparison to English grammar is unnecessary. I didn't use it in my argument and you said it doesn't work that way either, so when you arrive at > The order is the object noun, and is what is being canceled. Thus, order.ca
804.
▲
by
mrkeen
2y ago
Then you have to double-up all your higher-order functions, like Java 8 futures with their thenApply vs thenAccept.
805.
▲
by
mrkeen
2y ago
I read Clean Code and don't remember a single thing from it. To be fair it was a while ago. But the SOLID and Clean Architecture principles inform me almost daily.
806.
▲
by
mrkeen
2y ago
I highly recommend a video if you don't mind the format: https://youtu.be/zHiWqnTWsn4?t=3134 The slide at 52:14 is on the SOLID principles, the first one is on SRP which gives pretty understandable advice about whether
807.
▲
by
mrkeen
2y ago
> Your Order class has a collection of Product items, but you can update an order, cancel a order, repeat an order, etc. This behavior should be member functions. This is how to fuck up OO and give it a bad name: order.update(..) &#x
808.
▲
by
mrkeen
2y ago
If you have a 2-4 line function and you spot this, you can trivially remove it.
809.
▲
by
mrkeen
2y ago
Why not both?
810.
▲
by
mrkeen
2y ago
> When I develop a feature, I usually follow these steps: 1 Make it work: a mandatory, crappy implementation that gets the job done. 2 Make it right: a nice-to-have step, improving code maintainability and reusability. 3 Make it
More ›