Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
unscaled
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
52 ms
·
361.
▲
by
unscaled
5y ago
I don't think it is _just_ as brittle. There are two mitigating factors: 1. XChaCha20-Poly1305 (I think you _should_ be using the extended nonce version if you're going for a random nonce) ihas twice the amount of bits of AES-GCM.
362.
▲
by
unscaled
5y ago
I think it's important to clarify the statement above, for anymore who is not familiar with the issue and keeps misusing AES-GCM. AES-GCM has a relatively short IV (= nonce): only 96 bits (12 bytes). To make things worse, if an IV ever
363.
▲
by
unscaled
5y ago
While Level 3, as currently implemented by some APIs, is a cargo-culted version of Fielding's idea of HATEOAS, Level 1 and 2 of the model have some usefulness for some types of APIs. What you get by implementing what is called a "
364.
▲
by
unscaled
5y ago
The blog post explicitly mentions the Richardson Maturity model. He also says that even systems or designs are consciously trying to acheive Level 3 in the Richardson model (HATEOAS) such as JSON-LD with Hydra or JSON:API are still not REST
365.
▲
by
unscaled
5y ago
If you look at the hydra API example[1] linked by OP, this is exactly what it needs: one entrypoint URL. If your API only needs a single domain name (as over 99% of the APIs are), clients can just have the base URL encoded in a constant or
366.
▲
by
unscaled
5y ago
Joel Spolsky has explained how it's possible before: https://www.joelonsoftware.com/2005/01/27/news-58/
367.
▲
by
unscaled
5y ago
I'm not an expert in the field, so I might be woefully wrong, but as far I know the Minoan hypothesis (i.e. Linear A encodes a language isolate that we call Minoan) is almost universally accepted nowadays, even though it was not yet th
368.
▲
by
unscaled
5y ago
You can find more details in an academic review of the book here: https://bmcr.brynmawr.edu/2021/2021.04.30/ The OP article is extremely confusing, and the writer itself seems confused. My understanding is that th
369.
▲
by
unscaled
5y ago
Breaking a monolith to microservices generally involves rewriting the monolith piecemeal and gradually replaced in production. This is opposed to a Big Bang rewrite, where the entire product is set to be replaced with something written from
370.
▲
by
unscaled
5y ago
For what it's worth, I believe many I/O exception sub-classes came from before the time wrapping exception was established as a best practice in Java (as it has been in Go recently, with the introduction of fmt.Errorf("%w&quo
371.
▲
by
unscaled
5y ago
Channels are also hardly foolproof. You need to internalize the (non-obvious) channel axioms[1], and there are many other pitfalls and annoyances like: - Needing to determine ownership of closable objects passed across channels. - Defining
372.
▲
by
unscaled
5y ago
Checking again, their official recruitment page[1] is actually listing "example salaries": These are higher, although probably not representative: Security Engineer (in their 40s): 13 million yen Automation Architect (in their 40s
373.
▲
by
unscaled
5y ago
Is Super Salaryman really a thing? I've only ever heard of this TV series[1], about a regular salaryman who becomes a superhero. Crossing the 1000 man (10 million) yen barrier is a thing though, I just don't know if it has a speci
374.
▲
by
unscaled
5y ago
Looking around the internet, it seems Shift Inc. is paying around 4.5-5.0 (full range: 3.8-7.8) million JPY / year total comp. This is about 40k-45k USD/year. It's somewhat better than what engineers would get on a black comp
375.
▲
by
unscaled
5y ago
While Japan is rife with middlemen taking the cut, 礼金 (key money) is not a good example. It goes directly to your landlord, just like your rent. Hiring in IT does have a lot of room for taking cuts. Most Japanese companies (even large ones
376.
▲
by
unscaled
5y ago
> You could wrap every line of Java code in a try/catch if you wanted to (it wouldn't be idiomatic, but it's definitely possible). You're just not forced to. Yes you ARE forced to. Unless the exception derives from Ru
377.
▲
by
unscaled
5y ago
I'm not sure where all these comments which specifically mention Java are coming from. In Java you MUST catch or forward all exceptions besides those derived from RuntimeException, and you MUST specify them in the type signature. Runti
378.
▲
by
unscaled
5y ago
String in Kotlin can never be null. String? (with a question mark) can. Kotlin String == Go string Kotlin's String? == Go *string They're fully equivalent in this regard. If you wanted to note where Go strings are actually superio
379.
▲
by
unscaled
5y ago
Except that every nil pointer dereference panics. Every out of bounds access panics. Is that also prevented by culture? Let's not forget that, for better or worse, exceptions in Java are checked . The types of exceptions that are erro
380.
▲
by
unscaled
5y ago
Lack of expressiveness does not guarantee improved readability. It can only prevent abuse of language expressiveness that could harm reability. But expressiveness, when used correctly, can also improve reability. Which is more readable?
381.
▲
by
unscaled
5y ago
I think you can summarize the go flavour of "readability" as: Fewer constructs for the price of higher Signal-to-Noise ratio. Go eschews almost any kind of syntactic sugar that might be unfamiliar to you. The endemic "if err
382.
▲
by
unscaled
5y ago
Of all the subdomains of serverside apps, I think "CRUD microservices" are one of the worst fits you get for Go. Fine, CRUD monoliths are even worse. Go can get you good performance on a CRUD app, but that's probably the only
383.
▲
by
unscaled
5y ago
I find your characterization of critica of Go, highly uncharitable, but unfortunately all too common with Go apologetics. If we look outside of Go, I see a lot of criticism of C++, Java, PHP and Node.js, but I rarely see the critics being
384.
▲
by
unscaled
5y ago
I agree in general, but in this particular case (escape analysis [1]), you won't see what's happening in the ByteCode output. That being said, it's still very easy to see how the code will be JITed by running it through JMH (
385.
▲
by
unscaled
5y ago
My hunch is that Rob Pike, Ken Thompson, Russ Cox and the other Bell Labs alumni behind Go disliked GNU getopt-style flags, like they dislike a lot of other GNU and BSD decisions that "contaminate" the original philosophy behind U
386.
▲
by
unscaled
5y ago
But what are the benefits that are available right now? The only benefits I've seen in your article are not available right now, and can (and sometimes are) matched by Kotlin and even Lombok. * Destructuring pattern matching syntax (JE
387.
▲
by
unscaled
5y ago
The problem is all of these "benefits" are imaginary right now[1]. You are talking about future possibilities that Java could get due the strong guarantees offered by Java records. That's cool, but I couldn't find in you
388.
▲
by
unscaled
5y ago
This might be paternalistic, but the Japanese public is pretty much against holding the Olympic Games this year. I felt that pretty well from anecdotal evidence, but public opinion polls seem to back this trend. Taking this poll[1] for inst
389.
▲
by
unscaled
5y ago
Why do you think copy methods are "presumably wrong and misguided"? For the rest, I agree that in 99% of the cases inheritance and mutability are not needed if you're using greenfield Kotlin libraries. But they are unfortunat
390.
▲
by
unscaled
5y ago
How exactly are they better from Kotlin's data classes? Aside from the fact Java only released non-preview support for records one month ago, they: - Don't support inheritance - Can't be mutable - Don't have a co
More ›