HN user

hatmatrix

1,197 karma
Posts56
Comments415
View on HN
www.nytimes.com 3y ago

Meta Fined $414M After Ad Practices Ruled Illegal Under EU Law

hatmatrix
8pts1
www.cnn.com 3y ago

Scientists finally know why people get more colds and flu in winter

hatmatrix
15pts2
www.statnews.com 3y ago

Exodus of young life scientists is shaking up academia

hatmatrix
2pts0
knowablemagazine.org 3y ago

How sustainable are fake meats?

hatmatrix
47pts117
arstechnica.com 3y ago

Solving the rock-hard problem of nuclear waste disposal

hatmatrix
2pts0
www.theguardian.com 4y ago

European fruit with traces of most toxic pesticides ‘up 53% in nine years’

hatmatrix
2pts0
www.quantamagazine.org 4y ago

‘Machine Scientists’ Distill the Laws of Physics from Raw Data

hatmatrix
123pts48
www.pnas.org 4y ago

A Conceptual Framework for Consciousness

hatmatrix
2pts0
www.nature.com 4y ago

Virtual communication curbs creative idea generation – Nature

hatmatrix
3pts0
phys.org 4y ago

Artificial intelligence paves the way to discovering new rare-earth compounds

hatmatrix
2pts0
arstechnica.com 4y ago

When a seismic network failed, citizen science stepped in

hatmatrix
2pts0
www.statnews.com 4y ago

The Karikó problem: Lessons for funding basic research

hatmatrix
286pts155
finance.yahoo.com 4y ago

Which Schools Produce the Most Unicorn Founders?

hatmatrix
2pts0
www.bbc.com 4y ago

Charles Lieber: Harvard professor guilty of hiding ties to Chinese programme

hatmatrix
1pts0
cen.acs.org 4y ago

Financial demands of getting a PhD can catch some off guard

hatmatrix
1pts0
www.discovermagazine.com 4y ago

How fonts affect learning and memory

hatmatrix
3pts0
towardsdatascience.com 4y ago

DataSpell by Jetbrains – New IDE / Notebook – Review by Dario RadečIć

hatmatrix
8pts1
arstechnica.com 4y ago

German chemists identified over 7,700 different chemical formulas in beers

hatmatrix
1pts0
www.infoq.com 4y ago

The Excel Formula Language Is Now Turing-Complete

hatmatrix
1pts3
thegradient.pub 5y ago

Towards Human-Centered Explainable AI: the journey so far

hatmatrix
1pts0
www.theverge.com 5y ago

A university got itself banned from the Linux kernel

hatmatrix
1pts0
www.scientificamerican.com 5y ago

The Art of Mathematics in Chalk

hatmatrix
1pts0
arstechnica.com 5y ago

Russia’s Twitter censorship may work against Tor and VPNs

hatmatrix
4pts0
en.wikipedia.org 5y ago

Microlearning

hatmatrix
2pts0
www.newscientist.com 5y ago

Demand for rare metals can only increase in the move to a zero-carbon economy

hatmatrix
2pts0
arstechnica.com 5y ago

Trump pardons engineer Google accused of stealing secrets for Uber

hatmatrix
1pts0
www.scientificamerican.com 5y ago

Is the Schrödinger Equation True?

hatmatrix
66pts166
en.wikipedia.org 5y ago

Design Thinking

hatmatrix
3pts0
www.nytimes.com 5y ago

A Job for Life, or Not? A Class Divide Deepens in Japan

hatmatrix
2pts0
www.nytimes.com 5y ago

Surviving Weed-Out Classes in Science May Be a State of Mind

hatmatrix
2pts1
Prism 6 months ago

That study must have compared beginners in LaTeX and MS Word. There is a learning curve, but LaTeX will often save more time in the end.

It is an old language though. LaTeX is the macro system on top of TeX, but now you can write markdown or org-mode (or orgdown) and generate LaTeX -> PDF via pandoc/org-mode. Maybe this is the level of abstraction we should be targeting. Though currently, you still need to drop into LaTeX for very specific fine-tuning.

I Like GitLab 6 months ago

Yeah I started using GitLab for the same reason and also that FSF "approved" of its CE version. But doesn't hosting private repos on GitLab and using public repos on GitHub just give GitHub that much more monetizable value?

But then you lose the readability that is the core defense of MATLAB/Octave. Ok so NumPy is readable, but less pleasantly so.

It's one of those languages that outgrew its original purpose, as did Python IMHO. So non-matrix operations like string processing and manipulation of data structures like tables (surprisingly, graphs are not bad) become unwieldy in MATLAB - much like Python's syntax becomes unwieldy in array calculations, as illustrated in the original post.

An understated advantage of Julia over MATLAB is the use of brackets over parentheses for array slicing, which improves readability even further.

The most cogent argument for the use of parentheses for array slicing (which derives from Fortran, another language that I love) is that it can be thought of as a lookup table, but in practice it's useful to immediately identify if you are calling a function or slicing an array.

Indeed, there are many high-quality alternatives (sometimes described as "MATLAB clones" back in the day) that never gained bigger traction.

Among modern alternatives that don't strictly follow MATLAB syntax, Julia has the biggest mindshare now?

GNU Octave, as a superset of the MATLAB language, was (is) most capable of running existing MATLAB code. While Octave implemented some solvers better than MATLAB, the former just could not replicate a large enough portion of the latter's functionality that many scientists/engineers were unable to fully commit to it. I wonder whether runmat.org would run up against this same problem.

The other killer app of MATLAB is Simulink, which to my knowledge is not replicated in any other open source ecosystem.

fft.m is the more obvious example of the closed source algorithm here. You open it and it just says

% Built-in function.

The algorithms written in C and compiled by mex are the "built-in" ones that are not viewable.

How about fft? If you open fft.m, you get just a commented file that ends with

% Built-in function.

If the algorithm is implemented as a compiled mex function, then you cannot inspect its details.

It's worth considering what nextgen really would be, but probably VSCode and its forks will dominate for the time being. I recall Steve Yegge predicting that the next IDE to beat be the web browser, and this was around 2008 or so. It's not the reality, but took about 10-15 years for it to actually happen, even though there were earlier shots at it by like Atom.

Racket v9.0 8 months ago

What are some difference between the education tooling around Racket and that which enables "industrial" applications Common Lisp is known for?

Lenses in Julia 9 months ago

As for the tooling, julia-snail on emacs is supposed to be like SLIME for Lisp. But sounds like that isn't your main gripe. Having to load so many packages is a indeed a pain, but it does suggest the core language is rather minimal...

It doesn't happen so frequently in practice, which is maybe why it's not felt equally by everyone in the community. I've followed some discussions on this topic and the current solution is, as you say, to place the onus entirely on the user. There is another faction that wants to support the user through the IDE to warn them of errors they might be making, and others that want to implement formal specifications that catch the errors during specifications. It's not an easy problem to fix and therefore the "simplest approach" as you describe remains the leading solution.

In this debate there seems to be a pervasive impulse to point out "that specific problem doesn't exist anymore," and to their credit the developers are generally good at responding to serious problems.

However, the spirit of the original post was about the lack of safeguards and cohesive direction by the community to find ways to preempt such errors. It's not an easy problem to solve since Julia's composability and flexibility adds complexity not encountered in other languages. The current solution is, 'users beware', while there are a few people working on ways to enforce correct composability. I think it's best to acknowledge that this is an ongoing issue and that it's not a problem anymore because the specific ones pointed out are fixed.

I should have been more precise in my language - it's not numerical correctness but composability correctness. They won't appear in a simple example like the one you provided, but more complicated ones are provided in the original post - in the example it partially centers around how getindex should be used with a particular struct and so on.

True, actually they are good in following up on numerical correctness, so I should be rephrase 'correctness in computation' to 'correctness in composition' - the types of bugs that arise from mashing a lot of modules together. On the one hand it's not a Julia issue but a package ecosystem issue.

I think you're actually even more active in the Julia community so maybe I don't have to summarize the debate but these are the types of traits and interface packages being developed that are meant to formalize how modules can be used and extended by others.

https://github.com/rafaqz/Interfaces.jl

https://discourse.julialang.org/t/interfaces-traits-in-julia...

one author's algorithm can be composed with another author's custom data type

This is true, and it's a powerful part of the language - but you can implement it incorrectly when you compose elements together that expect some attributes from the custom data type. There is no way to formally enforce that, so you can end up with correctness bugs.

I say this as a huge Julia fan, but the point is not the specific bugs in the article, but the culture of not prioritizing correctness in computation. The initial response by many (not all) in the community was look, those specific bugs are fixed; all languages have bugs; more importantly - look at the benchmark speeds of these computations! Which only reinforced this negative perception.

My understanding is that it's a difficult problem to solve, and there are people working on traits/interfaces - but these are still peripheral projects and not part of the core mission to my knowledge. In practice, composability problems arise seldomly, but there is no formal way to guard against it yet. I believe there was some work done at Northeastern U. [1] toward this goal but it's still up to the user to "be careful", essentially.

[1] https://repository.library.northeastern.edu/files/neu:4f20cn...

It's an apt analogy. It's like the realtor is under pressure to sell the house so does a quick and dirty DIY plumbing. Then when the house is sold you hire a real plumber to fix it right, hopefully before the gushing disaster.

Here, founders demo something that attracts the investors' or customers' attention - then they can clean it up later.