skysight-inc/HackerNews huggingface dataset:
Yeah last time I used Pandora, every station would inevitably turn into "freehunter's favorite songs". Rap station? Well Run-DMC did a cover of Walk This Way, and Linkin Park is kind of rap and Beastie Boys did a lot of rock songs, and now suddenly I'm getting a lot of rock in my rap list, and rock melds into pop pretty easy, and now suddenly my rap playlist has Katy Perry and Kesha.

And thumbs down is always way too harsh in any algorithm you'll find, because there's no way of telling the algorithm why you didn't like it. If I thumbs down Thunder by Imagine Dragons, how does it know I really do like Imagine Dragons and that album was good and the genre was good, I just don't like that one song? And if I thumbs down Good Riddance by Green Day how does the algorithm know I love Green Day and I like that style of music, but I just have a really negative emotional attachment to that song and I don't want to cry right now?

Context is super hard but super important. I listen to a lot of ambient music at work and now my Apple Music and Spotify suggestions are all ambient music, even though I don't listen to that genre for pleasure.
Content Moderator Sues Facebook, Says Job Gave Her PTSD
Some of Chrome's decisions are definitely IE-like.

For example, the FF team felt that flex/grid should become the new layout standard, and deprecated or accidental behaviors of the past could be sunset by doing it right on Flex/Grid. So, for example, margin-top: 10% would be percent of height instead of percent of width when on a flexbox or grid item.[1]

Chrome did it their way and wouldn't discuss the issue, and eventually FF caved because Chrome has a near-monopoly.

This idea of implementing bad design and forcing it on the world, won't end well for the user.

Not to mention the whole recent hullaboo about hiding the www / m / whatever prefixes.

[1] https://github.com/w3c/csswg-drafts/issues/2085
[2] https://news.ycombinator.com/item?id=17927972
It's easy to criticize in hindsight but FHIR wouldn't have been possible without the lessons learned from HL7 V3 so there was really no wasted time. Sometimes the only way to learn is to make mistakes.

FHIR by itself is no panacea; it has some nice improvements, and makes implementations significantly cheaper and more efficient but it doesn't enable any fundamental new use cases. HL7 V3 standards such as CDA R2 are actively used today to deliver patient care all over the world.
The problem with being too close to your hardware is that you become non-portable, or you create a situation where a CPU for a word processor becomes the dominant platform for decades.

The goal should be somewhere between the two levels. Most code doesn't need to be as efficient as hand-tuned assembly. And most languages aren't so bad that they create many orders of magnitude difference between that hand-tuned assembly and themselves in performance. C may keep you within the same order of magnitude as that hand-tuned assembly. But ocaml can as well, and offers much cleaner expressions of many algorithms and ideas (closer to their specification concept than their machine code run time).

When one language becomes insufficient, accept polyglots. If Erlang's mathematical computations are too slow, create a C program that can be loaded in, or that calls out to OpenCL if need be. But Erlang's ability to express concurrency is among the best, and C's is among the worst. So why use one of the worst languages for concurrency when you can use one of the best, and restrict yourself to C code where needed?

The same consideration should be applied to other problem areas. Logic languages and constraint programming can solve many computational problems, and often very efficiently. But both are light years away from the underlying machine they're running on. Should they be discarded so we can hand write and hand tune a constraint solver in C every time?

While it's wasteful to rewrite everything 10 levels above your hardware (an interpreted language, running on a vm, running on a vm, until eventually you find the CPU), it's hardly appropriate to drop everything and insist on the lowest level (or near lowest level) language around. Instead, drop those inefficient languages that barely add anything of value (no novel capabilities, no better safety guarantees), keep the ones that are reasonably efficient or maybe inefficient but offer some true utility. Then code in the highest level language that's reasonable, moving down the stack only when needed for performance (or other) reasons.
Ask HN: What can Google do with me or to me if all I have with them is Gmail?
With all the different kinds of controversy that Google is choosing to get itself into lately, I've stopped using Google Chrome, deleted all of its saved data, and deleted data for a bunch of other Google products (YouTube, Google Pay, everything but Gmail). My web history, location history, and bunch of other things are set to "paused" (everything that Google allows to be paused is paused). I deleted third-party access to my Google account. My ad settings are set to not be personalized.

I use uBlock Origin, HTTPs Everywhere, EFF's Privacy Badger, and Canvas Blocker on Firefox, but I also have Firefox set to clear all my history, cookies, and other browsing data when I close it. I also use a router-based ad-blocking via Diversion (formerly AB-Solution) and pixelserv-tls as well as dnscrypt via dnscrypt-proxy.

Obviously, Gmail is the last holdout.

My question is: with just my Gmail account, what can Google know about me or do to me? My only concerns with leaving Gmail for something like FastMail or MailFence are the potential reliability issues (both in sending email reliably from my own domain and accessing it as often as I do now). It'd be nice to have both end-to-end encryption, and encryption, but given how powerful a $5 wrench is, it's probably wishful thinking.

(For completeness: I stopped having a Facebook account. I log into my LinkedIn account once a year. I log into my Twitter under five times a year. I don't have the mobile apps (first-party or third-party versions) with any of them. I don't have a tinfoil hat, but I have bought https://www.amazon.com/dp/B01I497JAM/ for someone before.)
That does not make sense. Web apps do not consume more resources then websites. And usually less then native apps. I never had them crash any phone.
The case for humanities in the era of AI, automation, and technology
I made the tentative switch last fall to try out their much touted Quantum when it was newly released. A year later and I haven't looked back.
FYI they recently did a kickstarter for a special Myst 25th Anniversary Collection of all the Myst games in a special linking book box, complete with video screen! I'm eagering awaiting delivery of mine:

https://www.kickstarter.com/projects/1252280491/myst-25th-an...
Thanks, this is the first comment on the issue that actually made sense to me.
My pardon, hadn't got to that part at the moment of commenting.
N.B. this article is from 2015
I wouldn't say Zoho is one of the ones enjoying "centralized" status. If you said so of Google or Microsoft, or in the past perhaps Yahoo, then in the western world that's true; but I can only vaguely recall ever hearing of Zoho, let alone see an email address of theirs used by anyone.

While email is getting harder to run yourself due to all the bad actors, with dozens of reasonable choices (plus the option to self-host like I do) you can hardly call it centralized.
I thought more progressive approach is phasing out incomplete and obscure Greek single letter notations. Like done by OpenAI, or by "Structure and Interpretation of Classical Mechanics" or in the "Functional Differential Geometry".
It is possible to do 80 hour workweeks if:

- The rest of your life is exactly where you want it to be. So, this one isn't true for 99% of the population.

- You have the correct mental attitude for it. This isn't true for most of the population either.

- You are doing exactly what you want to do in life. The chance that you could be distracted by another possibility / avenue is next to nil.

None of the above are impossible asks, but they certainly unreasonable. But some managers like to ask anyway, mostly as a form of leverage. If you're foolish or desperate enough to fall for it, then well, only fools and desperate people will give you time week after week to listen to how much you hate your boss / job.
I'm not sure where the "faking it" comes from. The point seems to be people who get their job done and don't make a big deal out of structuring their work arrangements to create more flexibility/fewer hours don't get penalized. Which squares with my personal experience though obviously doesn't apply everywhere and isn't something you can always depend on being able to do on an informal basis.

I find modern communications are a big help in this regard. In past lives, there often was no real replacement for being literally "by the phone." Though I still took month-long vacations in those days which some co-workers found rather hard to comprehend.
Yay for PWA! Please, if you're developing PWA's be sure to share them on all the marketplaces! Hardware/OS freedom would be amazing!
An application could access the protected APIs it needs during a first run in order to force the authorization dialogs. If I were designing an API for that, I'd allow a single call to declare as many permissions as needed, so all authorization dialogs would be triggered at once.
Is android studio a rebranded intellij?
Ya in my mind, executables that do one thing well and are connected by pipes is one of the most proven models for getting things done. Even relatively nontechnical people can write shell scripts, batch files and macros that take some kind of data from a socket/file/pipe, pass it through a bunch of black boxes and spit out an answer. This is very similar to the Actor model and is much simpler to reason about than the shared state threads of languages like Java. Optimizations like copy on write can eliminate most of the overhead of sending data between processes.

Here's a quick overview of how the Actor model is better than shared state (mainly by avoiding locks and nondeterminism): https://doc.akka.io/docs/akka/2.5.3/scala/guide/actors-intro...

And just as an aside, I haven't fully learned Rust yet but from what I understand, the borrow checker only applies to mutable data. If you write a fully immutable Rust program then you can avoid it altogether. So to me, this is a potential bridge between functional and imperative programming. It also might apply to monads, since (from what I understand) languages like ClojureScript can run in one-shot mode where all side effect-free code runs completely and then the Javascript runtime suspends execution, only starting it again once new data is ready. This might also be a bridge between functional and imperative code, because I've found monads to be one of the weakest links in functional programming and I've never quite wrapped my head around how they work or if they're even a good abstraction. Maybe someone can elaborate on them!

In short, the goal here is to reduce all concurrent code to a single thread of execution that is statically analyzable as much as possible. So a typical C++ desktop app may not see much benefit from this, but anyone who has found themselves in Javascript callback hell can certainly appreciate the advantages that async/await provides, since it more closely approximates the message passing of Erlang/Go, which is more similar to shell scripting. If we had a "perfect" language that optimized all code to be concurrent as much as possible, for example by converting for-loops into higher order functions like map and then running them on separate threads behind the scenes, then we could offload the wasted work currently done by humans onto the runtime. So that would mean that instead of writing programs that, say, access remote APIs, cache the data somehow, remember to invalidate it when the source of truth changes, etc etc etc, that complexity instead could be reduced to a dependency graph that works like a spreadsheet and updates all dependencies when something changes. This seems to be where the world is going with reactive programming, with a lot of handwaving and ugly syntax because it's reimplementing old concepts from Lisp etc: https://en.wikipedia.org/wiki/Reactive_programming

Sorry this got a little long, I could ramble about the downsides of programming in these times for hours.
It triggers me to no end when I watch an introductory course, for people with no previous exposure to any programming language, and the teacher starts with

"public static void main()"

In order to understand it, you need to have a good grasp of classes, static methods, access controls.

This is usually followed up by a request to ignore the entire line, which is one of the worst habits you can have as a developer.

Then you have to compile this. It used to be the case that people would copy and paste command line excerpts (bad habit!), but now they will get a pre-configured "IDE" where they can punch the compile button (ok, but I have met plenty of professionals who never left this stage).

Instead, they could avoid the whole thing by using something else, say, Python, or even Javascript. In both cases you can quickly drop to a repl and start trying stuff out.

Once the basics are there, then you can proceed to object orientation. And perhaps even to Java as a more advanced course, only you now have the proper concepts to understand the very first line you are supposed to write.

Why would universities teach Java and C++ anyway? They are either 'boring' from a computer science perspective, or too convoluted for teaching concepts.
Read the article. It was mostly men that faked it, while women would request lighter work more formally and be punished for it.
That was not sexist

That was not racist

You clearly need to find actual examples of racism and sexism.
I can't imagine myself doing that. It's impossible.
A Map of Amazon and Modern Marketing
If there's strong internal argumentation, why is everyone so surprised by and bad at reacting to the criticism?
That explains why astronomers are so incredibly enthousiastic about telescopes, and spend immense amounts of time trying to create better ones to overcome the limits of what they can do now.
Well, sure, true enough. But the main point is a good one -- a free choice between degrading labor on one hand, and penury and starvation on the other, is hardly a choice at all.
You still didn't answer the main question. What are these CS grads going to do without any practical skills when some can't even pass the FizzBuzz challenge?

How are they going to compete when they get in the real world? Most companies aren't willing to train junior devs how to program and why should they when there are plenty of junior developers who came out of the equivalent of "Java schools" and boot camps that can immediately be somewhat productive?

Yes, I've told my sons that I won't help them pay for any degree that won't help them be employable when they get out of school -- basically their choices were STEM related, education, or the medical field. Liberal arts was not an option.

I was also okay with them choosing trade school.
The best way to play it new, now, is probably realMyst Masterpiece Edition: https://www.gog.com/game/real_myst_masterpiece_edition

The original still-frame version is available as well; GOG packages both Myst Masterpiece Edition and Riven with ScummVM so they don't have any compatibility headaches (I recall back in the day, having huge problems since they required QuickTime installed, and only _SPECIFIC_ versions of QuickTime, not newer nor older ones).

There are fans that swear by the original still-frame only. It is fine, but I've always felt that immersion was kind of the whole point of the game, and realMyst provides that far better.
In other words, they have 30 days to erase your data. So, they can keep customer data for 29 days, sell it and then be in "compliance".
I keep Sirius in my daily driver because the satellite cutouts are annoying, but so are cellular dead zones. And cellular dead zones are more common for me than satellite cutouts.
Constraint Solving with MiniZinc
Well, duh. I can't even work a full 40 hour week as a programmer without being completely braindead.

I think the dirty secret is that as long as you hit the meetings you're supposed to be at, and show your face at strategically useful times, nobody cares the slightest whether you are actually there or not - as long as the work gets done.

> The result of this is easy to see: Those specifically requesting a lighter workload, who were disproportionately women, suffered in their performance reviews; those who took a lighter workload more discreetly didn’t suffer. The maxim of “ask forgiveness, not permission” seemed to apply.

This is generally good advice to live by. If something is worth doing, you are wildly better off just doing it, rather than asking for permission to do it. At best, the thing you wanted to do will get denied, and at worst so crusted up with input and bikeshedding from everyone that is sucked into it that it is actively detrimental.
The fact that the drivers aren't special cased to compensate for Ubisoft's buggy code doesn't make the drivers bad. The games are bad.
Sigh. For 27 years, Linux has been maintained by a frankly abrasive person who weren't afraid to show middle finger to a big company, say some coders should be "retroactively aborted", and even say "shut the fuck up" to a co-contributor. We were told that it was part of Finnish culture of being direct, and although some people grumbled (and some thought that was a load of BS), people didn't really mind that much, worked together, and built the Linux we know now.

Now, for once, Linus Torvalds thinks it's time for change and maybe everyone could be a little nicer to everyone else, and suddenly we hear doom and gloom and how yielding to the American "SJW" culture will ruin Linux for everyone.

I wonder what choice words Linus-of-yesteryear would have uttered to see the shenanigan.
Beautiful deep learning diagrams
I don't think that using this incident as a recruitment pitch is a good idea.
You must have a great local radio market, then. I wouldn't consider any of my local FM stations to be "working" radio.
Ask HN: Which startup offer would you take?
I recently interviewed with two startups and the offers came in last week. I need to make a decision by end of this week. Both are doing interesting and challenging work. Both are also using the same set of technologies that I prefer. The base is in the market range with some differences. Here are the differences.

Startup A:

* Series B: ~50m

* ~20K more base

* ~20K less stock options

* No signing bonus

* Free lunch

* High premium for family health insurance ~300/paycheck

Startup B:

* Series C: ~200m

* ~20K less base

* ~20K more stock options (will be offered options at Series B strike price)

* ~10K signing bonus

* No free lunch

* Low premium for family health insurance ~80/paycheck

Thank you so much!

Anonymous-for-a-reason
forced log-in is not the question/scenario I was answering to, parent asked "a convenience you got from being signed in to the Chrome browser".

So I'm not sure why you answer that to my message.
Amen. Cruel and unusual is what this is.
Most exciting feature: App Bundles! At last, users with an Galaxy S5 won't have to install the same APK as a Note S9. This will especially helpful to users in countries where data is expensive, phones are old, and storage is low. Also, I can see this ensuring users download through the app store, since app pirates (most of the time, injecting trojans into free programs), will have to upload many different APKs in order to "trick" users into installing their APK.

The Energy Profiler is a nice addition, but I wish there was some incentive for apps to be energy efficient (even an app store "badge" would be better than nothing), since people will continue to just blame Android for the battery performance and not the apps.

super-small-nit: It's Android Studio 3.2, but the installer's file name is android-studio-ide-181.5014246-mac.dmg. android-studio-3.2.dmg would of been just fine. I am guessing 181 is a build number, but as a user, I don't care about what build number it is.
Mosquitoes Genetically Modified to Crash Species That Spreads Malaria
One way or the other people are lost to the linux kernel development by what actually matters is which ones provide the best code.

Is Sage Sharp contributing better code to the linux kernel than Theo Ts’o ? Would you replace all Ts'o contributions by Sharp's ?
“I don’t understand it, therefore it is inferior.”

I currently program for a living with Java. It clicked with me the moment I first learned it. (It was also my first introduction to OOP.) Right now I’m struggling to learn the nuances of functional programming with both Scala and Haskell. Do I consider functional programming, Scala, or Haskell inferior because they’re not as straightforward for me as Java (or C#, or C, or even ASM) was? Of course not.
Yep, you can read this book in a few different ways:

- AsciiDoc via GitHub. Nav to the chapters and they'll render into HTML. Cost: Free under Creative Commons [source]

- HTML via Pony Foo. Cost: authorize app and auto-share a single tweet (feel free to revoke right after), Creative Commons. [html]

- The book was released on Amazon today (PDF or physical copies) [amzn]

[source]: https://github.com/mjavascript

[html]: https://ponyfoo.com/books

[amzn]: https://amzn.to/2OQ8vMe

[license]: https://ponyfoo.com/license
MacOS Mojave review: dark mode and a preview of the Mac’s future – The Verge
In a past life as a project manager for a custom software consultancy, we had a rule of thumb based on experience that a functional prototype[0] takes about 25% of a total project's budget.

Whether the contract was time & materials (preferred) or fixed bid, that 25% rule worked well as an early indicator that the project was likely to go over budget. It allowed us to have early conversations with the client about cutting scope or expanding the budget to cover the unknown complexity.

We'd also dramatically increase our rate to reduce our risk on fixed price projects.

[0] Barebones, ugly, but functional from end-to-end.
Yep. Technology evangelists tend also to be early adopters. If they all jump ship, the masses will follow. Slowly, but surely.
This was registrar level, not nameserver level.
I was surprised at the evocation of “men” in the title. It is obvious that if we found a flaw in some women, we wouldn’t say it outright in the title. Whereas finding a flaw in men calls directly for a click, since it appeals to the human’s innate hate for men.

Then I understood: “It’s a disadvantage for women, because they ask more formally.” There you go, misandry followed by feminism. Which is fine. If it goes both ways.

Would we ever find an article titled as such:

“Some people beat their children. 70.2% of them are women[1]. Here’s why it matters.”

[1] CDC 2001-2006

And it matters because 60% are boys. And most (don’t remember how many, about 90%) of the prison population received hits on the head as kids. And what they need is not judicial treatment, nut medical treatments. 97% prison population is men.

It also matters because, even when sane father ask for custody, we consciously decide to give it to the mother. Father is ambassador of Sweden and mum is in psychiatric yard beating up the baby? That’s right, give the baby to the mother[2].

[2] Breivik, 77 killed.

It’s more than time women stop getting the newspaper headline for unfair misandry, while men commit suicide 3 times the rate of women: The two of them are related.

But it doesn’t matter.

They’re men.
It's been studied ad nauseum. And please don't waste our time asking for citations; there are a zillion peer reviewed articles which clearly demonstrate that lifestyle factors have expensive health consequences and that the situation is deteriorating. They're easy enough to find if you want to do more than argue.
Show HN: How to Build a Facebook Messenger Chatbot with Node.js and Dialogflow
US ISP RCN stores customer passwords in cleartext