cmcaine

Joined 9 years ago

Karma
177
Submissions
60
Member since
Oct 13
[ my public key: https://keybase.io/cmcaine; my proof: https://keybase.io/cmcaine/sigs/0bq3ms2TFWy49YmXHPJWiZChZld8aoXOpuEyC1O-T0Q ]
View on Hacker News

Recent submissions

Comment · 2 years ago
No, you'd likely get unrelated style changes in your commits. Read the gofumpt readme to understand why.
Comment · 3 years ago
Ksplice was never owned by Ubuntu...
Comment · 3 years ago
It's got good macros and the implementation of both regular code and macros operate on the same core datastructures.

It has the interactive features for inspecting and modifying a running system that Lisps often have.

It has reflection APIs

Its ints are big like Lisp

etc.

Seems pretty Lispy to me.

Comment · 3 years ago
ThePhD is project editor for WG14, the C language standards committee. The other poster is probably referring to them as "the sheep dev" because ThePhD is prolific on GitHub and have an anthropomorphic sheep as their profile image.
Comment · 3 years ago
I like it a lot even though almost all of my functions have no dispatch (only one implementation) or single dispatch (implementation differs based on the type of just one of the arguments).

Firstly I like the aesthetic and implications of f(x, y, z) over x.f(y, z). I like that f is its own thing and not a property of x.

Secondly, it's really nice to be able to reach however far down the callstack you need to go to patch some function "owned" by someone else to act correctly or more efficiently with whatever your type is. You can get correct code most of the time with single dispatch and well-thought-out interfaces, but getting interfaces right in advance is really tricky and requires coordination with other users of the interface whereas multiple dispatch can often work well without much coordination and can also handle cases where you want the implementation to vary dramatically based on the type (the OneHotVector in Karpinski's "Unreasonable effectiveness of multiple dispatch" talk is an example of this).

Comment · 3 years ago
Also, several of the buggy uses of @inbounds were safe at the time they were written (early <1.0 julia when arrays were always indexed from 1).
Comment · 4 years ago
Fundraising and publishing are specialised skills that artists don't necessarily have. Also, lots of people, including many artists, like the stability of a steady pay check and employment rights, which means companies or co-ops.

The sci-fi author Charlie Stross has a series of blog posts on their site about all the work that goes into publishing a book and how much of it is done by employees of the publisher (and how that is not work that Stross can do / would like to do).

Comment · 4 years ago
It's correct if you want to do something `length(A)` times and want an iteration counter, but it's never better than `for idx in eachindex(A)` if what you actually want are indexes into A (which is of course the much more common case).

Julia did not initially support arrays that aren't indexed from 1 (experimental support added in Julia 0.5, I don't know when it was finalised), and at that time I'm not even sure we had something like eachindex, certainly there would be no reason why someone would use it for an array.

Comment · 4 years ago
Julia released experimental support for arrays whose indexes don't start at 1 in Julia 0.5, October 2016.

The boundschecking feature was added in 2015, so at the time they wrote their code and examples, they were correct.

The documentation and review happened in December and January 2016/2017 when the non 1-based indexing was still experimental and very new, so I don't think this is as big a fail as you've made out either.

Yes, the documentation should have been updated when non-standard indexing was made non-experimental, and the reviewers should maybe have noted the new and experimental array indexing stuff, but it's only natural to miss some things.

Comment · 4 years ago
I don't think there's any clean way to stop that at a language level (some languages prevent this by disallowing random access to arrays, but that's a non-starter for a performance-oriented language), and also it would be a massively breaking change.
Comment · 5 years ago
Dogs often eat a lot less when they are stressed, though usually not so little or for so long that they get emaciated.
Comment · 5 years ago
Julia REPLs and editor plugins have adopted a nice feature where you can type the LaTeX name of the symbol you want to get it.

e.g. `\subseteq` followed by tab yields `⊆` or `\trademark` for `™`.

You can also do emoji with `\:eyes:` for ``

I think this is very practical and if you read code in Julia you can see that it's led to quite a lot of unicode and emoji in source code.

Comment · 6 years ago
Comment · 6 years ago
Comment · 6 years ago
Why would they exclude a repo and then not exclude all PRs from that repo?

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton