HN user

nsajko

2,925 karma
Posts83
Comments1,198
View on HN
cambium.inria.fr 1y ago

Left-recursive versus right-recursive lists in LR parsers

nsajko
2pts0
cambium.inria.fr 1y ago

Reconstructing the Knuth-Morris-Pratt Algorithm

nsajko
5pts0
en.wikipedia.org 1y ago

Abscam

nsajko
2pts0
secret-hitler.online 1y ago

Secret Hitler Online

nsajko
1pts0
fixmyblinds.com 2y ago

Do It Yourself Blind Repair

nsajko
614pts138
github.com 3y ago

Matrix Forensics: Collection of Matrix/Linear Algebra Information

nsajko
2pts0
john.maloney.org 3y ago

Thin Film Patterns

nsajko
57pts4
en.wikipedia.org 3y ago

Bouncing Bomb

nsajko
1pts0
en.wikipedia.org 3y ago

Keystroke Dynamics

nsajko
3pts1
ploopy.co 3y ago

Ploopy Open-Source Headphones

nsajko
5pts1
en.wikipedia.org 3y ago

Lill's Method

nsajko
1pts0
arxiv.org 3y ago

No Grammar to Rule Them All: A Survey of JSON-Style DSLs for Visualization

nsajko
2pts0
blog.acolyer.org 4y ago

An analysis of performance evolution of Linux’s core operations (2019)

nsajko
2pts1
en.wikipedia.org 4y ago

Phonemic Orthography

nsajko
2pts0
scottpeterjohnson.github.io 4y ago

Hashwall – protection against spam and denial of service without a CAPTCHA

nsajko
4pts1
thorehusfeldt.com 4y ago

Superintelligence in SF

nsajko
17pts1
developer.android.com 4y ago

Android Play Integrity API

nsajko
1pts2
gitlab.com 4y ago

Visualized Graph Coloring Examples

nsajko
2pts1
toiletovhell.com 4y ago

Rock against anything: how metal became so fucking reactionary

nsajko
14pts10
en.wikipedia.org 4y ago

How “Consensus” Works on Wikipedia

nsajko
1pts2
en.wikipedia.org 4y ago

The Naked Society (1964)

nsajko
3pts0
en.wikipedia.org 5y ago

Wake Up (Pope Francis Album)

nsajko
1pts0
www.reddit.com 5y ago

Reference Library of the AskEngineers Subreddit

nsajko
2pts0
en.wikipedia.org 5y ago

Dwarf Forest

nsajko
1pts0
profiler.firefox.com 5y ago

Profiling with Linux Perf

nsajko
4pts1
en.wikipedia.org 5y ago

Abuse of Notation

nsajko
2pts0
news.ycombinator.com 5y ago

HN Feature Request: Enable an additional short description for URL submissions

nsajko
3pts3
mathisonian.github.io 5y ago

Kernel Density Estimation

nsajko
2pts0
pinealservo.com 5y ago

The Many Functions of Functor

nsajko
2pts0
www.euronews.com 5y ago

Hundreds of animal footprints found on Florence's medieval cathedral roof

nsajko
3pts0

Julia is another contender. Julia code can be as performant as C++ code, but Julia code may be even more elegant than C++. Even without accounting for Julia's metaprogramming features, the compile-time expressiveness is top-notch.

It shares some of the same drawbacks as C++, though. The language is extremely powerful, so while it is easy to write performant code, it is also easy for non experts to write very suboptimal code.

Number isn’t an interface—there are no operations common to all numbers.

When creating a new type, it should be more clear cut when is subtyping Number (or Real, etc.) valid. Should unitful quantities be numbers? Should intervals be numbers? Related: I think there are some attempts by Tim Holy and others to create/document "thick numbers".

Furthermore, I believe it might be good to align the Number type hierarchy with math/abstract algebra as much as possible without breaking backwards compatibility, which might making Number, or some subtypes of it, actual interfaces.

Subtyping Number is a way to opt into numeric promotion and a few other useful generic behaviors. That’s it.

OK, but I think that's not documented either.

I don't think testing against every existing dependent would make sense currently. The issue is the lack of tooling for mechanically checking whether the dependent accesses implementation details of the dependency, in which case it would be valid for the dependency to break the dependent.

There are some proposals to forbid the registration of a package release which trespasses on the internals of another package, though.

I hope someone tackles the above sooner or later, but another issue is the approach of testing every known dependent package might be very costly, both in terms of compute and manual labor, the latter because someone would have to do the work of maintaining a blacklist for packages with flaky unit tests. The good news is that this work might considerably overlap with the already existing PkgEval infrastructure. We'll see.

the culture of not prioritizing correctness in computation

On the contrary, it is my impression the experienced Julia programmers, including those involved in JuliaLang/julia, take correctness seriously. More so than in many other PL communities.

there are people working on traits/interfaces - but these are still peripheral projects and not part of the core mission to my knowledge

What exactly do you mean by "traits" or "interfaces"? Why do you think these "traits" would help with the issues that bug you?

The Julia world is already quite careful with testing and CI. Apart from the usual unit testing, many packages do employ integration testing. The Julia project itself (compiler, etc) is tested against the package ecosystem quite often (regularly and for select pull requests).

Julia is not without warts, but this blog post is kinda rubbish. The post claims vague but scary "correctness issues", trying to support this with a collection of unrelated issue tickets from all across Julia and the Julia package ecosystem. Not all of which were even bugs in the first place, and many of which have long been resolved.

The fact that bugs happen in software should not surprise anyone. Even software of critical importance, such as GCC or LLVM, whose correctness is relied upon by the implementations of many programming languages (including C, C++ and Julia itself), are buggy.

Instead the post could have focused more on actual design issues, such as some of the Base interfaces being underspecified:

the nature of many common implicit interfaces has not been made precise (for example, there is no agreement in the Julia community on what a number is)

The underspecified nature of Number (or Real, or IO) is an issue, albeit not related with the rest of the blog post. It does not excuse the scaremongering in the blog post, however.

The TLDR describes your method accurately, though. You do store your OTP secrets in a password store.

That said, the significance of using two separate password stores isn't clear to me. Under what threat model is that supposed to be an improvement over a single password store? Basically, your idea is that passwords are less essential than OTP secrets, so you take less care keeping them safe. However I think it'd make more sense to just apply proper protection for all secrets.