Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
GrumpySloth
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
181.
▲
by
GrumpySloth
4y ago
Yup. I consider runtime reflection an antifeature, which has negative performance effects, is unsafe (see e.g. log4j) and leads to fragile code. I would however welcome static reflection with open arms. In Rust in particular, I’d prefer it
182.
▲
by
GrumpySloth
4y ago
Casey Muratori's blog (everything stuff): < https://www.computerenhance.com/ > Max Bernstein's blog (compiler stuff): < https://bernsteinbear.com/blog/ > Michael Stapelberg's blo
183.
▲
by
GrumpySloth
4y ago
You need to get rid of the space between “??” and “(“.
184.
▲
by
GrumpySloth
4y ago
This example doesn’t involve digraphs. Trigraphs also preceded digraphs, so their semantics couldn’t have been motivated by digraphs. In fact digraphs were added as a better-thought-out alternative to trigraphs. Digraphs were added in C99,
185.
▲
by
GrumpySloth
4y ago
They’re not difficult to implement. It’s a sed pass running before any preprocessor or even lexer, which is the horrifying thing. They replace characters in source code, they’re not normal tokens like digraphs. And so e.g. the following pro
186.
▲
by
GrumpySloth
4y ago
> Trigraphs are removed from the language. Finally! My joy knows no bounds.
187.
▲
by
GrumpySloth
4y ago
David Hume, An Enquiry Concerning Human Understanding It showed me that intellectual curiosity doesn't need to be coupled with abstruse language, that in fact unclear language is not a sign of deep thought, but more likely unclear th
188.
▲
by
GrumpySloth
4y ago
In particular anti-semitism is usually associated with the right, but it has a pretty long tradition on the left as well. The 60s in the communist block were a good display of that, but also the 40s in France (Tony Judt wrote a couple books
189.
▲
We are stuck with egrep and fgrep (unless you like beating people)
(utcc.utoronto.ca)
310 points
by
GrumpySloth
4y ago
|
342 comments
190.
▲
by
GrumpySloth
4y ago
Beware of performance issues though. Guile is extraordinarily slow on numerical code at least. Specifically, orders of magnitude slower than Chez Scheme, while the latter is just a couple times slower than LuaJIT e.g. I got really turned of
191.
▲
by
GrumpySloth
4y ago
Except SIMD code while faster may sometimes be less energy-efficient than scalar code. Different SIMD extensions have different energy efficiency characteristics. Also, multithreaded code may finish a task sooner, but spend more energy budg
192.
▲
by
GrumpySloth
4y ago
That may be the case for numerical code. However, a big niche for Python (if not the biggest one) is web services. How common is calling C++/Fortran code in a Django/Flask project? Those projects seem to have layers upon layers of
193.
▲
by
GrumpySloth
4y ago
Something being common sense is not a good argument for it making sense. The most obvious demonstration of that is physics. Our common sense is hopeless at modelling the world around us accurately. Maths is better at that. In programming, s
194.
▲
by
GrumpySloth
4y ago
That's only doable with a text-centric website. I'm currently finishing a photography section for my personal website, and the gallery pages are several hundred kBs in size, while single photo page is almost 1MB in size (provided
195.
▲
by
GrumpySloth
4y ago
Forsaking HTML doesn't imply embracing command line. In my experience, most mails don't actually use any styling beyond the automatic blockquote for the endless quote chains that mail clients automatically add. So people are wasti
196.
▲
Browsers don't like their windows too big
2 points
by
GrumpySloth
4y ago
|
0 comments
197.
▲
by
GrumpySloth
4y ago
No-pause GC is possible, when we're talking about concurrent GCs, but it also shouldn't be mistaken for a "no-overhead GC". And reference-counting, as long as the actual reference counting isn't done in a separate t
198.
▲
by
GrumpySloth
4y ago
So, as I understand it, you avoid pauses by avoiding data structures with long chains of pointers. The same will work equally well in a language with a GC. It's also not the case that reference-counting itself doesn't result in pa
199.
▲
by
GrumpySloth
4y ago
> you would implement it as a new type of token That's a good point. I consider myself debunked.
200.
▲
by
GrumpySloth
4y ago
This article is really weird. This person developed insecurity about using jarred garlic, because they saw (or imagined) that someone in college looked at them wrong when they used it. Then they proceeded to look out for comments about jarr
201.
▲
by
GrumpySloth
4y ago
De Bruijn sequences can also be used to quickly find the index of 1 in a word, when your CPU doesn't provide a dedicated instruction like lzcnt[1] (or when you're in a language competition which doesn't allow writing inline a
202.
▲
by
GrumpySloth
4y ago
Explanation based on my familiarity with Koka: This expression matches on the effect flip() and handles it with the code on the right hand side of -> which becomes the value of the function invoking the effect. In this case the handl
203.
▲
by
GrumpySloth
4y ago
To be fair, compilers and linkers can be thought of as pure functions (if we ignore stuff like including timestamps in builds e.g.). They have no special requirements language-wise. You can write them in any general purpose programming lang
204.
▲
by
GrumpySloth
4y ago
> Anyway I don't believe you [...] Either you're bullshitting or you have restricted yourself to extremely simple Rust code How kind. > what does `for<'a>` and `+ '_` mean? `for<'a>` allows you
205.
▲
by
GrumpySloth
4y ago
This criticism is addressed at code, not people. > If it was your code they were talking about, you may feel differently. I'm not the commenter you replied to, but no, I'm not my code, so I'm not going to get offended by
206.
▲
by
GrumpySloth
4y ago
When I work on a side project, I pull out the Ethernet cable of my computer from the switch. Unfortunately, I can't do that in dayjob thanks to the tyranny of Slack. When something doesn't involve a computer, I don't have the
207.
▲
by
GrumpySloth
5y ago
When I have a chain of commits pending review on Gerrit, and I fixed some flaws in the first commit in chain and need to rebase the dependent commits, merging is not an option. And rightly so: when I look at the master branch, I don't
208.
▲
by
GrumpySloth
5y ago
In short, fork() mixes poorly with multi-threaded code (and has some security footguns like needing to explicitly unshare elements of environment which may be sensitive, such as file descriptors (suddenly you need to know all the file descr
209.
▲
by
GrumpySloth
5y ago
Type classes are a way to do polymorphism, but... dynamic dispatch? I don't think so; which function is called, is determined statically. As for ML functors: they're neither polymorphism, nor dynamic dispatch. First: functions for
210.
▲
by
GrumpySloth
5y ago
> "Breaking" is undefinable. I remember reading about some user complaining that a small bugfix broke their work setup because it fixed a bug that used to make the CPU go 100% when the spacebar was held. The user would hold it
More ›