Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
frankpf
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
by
frankpf
4y ago
Do you know of any solution that uses S3/cloud storage and has E2EE? I'm looking for something similar myself.
2.
▲
Devenv.sh: Fast and reproducible developer environments using Nix
(devenv.sh)
382 points
by
frankpf
4y ago
|
158 comments
3.
▲
by
frankpf
5y ago
Would you say that Java's Loom[1] matches your definition of structured concurrency? [1]: https://www.javaadvent.com/2020/12/project-loom-and-structur...
4.
▲
RISC-V J extension – Instructions for JITs
(github.com)
137 points
by
frankpf
5y ago
|
54 comments
5.
▲
by
frankpf
6y ago
Hey smt1, looks like your account is dead and has been for a while.
6.
▲
The Value of Alternative Investments
(cryptm.org)
2 points
by
frankpf
6y ago
|
0 comments
7.
▲
by
frankpf
6y ago
> - abstract interpretation using a streamlined version of the octagon domain. Do you have any links/source code where I can read up about this (possibly in the context of compilers)? I've never heard of the term octagon domain
8.
▲
by
frankpf
6y ago
I think it's been observed by many psychology studies that conscientiousness (the personality trait that determines self discipline and self control) tends to increase with age. Excerpt from https://www.ncbi.nlm.nih.gov
9.
▲
by
frankpf
6y ago
I don't think you can use _refinement types_ for this, at least not as of now (e.g. you can't do {.requires validEmail(email).}), but you can use distinct types[1] in nim to model what you want: type Email = distinct string
10.
▲
by
frankpf
6y ago
> Looks more like flow typing than refinement types to me. I'm not super familiar with the theory behind refinement types and I could be wrong :) My familiarity with refinement types comes from things like Liquid Haskell and F*. If
11.
▲
by
frankpf
6y ago
I'm in the process of rewriting the language from typescript to nim, so right now it's a recursive descent parser written in typescript[1]. Typescript generates the textual bytecode and that feeds into a Nim interpreter.[2] I thin
12.
▲
by
frankpf
6y ago
I've been writing an interpreter with Nim and overall the language is really good. One feature that I'm excited for is DrNim[1]. It's not distributed with the stable version just yet (you have to compile it yourself, but that
13.
▲
by
frankpf
6y ago
Your original point was: > you could not have different versions sitting side-by-side. bundler can't do that either. You can't depend on both rails 5 and rails 6 in a single package. Most languages can't do that. > Any
14.
▲
by
frankpf
6y ago
> - Yarn helped solve that, but because of its backwards compatibility to node_modules, you could not have different versions sitting side-by-side. > - Node_modules could have a different version installed vs lock file and no one woul
15.
▲
Benefits of Nim over C/C++
(github.com)
2 points
by
frankpf
6y ago
|
0 comments
16.
▲
by
frankpf
6y ago
I like that too, but both Rust and Ruby allow multiple expressions/statements before the last expression. In Haskell and OCaml IIUC you need to use things like `let x = ... in <expr>` or `<expr> where x = ...`, so you still
17.
▲
by
frankpf
6y ago
I don't use lisp languages, but one basic difference this has from other lisps is that functions accept multiple expressions, e.g.: (defn greet [firstname lastname] (def fullname (string firstname " " lastname))
18.
▲
by
frankpf
6y ago
Are you referring to V8's/Node's C FFI? Why is that extremely expensive?
19.
▲
by
frankpf
7y ago
> There hasn't been a lot of study on this topic* but what little there is shows that 3% of errors found can be mitigated with type systems, where they do not exist, fixing these classes of errors takes less time than it took to use
20.
▲
How Shopify implemented its secure authentication service
(engineering.shopify.com)
174 points
by
frankpf
7y ago
|
51 comments
21.
▲
by
frankpf
7y ago
Those dependencies, many probably written by unknown authors with 0 stars on github, have complete access to your computer and can execute arbitrary code. Even though it shouldn't affect production, that's still a big problem for
22.
▲
by
frankpf
7y ago
Parcel is great, but I would avoid using it again due to the sheer number of dependencies (730 packages!)[1]. Webpack has the same problem[2], depending on 342 packages. Rollup is the best one on this regard, depending only on 3 packages. [
23.
▲
by
frankpf
7y ago
Thankfully TypeScript's type system is powerful enough (and JS's syntax flexible enough) to decently simulate pattern matching: https://gist.github.com/frankpf/cde7f792580f731dfe886ed2d91b... (see the second
24.
▲
by
frankpf
7y ago
Not related to the new assert signatures feature (which is great!), but IMO the two best approaches to do what you want today are: - io-ts[1] This requires you to write your types as a runtime value, and allows you to extract static types f
25.
▲
by
frankpf
7y ago
It's not a dichotomy between raw SQL and ORMs. Here's your query in knex, a query builder for JS: knex.insert({ bar: 'bar', baz: 'baz' }).into('foo')
26.
▲
by
frankpf
7y ago
You don't open yourself up to XSS, see my comment above: https://news.ycombinator.com/item?id=20773188
27.
▲
by
frankpf
7y ago
Using a cookie is not a benefit, it's a downside. You have to deal with CSRFs, which aren't possible with localStorage.
28.
▲
by
frankpf
7y ago
The localStorage vs cookies slide is wrong. localStorage does not open you up to XSS, you can have XSS with cookies as well. What the author probably meant is that cookies marked with `HttpOnly` cannot be exfiltrated via XSS, which is true,
29.
▲
A comparison of Unix sandboxing techniques [pdf]
(engr.mun.ca)
2 points
by
frankpf
7y ago
|
0 comments
30.
▲
by
frankpf
7y ago
I don't think that's true. TypeScript's type system is very advanced, and has most of the features you need for type-safe development if you use strict mode (which is the default for projects created with `tsc --init`). It ha
More ›