wr
hn
Top
New
Best
Ask
Show
Jobs
Back
j
jart
Joined 17 years ago
Karma
13,895
Submissions
3,089
Member since
Dec 18
View on Hacker News
Recent submissions
Comment · 26 minutes ago
Those biters make life nasty brutish and short for the robot.
https://youtu.be/6ZdsmWfKNJU
Comment · 8 days ago
I'd post the Hitler Did Nothing Wrong Black Messiah video if it hadn't been censored from YouTube. But all I can do is lool at how this dude took down 4chan.
Comment · 10 days ago
indeed
https://www.destroyallsoftware.com/talks/wat
Comment · 10 days ago
Let me guess, they gave you something better and it's eating you up inside? That's the way your hard-core Commie works.
Comment · 10 days ago
There is such a thing as too much of a good thing. These pharmaceuticals were originally based off valerian root, which works too, and is cheaper, and easy to obtain. You can always try going back to the roots. I find it helps me sleep every now and then.
Comment · 11 days ago
They're just showing humility. Give them a break.
Comment · 13 days ago
Yeah even NASA doesn't need that many bits. Ken said it himself:
https://news.ycombinator.com/item?id=40971913
Comment · 1 month ago
They're good at stopping DDOS but they've never been the best at it. What Cloudflare has always done best is making SSL and DNSSEC as frictionless and pain free as possible. If TrustCor was trustworthy enough to be allowed to operate a root certificate authority out of a UPS Store at a strip mall in Toronto, then why not Cloudflare? The thing we've always wanted for the Internet is DNSSEC
https://youtu.be/b9j-sfP9GUU
which the major players like Google have stubbornly sought to avoid. Ideally Cloudflare would help enough websites adopt it that it'll become more practical for the rest of us to use.
Comment · 1 month ago
Yes. I also like that they put the effort into making sure it doesn't load resources (e.g. ads, js libraries, etc.) from other domains. How often do we see that these days?
Comment · 1 month ago
It's not possible to regulate AI. Anticipating this would happen, I liberalized it a few years ago by turning it into a file that reads and writes text to stdio. Then I shared it with every man woman and child on earth. Now we all possess this great nuclear weapon. Good luck controlling that.
Comment · 2 months ago
What’s your favourite illuminant?
http://justine.lol/dox/illumination.txt
It makes sense that black people might want to explore different ones than D65 if we consider the history of CIE colorimetry. Has anyone actually done a scientific inquiry into their ability to perceive radiation?
Comment · 2 months ago
Have they been dna tested? My family came to this great country from England in the 1600s and the women in my family have been helping to keep the traditions of the Penobscot tribe alive because they’re such a spiritual people. White Indian women of faith don’t build casinos.
Comment · 5 months ago
https://justine.lol/tmp/your-opinion-has-this-much-value.gif
Social Animus
j
justine.lol
129
jart
5 months ago
112
comments
Comment · 5 months ago
It's honestly not that difficult to be rigorous. The things you mentioned in the blog post are pretty obvious forms of degenerate practices once you get used to seeing them. The best way to make your argument would be to bring up pointer overflow being ub. What's great about undefined behavior is that the C language doesn't require you to care. You can play fast and loose as much as you want. You can even use implicit types and yolo your app, writing C that more closely resembles JavaScript, just like how traditional k&r c devs did back in the day under an ilp32 model. Then you add the rigor later if you care about it. For most stuff, like an experiment, we obviously don't care, but when I do, I can usually one shot a file without any UB (which I check by reading the assembly output after building it with UBSAN) except there's just one thing that I usually can't eliminate, which is the compiler generating code that checks for pointer overflow. Because that's just such a ridiculous concept on modern machines which have a 56 bit address space. Maybe it mattered when coding for platforms like i8086. I've seen almost no code that cares about this. I have to sometimes, in my C library. It's important that functions like memchr() for example don't say `for (char *p = data, *e = data + size; p<e; ...` and instead say `for (size_t i = 0; i < n; ++i) ...data[i]...`. But these are just the skills you get with mastery, which is what makes it fun. Oh speaking of which, another fun thing everyone misses is the pitfalls of vectorization. You have to venture off into UB land in order to get better performance. But readahead can get you into trouble if you're trying to scan something like a string that's at the end of a memory page, where the subsequent page isn't mapped. My other favorite thing is designing code in such a way that the stack frame of any given function never exceeds 4096 bytes, and using alloca in a bounded way that pokes pages if it must be exceeded. If you want to have a fun time experiencing why the trickiness of UB rules are the way they are, try writing your own malloc() function that uses shorts and having it be on the stack, so you can have dynamic memory in a signal handler.