Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Twisol
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
25 ms
·
241.
▲
by
Twisol
4y ago
Good question! In this context, we're relating a system of proofs to the properties of a desired model. If you start from a sufficiently expressive model and try to design a proof system where valid proofs correspond to true properties
242.
▲
by
Twisol
4y ago
Well, I don't think you can have transactions open across logical databases any more than you can join across them. And you might anyway design the relevant component to serve multiple clients simultaneously, so you could still be exec
243.
▲
by
Twisol
4y ago
To put it differently, logical separation of state doesn't have to mean physical separation of state. One Postgres instance can hold your whole app's state -- just, put each service's data into a separate database within
244.
▲
by
Twisol
4y ago
For those wondering, the quote in the submission is in the first paragraph of the Preface, page vii.
245.
▲
by
Twisol
4y ago
Dark mode Firefox here, light text on dark background.
246.
▲
by
Twisol
4y ago
Having left and (briefly) returned to the same team, absolutely this, 100%. People typically avoid touching functionality they don't understand, for (legitimate) fear of breaking it in unknown ways. New features and changes are built u
247.
▲
by
Twisol
4y ago
Arguably, the writer confused "abstract" for "generic". > The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise. (Djikstra)
248.
▲
by
Twisol
4y ago
> Also avoid traits and mixins (run from the dark magic) I've seen the word "trait" used to mean different things in different language communities. Do you mean it like in Rust, in Ruby, in Scala, or in C++? (Since you men
249.
▲
by
Twisol
4y ago
Yeah, you can't always drop articles -- like I said, it usually happens at the very start of a clause, and not at all interior to one. And whether it's advisable to do this is up for debate; you make a good point about accessi
250.
▲
by
Twisol
4y ago
In this case, it's grammatical, just for a different reason. You can sometimes drop the leading article or pronoun of a clause -- don't know why, just happens sometimes. ("I" don't know why, "it" just happ
251.
▲
by
Twisol
4y ago
It's worth noting that hierarchy itself isn't the problem, only hierarchy that isn't necessary for identifying a resource. If you happen to start comments on every post from 0 -- something like a (post_id, comment_id) primary
252.
▲
by
Twisol
4y ago
Software spends a significant amount of its lifecycle in a state of "not done" and/or "not working". The possibility of getting software to "done" or "working" hinges critically on the ability of
253.
▲
by
Twisol
4y ago
I had a similar thought when I learned about e-graphs. I'm not sure yet, but I think congruence closure is a slightly different problem from the one Prolog unification solves. In particular, if you tell an e-graph that `f(x) = g(y)`, i
254.
▲
by
Twisol
4y ago
0.y.z is kind of an "all bets are off" situation in semver: https://semver.org/#spec-item-4 > Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be
255.
▲
by
Twisol
4y ago
The initial board is the starting axiom, and you want to prove (derive) a completely filled board. It's easier to think model-theoretically about games like this, but I've found that as I learn a logic puzzle over time, I build up
256.
▲
by
Twisol
4y ago
> Of course there is at least one such multiple: 103 * 618. 103 * 618 is divisible by 2, which is a prime strictly smaller than 103. Every multiple of 618 is divisible by 618, and so is also divisible by anything that divides 618. A co
257.
▲
by
Twisol
4y ago
The borrow checker statically prevents having mutation and aliasing at the same time. Aliasing is when two names refer to the same state; mutable aliases make it possible for "someone else" to act on that state while you're u
258.
▲
by
Twisol
4y ago
> If computation is complex and requires multiple subfunctions that you don't want to leak to the global namespace In cases like this, I still use a top-level free function, but it just instantiates a (private) class and invokes tho
259.
▲
by
Twisol
4y ago
> in the JVM classes are an obligation You're always free to use a final class with a private constructor as a namespace for static methods. Many classes in the standard library are of this kind, including `Math`. It's not idea
260.
▲
by
Twisol
4y ago
> People are always worried about DSLs, but most projects end up with their own DSLs. They're just often built out of functions, methods, objects, etc. I wish there was a kind of super-upvoting that added one to the font-size of the
261.
▲
by
Twisol
4y ago
Hah. From the article: > Of course, the last thing I did was changing the constants to decimal - they look way more scary this way ;>
262.
▲
by
Twisol
4y ago
Cool! I'd be curious how large the codebase is, but it's cool to hear that something like Lightroom exists at all.
263.
▲
by
Twisol
4y ago
I'll wear that; I'd heard of Lightroom in the context of Lua, but I've never used it and don't know what it's for. Looks like its plugin architecture is a major selling point? Seems like a great fit for Lua.
264.
▲
by
Twisol
4y ago
True! I think pattern matching and the high-powered static type system really pull a lot of weight here, though. Haskell's types are a whole other dimension of domain modeling. You can encode algebraic data types as pure lambdas, b
265.
▲
by
Twisol
4y ago
As a mild counterpoint, I'm anything but upset with the recent additions to Java. It feels like it's becoming a simpler language, as in many cases, it takes much less effort to tell the compiler what I want to say. The conceptua
266.
▲
by
Twisol
4y ago
3Blue1Brown's whole catalog is great. https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw Mathologer: https://www.youtube.com/c/Mathologer PBS Infinite Series is not so infinite (they&#x
267.
▲
by
Twisol
4y ago
That sounds like a problem for the FAANG, not for the author. (My old workplace used a third-party web filter that ended up blocking my own website. I sent a few requests over the years to unblock a few sites; as far as I recall, they all e
268.
▲
by
Twisol
4y ago
> If goto is easily available in the high level language then creating a state machine is trivial I guess. It's still painful, because whichever state you're in probably cares about different data. Some data only needs to exist
269.
▲
by
Twisol
4y ago
All flow control ultimately boils down to `goto`; it's how we crystallize particular usage patterns that makes it safer. Importantly, optimizing tail calls doesn't change the fact that you could always call another function before
270.
▲
by
Twisol
4y ago
Unfortunately, I've seen plenty of Java 8 code where people did not "stop five minutes to think about it". I don't think any language can protect us from ourselves. It's fair that you've found sensible ways to
More ›