Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
brandonbloom
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
13 ms
·
61.
▲
by
brandonbloom
9y ago
That the industry is finally maturing in to a field that capitalizes on the unique properties of its medium?
62.
▲
by
brandonbloom
9y ago
I agree that it's _easier_ for teams to have their own little fiefdoms, but not necessarily _better_. Shipping the org-chart is often a symptom of a leadership problem. When natural service boundaries exist, good leadership may choose
63.
▲
by
brandonbloom
9y ago
You've missed the chance to include namespaces on the standard set, but is it too late to reserve un-namespaced annotations for official use?
64.
▲
by
brandonbloom
9y ago
sigh I couldn't disagree any more strongly. 1) This isn't about "feelings", it's about the fact that speech _has consequences_. People get hurt both emotionally and physically because of things other people say, e
65.
▲
by
brandonbloom
9y ago
The war advocacy example is a straw man. I don’t even know where to start with the rest of your comment built around that premise.
66.
▲
by
brandonbloom
9y ago
As an (unwilling) Comcast user, I purchased my own modem because your rental rates are preposterous. However, I wish I didn't have to think about this at all. If you force me to upgrade a modem I've purchased, I'll be very an
67.
▲
by
brandonbloom
9y ago
That's not how the law works; intent matters. It's not enough for the tests to pass or for some proof to hold. These things are artifacts of some underlying human objectives.
68.
▲
by
brandonbloom
9y ago
"fast lanes" is just a euphemism for throttling. It's still a protection racket.
69.
▲
by
brandonbloom
9y ago
If f were deleted, it would still be in memory unless you explicitly call ns-remove to clean it up. In practice, this is rarely an issue, but I do wish the experience was a little cleaner there. The same things do apply to integers, but if
70.
▲
by
brandonbloom
9y ago
(require '[foo :refer [f]]) ; edit f in foo.clj (require '[foo :reload]) (f 1) ; should call NEW f. Node doesn’t have a reload construct. If you hack it in by mucking with the module cache, you still won’t ge
71.
▲
by
brandonbloom
9y ago
Yes, but it’s fast!
72.
▲
by
brandonbloom
9y ago
These are old tired arguments. I prefer being forced to keep my program simple by making complexity intolerable over encapsulating it. Your preference may differ. I find I have to refactor my dynamically typed programs less frequently than
73.
▲
by
brandonbloom
9y ago
Clojure is following in the tradition of lisps that do this right. The important bit is the extra indirection on top-level names. I wrote more about it here a long time ago: https://www.brandonbloom.name/blog/2012/
74.
▲
by
brandonbloom
9y ago
The Haskell REPL is pretty good for a static language, but the experience is dramatically different to how a Clojure programmer would use want to use it. To be fair, Node and Python also have totally not usable REPLs for this style.
75.
▲
by
brandonbloom
9y ago
Clojure has type hints, I can add ^int to a symbol and get some “static typing”. That is: shitty static typing. However, this is about the same as the average Any type in a static language. In order to implement a good Dynamic type, you’d n
76.
▲
by
brandonbloom
9y ago
It's not surprising though, since usefully typing control effects with delimited continuations would require at least answer type polymorphism, but even more usefully something like session types.
77.
▲
by
brandonbloom
9y ago
And get works on more types, like vectors. It also returns nil instead of throwing: cljs.user=> (get [:x :y :z] 1) :y cljs.user=> (get 5 :x) nil
78.
▲
by
brandonbloom
9y ago
The Edn type given here is closed. That's a correct definition of Edn, which is a closed sum. Edn accomplishes extensibility via the Tag type. However, not all Clojure data is Edn. In order to implement the clmap and clget functions wi
79.
▲
by
brandonbloom
9y ago
Except I really don't have that choice because the language and library design matters. If I chose to use ByteString for everything, I'd first have to implement Tcl in order to get anything done. But, yes, you're right, most
80.
▲
by
brandonbloom
9y ago
> A dynamically typed language is a statically typed language with precisely one type. While technically true, saying this is about as useful as saying "You can do anything in any Turing-complete programming language."
81.
▲
by
brandonbloom
9y ago
EDIT: deleting this post because it was needlessly counter-inflamatory.
82.
▲
by
brandonbloom
9y ago
I'm not saying that Reason doesn't deserve some of the credit, but surely some of this must be attributable to relative maturity of Messenger. Right?
83.
▲
by
brandonbloom
9y ago
This is a classic static/dynamic problem. Luckily, in the case of React, there may be a really good solution that covers most necessary use cases. First, an analogy: Consider Ruby's method_missing and corresponding respond_to? met
84.
▲
by
brandonbloom
9y ago
That's what all the Facebook & React folks were arguing. Facebook doesn't want to do unconditional patent grants. Plus, they decided that the weak patent retaliation clause in Apache 2 license wasn't strong enough. This n
85.
▲
by
brandonbloom
9y ago
It's explained a bit here: https://www.postgresql.org/docs/9.6/static/plpgsql-implement... In short, if your parameters are highly dynamic, plan caching will be disabled. This is still better than dynami
86.
▲
by
brandonbloom
9y ago
> when moving beyond the complexity of "select this user record") I ran into issues with yesql's lack of power. This is definitely true, however, I'd like to point out that static queries (either Yesql-style, or even
87.
▲
by
brandonbloom
9y ago
Yeah, this is exactly it. Atoms were added as a cheaper alternative to Refs for when you didn't need transactions, just compare-and-swap. Turns out that atoms work well enough for even huge single-JVM systems, and are much simpler.
88.
▲
by
brandonbloom
9y ago
By all means, lock your machine when you walk away from it. Just don't pretend that would provide any protection against strangers walking through your office for even a few seconds. Here's a USB dongle that's actually a key-
89.
▲
by
brandonbloom
9y ago
> you can think about generics as a better kind of interfaces No, you can't, because generics don't provide the key feature of interfaces: run-time dynamism. You could make a case that static polymorphism and dynamic polymorphi
90.
▲
by
brandonbloom
9y ago
This is only a tiny piece of the experience though. What about journalctl? systemctl? etc? That stuff is alien vs tail -f or ./just/run/some.sh which works with everything _except_ systemd.
More ›