skysight-inc/HackerNews huggingface dataset:
Your interpretation of his comment quite succinctly sums up the problems with society today. Being tolerant of something is not the same as treating it identically to other views. Imagine my neighbor is completely and absolutely convinced that 2+2=5. I'd be somewhat curious why somebody would believe such a peculiar thing. If we had the time I'd certainly be happy to indulge him and of course I'd also try to correct him. If, at the end of the day, we couldn't agree? That's fine. Of course I'm probably not going to be convinced that 2+2=5 and won't make a secret of it, but agreeing to disagree is okay.

In practice this distinction of tolerance vs "all opinions are equal" is even more critical because many of the topics people love to get into heated arguments about have compelling, entirely factual, arguments supporting mutually exclusive conclusions. Life's fun that way. On these sort of topics - guns, migration, economic systems, etc - there are of course some completely unsupportable views, but there are no right answers. In fact they probably literally do not exist since even with omniscience, the answer would still be contingent on the state of a society and people at any given point in time and place.

We all believe the things we believe because we, tautologically, think they're what we ought believe - what is most right, or most supported, or whatever our personal value system tells us is correct. The problem we face today is when we then start assuming that because our value system tells us this belief must be the most valid, that we start to treat other completely supportable views as invalid.
The best way to manage things is to not have them.

With a go binary, you just have the binary. To deploy as a unit, just copy it to a machine. To run it, just run it - it's an executable. You can just give the executable to someone and they can run it. Great for sharing tools and utilities. Great for microservices because you can replace each microservice without impacting the others.

With java, you have the JRE, at least one JAR (which likely will contain lots of other jars for any non-trivial application), and likely some sort of script to orchestrate startup. You need a build system to put all that together. If you want to install it, you need something that will package it all up, which will require some thought and tooling. In the end, though, you still will have these separate parts installed on the system.

This greatly complicates maintenance, because now that you have a separate JRE, someone might want to reuse that for other things as well. They might argue it doesn't make sense to install the JRE separately for each service, or maybe their install system is incompetent and doesn't allow for that. If this happens, and you want to go to a newer version of your service that requires a newer JRE, you might get stuck because the people who control the deployment will tend to control the JRE that is installed and used. You end up getting stuck with a old JRE, and upgrading it becomes this big coordination issue.

Any non-trivial java app will require testing on whatever platform you're targeting. In addition, it will be handicapped by the least common denominator approach of the jvm.

With a go binary, on the other hand, you may have to build a separate one for Linux and Mac, but that also tends to free up people's thinking a bit and allow for tailoring the app for each platform. The testing issue is the same as for java apps.
Google’s release engineering docs describe hermetic build processes as those which are “insensitive to the libraries and other software installed on the build machine. Instead, builds depend on known versions of build tools, such as compilers, and dependencies, such as libraries. The build process is self-contained and must not rely on services that are external to the build environment.”

Basically, if your build process requires you to pull code from any repository that you do not own, it isn’t hermetic. If you have to `pip install` or `go get` a third party (or even in-house!) dependency from a source that you do not control, your build is not hermetic.

Effectively, this means that you have to have versioned copies of all of your third party dependencies, and version-specified build graphs. Very hard to do without a mono repo and a build tool.

In the context of the GP, I’d say that deterministic would have been a better word choice. A reliance on time stamps technically wouldn’t make a build process non-hermetic, but it would definitely make it non deterministic. It’s technically possible to have hermetic builds without having reproducible builds, although that would be a very bizarre org. :)
mktemp couldn't make a script idempotent. I remember a script that failed because it needed to create temporary executables in /tmp. To apply some hardening policies, someone remounted /tmp in "noexec" mode and ... kaboom. So if you use that, better if you specify TMPDIR with proper checking.
Edwin is an Emacs in MIT (now GNU) Scheme.
And yet, from 3 months ago: The FCC has fined robocallers $208M and collected $7k

https://news.ycombinator.com/item?id=19514201

https://www.foxnews.com/tech/the-fcc-has-fined-robocallers-2...
Yes, that's the lowest-level API. But if you have a lot of hashmaps to specify literally, you could create a DSL for them as follows:

(defparameter a '((color brown)
(name fred)))

(defun make-hashmap (pairs)
(let ((ht (make-hash-table)))
(mapc (lambda (pair)
(setf (gethash (car pair) ht) (cadr pair)))
pairs)
ht))

(defun showhash (hash-table)
"Show hash-table"
(maphash #'(lambda (key value)
(format t "~%~S : ~S" key value))
hash-table))

(showhash (make-hashmap a))
Exactly. Hong Kong's only real choices are to be an exemplary model of the 'two systems one country' model and wait for China to change, or to go against the grain and get crushed. Becoming a 'free', 'western' country is impossible.
At risk of sounding mean... I think those two demographics might be one in the same at the moment.
It’s true in cities as young professionals too. It’s often a group of friends where everyone moved to the city after school or a group of friends that grew up there.
HiDPI? Um, what?

I've been running Wayland gnome-shell on Fedora since Fedora 25, on a Dell m3800 and now a Dell XPS 15, both with 4K internal displays. I often connect to external monitors or projectors, either 1080p or 4K.

Wayland has better HiDPI support than X and has for a long time.

In order to make X work in any reasonable way you need to configure X to render at 4K all the time on all outputs and downscale using xrandr on 1080p displays. X cannot handle different DPI settings.
The author's argument immediately fails at the fact that math papers are written in natural language and you'll have no chance of understanding the paper if you don't speak that language.

Just because I can read a math paper written in English or German I don't harbor any illusions I'll be able to understand one written in Mandarin.

On top of that there's that mathematical notation really isn't as standardized as one would hope.
Neither is basic terminology (which already isn't consistent between different disciplines/schools within the same language).

So unless a Chinese mathematician deigns to translate the paper into a language I understand, I'll just be screwed.

The underlying concepts may be universal, but the language and notation of mathematics today just isn't.

Edit: For those who want to have a taste of what mathematics in a foreign language is like, have a look at this Chinese Wikipedia article on a very basic topic: https://zh.wikipedia.org/wiki/%E8%BF%9E%E7%BB%AD%E5%87%BD%E6...
Data science libraries and adoption by teaching institutions.
The rise of the deepfake and the threat to democracy
The flag is there for you to override if you think you know better. We don't answer questions or provide support for any use-case with the proprietary driver.
Substitute “brings about” into the original sentence and you’ll see it doesn’t really make sense:

“It’s the first time really that we’ve seen this quite obvious, large-scale impact of what we’re doing in our own backyards and how that’s bringing about the composition of the birds that we see around us,” says Plummer.

Plummer meant that bird feeders are changing (i.e. affecting) the composition, not causing or bringing about (i.e. effecting) the composition.

Plummer recently published a paper on the topic that uses affect and effect many times and each use of affect is as a verb and effect as a noun:

https://www.nature.com/articles/s41467-019-10111-5

I’m certain the reporter made a transcription error while interviewing Plummer.

https://www.explainxkcd.com/wiki/index.php/326:_Effect_an_Ef... goes into more depth about the distinction.

Finally, I just double-checked with my mom who has a bachelors in English, a masters in TESOL, and a doctorate in rhetoric and linguistics, and who has worked as an English professor and as an English tutor. She agrees that “effecting” is misused in the original sentence. Feel free to cite a more authoritative source than my mom. :-)
Thank you, I hadn't heard of it before so I'll check it out!

I'm not optimistic about Wayland, since early on they decided not to use an extension language, and that's not something you can have a change of heart about later, and then just nail onto the side.

It would be interesting to see how Arcan uses L
ua, which is a great language for that kind of stuff. It's a lot smaller and sleeker and better designed than JavaScript.

The Arcan developers should check out how Factorio modding works! (But then all work on Arcan would halt when for months while they were addicted to Factorio.)

https://wiki.factorio.com/Modding

Lua's main problem is that it isn't JavaScript (i.e. in JavaScript's enviably lucky position of ubiquitous dominance).

If I had a time machine, I'd go back and try to convince Netscape to use Lua 2.1 instead of inventing JavaScript (released December 4, 1995). And hire the Self guys (Dave Ungar, Randy Smith and the crew who eventually made the Java HotSpot compiler) away from Sun, and Mike Pall (LuaJIT) from wherever he was!

https://www.lua.org/versions.html

>Lua 2.1 was released on 07 Feb 1995. Its main new features were extensible semantics via fallbacks and support for object-oriented programming. This version was described in a journal paper. Starting with Lua 2.1, Lua became freely available for all purposes, including commercial uses.

https://news.ycombinator.com/item?id=12574290

https://channel9.msdn.com/Blogs/Charles/A-Conversation-with-...
I think it is a cultural difference.

I'm French. When I mispronounce something people will correct me. That's how we learn and it is expected.

Now when I voicechat with American people and say something they don't understand I just get some "polite" silence.

So I think it is a case of people taking offense because of a culture difference. "They're white, using the same characters as us so they're the same", nope.
How about someone saying: "They all are going to suggest a tax on soda. Let's try to come up with something else!"?
Android -> Java? Java dominated well before mobile.

Also JVM languages are surging even though none have a specific killer app.

But Clojure is still niche. And is the most powerful/simple of them all. I think there’s something else going on, too much power & simplicity in a language doesn’t yield to mass appeal - why?
I can't say it any better than JWZ did over 15 years ago. This is the result of the Cascade of Attention-Deficit Teenagers model and is why Linux will not approach Windows or OSX in usability.

Cannot link to his site:

JWZ dot org /doc/cadt.html

A complete teardown and rebuild of the whole ecosystem (because X succccckkks) is fun! Making something backwards-compatible, or standardized, or polished that "last 90%" so it works on everybody's environment... is not.
CEOs job is to protect reputation of the company. There are times when honestly owning your mistakes is better for reputation than pathetic attempts to save face.
`set -x` can be very useful.
It would take a strong positive commitment to privacy to not notice when people are publicly declaring their opposition to you and their intention to disrupt your operations.
ELIF / practical applications / examples?
>I’d be curious of how the builds using the 3700 are doing, though. They pack a punch.

If I'm looking at user-submitted benchmarks properly, there's only a very slight difference compared to the 3500U. Seemingly not worth the upgrade, or am I mistaken about this?
Deplatforming is a much bigger threat.
These issues are framed as binaries because it serves the political goals of a two party system. It couldn't be further from the truth.

Actually, this right here is a stellar example of how political concerns and the vying of organizations for power warps the way we think about nuanced concepts on a fundamental level. It ends up the detailed, even-handed treatments make for poor slogans.
i wonder if it would be any where near efficient to load the station up with materials and supplies and send it off to a lunar orbit or even mars.
Sorry, but a stack overflow answer (that doesn't even seem to be written by you) that give a bad overview over how X11 does it is not an explanation of why it can not be done. Or why it should not be done given that all platforms develop abilities to do exactly what I ask for at some point anyway.
The author raises a good point that I agree with: math provides more direct value than learning a foreign language to native English speakers. The author talks about what children should be learning and I don't know enough about children's education to disagree, but if you're an adult, I think it's a good idea to learn at least one second language.

Language study and math are not mutually exclusive for me.

When I've learned math it's through focused effort, sitting down and doing math problems, thinking really hard, and talking to people with a whiteboard.

When I start study languages I'm mostly filling time, things like listening to podcasts in the language, going through Anki flashcards while waiting in line or on the subway, or reading things about the language.

Learning the foundations of a foreign language is closer to brushing my teeth or going to the gym than it is to learning math. You just do some mundane things every day for a long time and suddenly you wake up with new skills.

Once you have a solid foundation, then it's closer to having fun than studying. You just chat with people or read things you're interested in, the same as you probably already do for fun in your first languages.

Anyways, my point is that if you have even a little free time or some downtime (like a commute), you can probably fit in time to learn a new language and not take anything away from your other pursuits like actively studying.

That said, I don't think learning a new language is easy, but it's rewarding and the improved cultural understanding, of both your target language and culture and your first culture and languages, it brings makes it worth it to people who live in a globally connected society.
Facebook gives its users access to a social platform, which is clearly something users like, without asking for any money in return. It isn't like they're forcing people to use it, people are free to decide for themselves unlike slaves.

Of course no stuff is really free, so they have to get money some other way... but maybe they should be more open about it, maybe offer an "enhanced privacy mode" for like $10/month? You're still free to use any other social network though, including the ability to self-host a blog and email if you wish.
> His definition of failed seems to be “didn’t take over the world”

You don’t need to guess. paragraph 2:

> Some of the above languages are no longer quite as popular as they once were. This will be the definition of "failure" we will use here.

I think it’s fine to use “failure” as a concise term that way, especially when he explicitly defines it.

I don’t agree with his reasoning but the use of “failure” is fine as a rhetorical point.
> Why did this university have a list of "activist" students curated anyways? The article doesn't make it clear whether the police asked the uni for a list of students involved in x and y organizations or whether the uni just handed over a list of people on a watchlist. Either is disturbing.

Various front line staff in the UK (e.g.,) teachers have to shop anyone they suspect of havi g extremist views into the police. This is the Prevent programme which I think was brought in after the July 7 terror attacks.
If people just wanted to use the old addon system then all that requires is changing a few options when building Firefox (in official Firefox builds, only moz can deploy such addons). So keeping up with security updates shouldn't be hard at all if that's the only difference.

Of course the old type of addons may break from time to time as the browser's internals change but that was always a problem with the old addon system.
> Why did this university have a list of "activist" students curated anyways? The article doesn't make it clear whether the police asked the uni for a list of students involved in x and y organizations or whether the uni just handed over a list of people on a watchlist. Either is disturbing.

Various front line staff in the UK (e.g.,) teachers have to shop anyone they suspect of having extremist views into the police. This is the Prevent programme which I think was brought in after the July 7 terror attacks.
Small Seasons
Firstly, it isn't mine. At least not by birth. Unfortunately.

Secondly, this kind of moral objection ("does it have to be YOUR language"), intended to shame the proponent of this idea for their presumptuousness, will never get us anywhere. Why don't we start this initiative by learning Mandarin, you say? Why not Arabic, someone replies. Why not French, another says. Why not Spanish, joins yet another. And Welsh, let’s not forget about Welsh, another cries.

Framing the question of why pick language X instead of language Y in moral terms is pointless. Sure, one can try to argue from a purely linguistic perspective, pointing out unwieldiness of Chinese characters as opposed to Latin-based alphabets; or the general rarity of tonal languages, such as Chinese; but that’s a crappy argument. A good argument, I think, is that we are at a point where English is already used as an international language in a number of spheres, and instead of discarding it and picking an entirely different language and re-training humanity to use it, it makes much more sense to continue pushing forward with it.
> as a convolution

Sorry, what does idempotency have to do with convolution?
First, I never claimed that the quote was written by me! That's what the quote marks and link are for.

Why have ALL of the other major systems - Windows/ReactOS, NeXT/Mac, BeOS/Haiku, iOS, Android, etc. - not bothered with implementing network transparency in the core of their display systems?

Mind you, I'm not asking the question of why the people that made these systems all decided against building on X11. (That was answered ages ago by an Apple employee posting on Slashdot: https://developers.slashdot.org/comments.pl?sid=75257&cid=67...)

I'm sure that you could build a new system that has this network transparency feature. But I wonder how one would avoid failing the way that previous efforts failed:

- Y window system (http://www.hungry.com/old-hungry/products/Ywindows/)

- Berlin Project (https://web.archive.org/web/20041030075704/http://www.fresco...)

These things had network transparency, and they went absolutely nowhere...
Intel's 10 nm was delivered early last year in the form of one U-series CPU with a broken iGPU - not that it were a great chip, but they did deliver. Ice Lake mobile CPUs, built on the 10 nm+ process, are shipping as we speak, with Dell's XPS lineup already being available with said chips in them.
Positron Dynamics – Antimatter Propulsion
Not sure about signed distance fields in particular, but in general you need two things: some kind of "lightness" at any given point and stroke direction at the same point. The former should be doable with signed distance fields, the latter doesn't seem to be something that you can always calculate: note that hatches along "tubes" are as valid in that style as hatches across "tubes" and as valid as some diagonal, curly and whatnot would be. If you don't care all that much about hatches direction, you can definitely get something similar to one of many "woodcut" filters for graphics software, but currently there's no special tool for that in this library.
The mango has at least an equal claim to be the King of Fruits.

https://en.m.wikipedia.org/wiki/King_of_Fruits
Fun fact: more people speak English in China than in North America.

- - - -

In re: teaching math ASAP see Iconic Math http://iconicmath.com/ and (the general idea of) "Proofs without words" https://en.wikipedia.org/wiki/Proof_without_words
> Do you mean openRC, s6 etc? They still all use bash scripts, (which as a result depend on the dev for quality and can vary quite a bit) vs systemd's clear, uniform service definitions. They don't provide much beyond starting services and are more like wrappers around sysvinit than anything else.

I'm not that familiar with openRC or s6 (I've played with them, but don't use them on any 'real work' systems), though my understanding is that there is a proper openrc-init being developed.

I was actually thinking more of runit and shepherd, which provide their own init and daemon-management.

> > my runit systems all behave themselves; my systemd systems frequently hang on reboot

> Every time I've seen this in practice it turned out the system was actually not configured properly, (usually crypttab or something related),

This is across multiple systems, from Arch boxes, which I've hand-configured to vanilla Ubuntu boxes, and ranges in behaviour from multiple 90s timers to just hanging on completely black screen until forced to reboot. There are certainly no obvious configuration issues on any these, definitely not crypttab or the like.

> shut down properly vs other init systems just yank the cord, but it seems faster, so I guess it's 'better', (in which case you can just shorten the systemd timer to like 1s and it would be even faster doing that)

But, even timers aside, runit is faster than systemd on both boot and shutdown, for similarly-configured systems. And provides (me at least) a best user-experience than systemd.

runit shuts things down properly; with systemd I often have to literally 'yank the cord'.
MIT Structure and Interpretation of Computer Programs :-)

The opening statement:

“I'd like to welcome you to this course on computer science. Actually, that's a terrible way to start. Computer science is a terrible name for this business. First of all, it's not a science. It might be engineering or it might be art, but we'll actually see that computer so-called science actually has a lot in common with magic, and we'll see that in this course.

So it's not a science. It's also not really very much about computers. And it's not about computers in the same sense that physics is not really about particle accelerators, and biology is not really about microscopes and petri dishes. And it's not about computers in the same sense that geometry is not really about using surveying instruments

...

Now, the reason that we think computer science is about computers is pretty much the same reason that the Egyptians thought geometry was about surveying instruments. And that is, when some field is just getting started and you don't really understand it very well, it's very easy to confuse the essence of what you're doing with the tools that you use. And indeed, on some absolute scale of things, we probably know less about the essence of computer science than the ancient Egyptians really knew about geometry.”

Still prescient 30 years later...

https://ocw.mit.edu/courses/electrical-engineering-and-compu...