skysight-inc/HackerNews huggingface dataset:
To all those saying Scala is dying:

Personally I am making top money on Scala gigs, and I don't see that changing anytime soon. The people I meet on these gigs share my opinion. Most people wouldn't take a Java job even if it paid more, same for Go or Node ( both of which I have used in production in the last month, and wouldn't take over Scala, with the exception of serverless)

Teams in Media, Government and Finance are leveraging Scala to do things that take Google and Netflix twice as many devs because they use less expressive languages.

Yes, Go is great because you can scale a team from 1 to 10 to 100 with little effort. With Scala you get the same stuff done with 20 people.

The people that hate Scala are either Java devs that didn't get it because they wanted to write inheritance based OOP code and would still be bad devs in any other lang, or are hiring managers that struggled to get the right people.

This is actually an advantage when you have the right hiring process as you end up with better developers - they don't need to know Scala, but need to be open minded to new ideas and motivated to learn.

With all that said, the church of FP and the hascalator community is a problem for Scala. Overly dogmatic & academic functional programming styles don't have a place in production systems.

Leverage the type system, immutability and the Future/Option monads and you eliminate huge swathes of bugs. If you are looking to write "Java on steroids" or would rather be writing Haskell then you are probably contributing to Scala's perceived problems.

If you are a startup or small business then Scala isn't a good fit - you're probably better off starting with JS or Python and moving to Scala when you have more users and need to deliver something solid. FAANG don't need to use Scala because they can throw money & devs at problems and therefore favour languages that fit that modus operandi.

For all the companies in between, Scala is great fit because when you get the right people you can outmanoeuvre any competition.

One of the earlier comments described Scala as a love child between Java and Ruby that turned out great. Despite not having used Ruby in anger I agree with the sentiment as I believe the best way to write Scala is as a statically typed Ruby for the jvm. It's supposed to be simple and elegant, and the best Scala devs realise this. To re-iterate my earlier statement, if you are trying to write something "oop" or "pure fp" then you are getting it wrong.
Our new "Style Guide" docs page gives a recommendation to "model actions as 'events', not 'setters' [0], and there were two recent talks on this topic that go into a lot more detail [1] [2].

[0] https://redux.js.org/style-guide/style-guide/#model-actions-...

[1] https://github.com/dmmulroy/talks/blob/master/event-driven-r...

[2] https://youtu.be/K6OlKeQRCzo?t=2626 / https://rangle.slides.com/yazanalaboudi/deck#/
Wikipedia will reject "original research". That phrase would completely apply, without scare quotes, to articles that need peer review. You could always use a blogging platform?
“Operating System: An operating system is a collection of things that don't fit into a language. There shouldn't be one.” — Daniel Ingalls “Design Principals Behind Smalltalk” [0]

Learning the Smalltalk “world”/vm is an essential part of learning Smalltalk the language. Many people are initially put off by this but if you try to find a “Smalltalk without a Smalltalk-specific IDE” you are missing out on an enormous part of what Smalltalk is.

0. https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk....
Based on my experience learning Japanese I'd say this is the perfect approach. In the early days, people should stay away from the written side of a language.

As someone not in China but interested in learning, I'd prefer to try to understand what I'm hearing before working on tonal pronounciation. This is why I'd love and pay good money for a dataset of engaging Chinese tv shows, etc with the English translation and the Hanyu Pinyin displayed simultaneously and perfectly synchronized to what's being spoken on the screen. For me, listening comprehension is everything.
what's wrong with MoneyGram?
Instantly was enticed by this, but quickly ran into the depths. I'm on NixOS unstable and I realize this is not ever going to be a well-supported place to be in terms of running random software, but thankfully there are in fact Pharo attributes in nixpkgs. Sadly though, I can't figure out how to use it.

It looks like I want to start with Pharo Launcher, so I've installed the Pharo VM and Pharo Launcher, but when I try to start Pharo Launcher a window pops up and it just exists. All I can see in the terminal is a message about pthread_setschedparam failing, which does not seem fatal.

I wonder whether my problem is with not understanding what I'm doing, or with NixOS, or something in between...
> you can get with a company sponsor pretty easily

Not very easily these days. There's a yearly limit on H1-B visas, and more applications than visas, so they're assigned by lottery. For 2019 there was only a 32% chance of selection: https://www.immi-usa.com/h1b-lottery-2016-results-chances-pr...
> if the temperature is right for you, chances are that it's a bit too warm for your electronics

I don't understand: we normally keep our houses at our preferred temperatures, and our electronics do fine.
Besides bad wrist angle, if the backside of your elbows rested on a pad, you could have aggravated the ulnar nerve. Same with a handful of other locations in upper neck and the other nerves in the arm. Nerve impingement/inflammation can show up as referred pain in the wrists.

It was wise to take the time off.
but government issued phones have access to things personal phones don't.
So while the location of basically everyone with a smartphone is continuously uploaded to private companies, you say we should worry about what China/NSA might do in the future...

Nothing to see here, move along, oh, look, a shiny enemy there...
Sign up for lessons online at italki.com! I've only used it to do language exchange, but they have a bunch of teachers there who teach via Skype, and you'll probably pay less than what you would for a local teacher.
Something like Pharo is more like learning a whole new OS in addition to a language. Unless you have the energy to do that, it's probably best left on the bucketlist. I bailed.
I was going to recommend the same thing - great documentary. One of the places I learned about BBS's because I missed out (born too late). Also...I would recommend [https://www.textfiles.com/] to see some content from some bulletin boards
I wouldn't be in this industry without stumbling into the BBS subculture. Thanks for everything!
Its already built into Windows. You can use Presentation Settings: Windows Mobility Center -> Presentation Settings -> turn on (or "presentationsettings /start")
This works even if you cannot run custom applications
It's not really working for me or my girlfriend (native speaker). We can't get past 喝(hē) (tone 1). It keeps thinking it's a third tone.
Best Smart TVs for 2020
But I don't follow the basic assumption that the way native speakers become fluent is particularly effective. No matter how much explicit instruction helps, native speakers couldn't learn basic fluency that way, because there's no way to deliver explicit instruction to a baby.
The New Yorker regularly publishes well-written pieces, if not exactly like this.
Superintelligence by Nick Bostrom. Don't read this before you go to bed though. lolz
yu combines the tongue position of yi and the lip rounding of wu. Being able to take apart the individual components of a sound and consciously reassemble them into something different is very helpful for language learning.

If you're not sure what the components are, try reading the corresponding Wikipedia article (usually linked in the phonology section of the article about the given language): https://en.wikipedia.org/wiki/Close_front_rounded_vowel
I am not talking about USA only. And I am not talking about direct ties between the universities and publishers. In most cases, they do not have any ties whatsover, but are clinging to such practices.

So to solve the problem you need a change at both your university, and at the publishing side. But still, as many do not have a tenure, you have to think about possible future mobility, and if your papers are published in some new venue, you are risking that in the future it might not be recognized by your future employer.

Therefore you are kind-of forced into self-censorship.

Especially if you are from a poor country where no-one pays you to do research (just teaching) and you can only go to 1 conference in a year or every 2 years. You have to "make them count".
Works fine on safari iOS iPhone 6
For "the boolean algebra part" the table like from here (second slide) is a real explanation:

https://courses.cs.washington.edu/courses/cse370/03au/lectur...

"There are 16 possible functions of 2 input variables:
in general, there are 2^(2^n) functions of n inputs"

"And" from the original tweet is just one of them.
Then it wouldn’t be “insider”, it would be public. The term insider designates that it’s non-public. If you make it public, then some new piece of information would become “insider” information that others don’t have. You can’t operate a business 100% transparently
Wow, the flagging is strong with this article.

Prediction: the whole article will be flagged soon. Too much heat on VCs.
Strong Opinions, Weakly Held – A Framework for Thinking
> “The world is facing three existential crises: a climate crisis, an inequality crisis and a crisis in democracy,”

This so-called 'crisis' in democracy is not existential if it exists at all.

On the other hand, we face a population crisis that is a major cause of the climate and environmental crisis.

Population growth, explosion even, is also key to understand the importance of GDP and inequality.
I wouldn't write it either way. I would write something like bank.processTransfer(new Transfer(100, checkingAccount, savingsAccount)) where the transfer object is immutable.
Yes, pretty much every serious venue is considering only papers with novel, unpublished research, so if you've published "that thing" already somewhere else then that disqualifies you from getting a well-ranked publication out of that piece of research, and it's strong disincentive to publish anything outside of the venues that 'count' for the purposes of evaluating you or your project goals.
A Lonely Plea: ‘Anybody Need a Grandma for Christmas?’
> In a strongly typed language, you shouldn't encode type information in the name, it's statically derivable.

This is completely true!

> The name doesn't need to tell you that, you already know and the language will prevent you from misusing it.

I think this is where we differ! I prefer to know what I can do with something without having to ask a compiler or IDE. This helps, for example, when looking at a pull request -- you don't have the code easily accessible for the compiler or IDE.

Possibly a difference is that I prefer to use languages that are more dynamically typed -- Clojure, Emacs Lisp, etc. And so you don't have `Map<EmployeeId, Employee> employeesById`; you only have the variable name.

But I do wonder -- even in the most explicitly typed, statically typed languages, what is the eser experience for finding this out? It seems that unless one is looking at the declaration, there must be at least one level of indirection to find out what the type of something is.

Say you're looking at a use of the variable `employees`. Here's the ways I can think of that would let you know what the type is:

1. Scan upwards until you find the declaration, if it even is on screen. Then look back to where the use was.

2. Move the cursor to the variable, and use the "go to definition" functionality built into the IDE. Then look at the declaration, and use the "go back" IDE function.

3. Move the cursor to the variable, and the IDE has somewhere that tells you the type. This is relatively simple, but still requires you to move to the variable, and to look somewhere else and back.

On the other hand, with a name like `employeesById`, all you need is in that thirteen characters.
Please don't post in the flamewar style to HN. We're trying for something different here.

https://news.ycombinator.com/newsguidelines.html
I don’t understand why this story is such a big deal, but it keeps getting covered.

There are no US companies that compete with Huawei’s 5G technology, so my government is going after them anyway they can. Seems simple enough to me. That said, there is another factor: Huawei smartphones sort of compete with Apple gear, but at lower prices. This also helps a US company (Apple).

It think it is fairly common that governments do back-flips to help domestic industries. The Chinese government certainly helps their industries.
Bilingual native speaker here, got 0/3 of my attempts.
Fossilized, 385M year old tree roots.

Which is very cool, but not nearly as bizarre/profound as the headline suggests. Phrasing.
Sensational words like "spies" in titles trigger poorer-quality discussion. Taking those out is routine HN moderation. When we change a title for that reason, we always try to replace it with representative language from the article itself.

"Deflecting blame" doesn't enter into it (what does that even mean in this case?) and the answer to your cheap shot about YC is zero, as far as I know.

HN is a leading place for discussing privacy and surveillance; it has been for years; this article is obviously on topic here. We just want to avoid shitty internet threads. This one is already filling with "fuck you", "data rapers", and other pearls.
Smalltalk is an IDE + runtime together on a single VM. This brings many advantages (very fast software development; almost no compile time; you can change the running system, ...), but also disadvantages (harder to integrate external libraries, hard to separate final runtime/binary from development)...
I can't tell if you are serious or not, but it looks off to me.
If you invest in these companies, fuck you.

Edit: thanks for the flagging, I was just testing the theory that you can say "fuck you" to the engineers who work on this, as OP did, but not to the investors who put money in and incentives it. Thanks for proving me correct.
Canada police prepared to shoot Indigenous activists, documents show
> I wonder what the difference is between a classroom with a single teacher tasked with educating a room of people who might not be interested...and apprentice with one person who likely is interested.

The teacher's job is to teach and frequently teachers rate those that just finished a class as more capable then those that have a bunch of experience. Whereas in an apprenticeship the teachers are doers and are training doers. I think every first time intern I've ever hosted is always astonished at how much quicker they are learning then they were in college.
>If you are a startup then Scala isn't a good fit. FAANG don't need to use Scala because....

Not a FANG, but close, Twitter is a huge Scala shop and was one of the first to run Scala workloads on GraalVM in production.

Twitter’s Quest for a Wholly Graal Runtime by Chris Thalinger:
https://www.youtube.com/watch?v=PtgKmzgIh4c
IMO the java is more readable. Parenthesis clearly delimit the scope of the function call. How would smalltalk handle nested function calls?
Nice! Also liked the trivia 'snuck' into certain depths, like the deepest scuba dive at 332 meters.
Java 14 features: Pattern Matching for `instanceof`, `jpackage` & helpful NPEs
Yes, yes, NY Times is a known piece of trash bottom of barrel paper, we need to teach them how to title articles.
You're the best - I was just thinking that something with live vocab would be useful
Wish I hadn't come across this. Now I'll have to put down my feelings in writing.

After being in and out of hospital for a while my dad is now in intensive care. The doctor took me and mom to a private room today where they explained that he's so frail, if anything happens there's no point in trying to help him. No CPR, no respirator. Basically, it's going to be either this time or another time, but it's going to be like this.

My main thought is that he's doing the opposite of being born. When I watched my kids get born, they were little things with no personality. As they grow more and more of them gets created. Their habits, what they like to eat, soon their friends and interests. Opinions about every little thing in the world.

Now I'm seeing that deconstructed in my dad. I stopped being able to talk to him about adult stuff some time ago. Science, politics, history. His thoughts on being transplanted to the west as an adult. As he's gotten more ill recently it's degenerated into what is essentially teenager stuff: why won't he exercise to improve his heart condition? It's not like he doesn't understand what the doctors say.

I might not have another conversation with him, and the last one was last night. We're beyond teenager stage now. He kept asking the same series of questions over and over. Is my heart OK? Nose? Ear? Brain? Leg? Tissemand? Yes really, he said that. The only part of his body he asked me about in Danish, not Chinese.

I feel bad about being angry with him, too. He's basically not followed any medical advice since his bypass. Many family members have brought it up with him. He's just sat there for the best part of three years, doing nothing to get better.

And part of me thinks I caused him to check out of life. Before he had his surgery I sat down with him, when we were both adults, and talked through what might have been the last conversation. He said he had no regrets, the world had treated him just fine, and if the end was now, that was fine. There was a peaceful resignation at that time. Perhaps having the sign off conversation made him not want to struggle back to fitness.
Acquiring knowledge. Auto flash card question generation based on the things I read, listen and watch.
I'm building my own database-like thing
I suppose you could call this "dynamic water logic" because it relies on flow instead of pressure. I was expecting hydraulic relay valves ("static water logic"), which are widespread in industrial control applications, and perhaps even more commonly, the automotive automatic transmission:

http://www.cogpro.com/chapters/E-CruiseOMatic/images/E-Cruis...

Almost all the material I could find about computing with water seems to focus on dynamic gates, essentially completely ignoring the century-old[1] knowledge of hydraulics that's been present all along. Perhaps this shows just how isolated the different disciplines can be.

[1] I have a book from the early 1900s about water-operated elevators, complete with descriptions of all the valving required to control the hydraulic ram. They were logic gates, before they were even called logic gates!
I always look at Betelgeuse when I am out walking an it's a clear sky. It's very easy to spot and you can pick out the colour difference with the naked eye.

I hope it will go supernova in my lifetime, it will be spectacular. This dimming might be a sign of that.
I still use Perl for server side chores, but most all my web app code is JS now and runs entirely in the web browser.

As I recall, back in the mid-late 90s the phrase "there's more than one way to do it" was used a lot in reference to Perl, and that was generally true and made it pleasure to learn and use.

There soon came to be two very divided camps of perl users. There were guys like Randal Schwartz that considered themselves as elite geniuses and hacks like me who asked stupid questions and "made crap".

Coming from knowing nothing about writing code I bought books by Selena Sol and Lincoln Stein and learned a lot. They were very accessible with lots of example code. But Randall's O`Reilly books were just way too perplexing for me to get anything out of them.

I also joined some of the official Perl and Perl CGI mailing lists. Those lists were public but had just few hard core users and then guys like me, who knew almost nothing, came flooding in with lot's of newbie questions and things got pretty vicious. "RTFM" was a common snotty response that gave no help at all.

I made an effort to answer those newbies fast and courteous but they'd still often get just beat to shit by the snobs there. In fairness, Larry Wall was always very welcoming and encouraging to dabblers and beginners like me, and he did work hard to discourage snobbiness, but somehow those perl mailing list just attracted hardasses. Larry was never on any of the lists I joined.

If you go read some of those old emails you can see it.. I started the perl.macosx mailing list around March 2001 after getting chased off the "macperl" list for asking a question about perl on OSX when it first came out. I tried to keep things friendly on the new list and it was a lot of fun until the snobs showed up there too about a year later. I finally just unsubscribed after a just few more years.

It wasn't long after I left that participation in those email lists started really falling off. Now they're barely used at all. Can't blame it on Larry Wall though. I still love that guy.
The Invention of “Ethical AI”
Agreed, but learning grammar before you can even understand the examples used to illustrate a rule is putting the cart before the horse.

On the other hand, once you know a few specific instances, it's helpful to explicitly point out that they're governed by the same rule and give an abstract statement of how the rule works. That way you can check yourself without relying on a teacher to point out your mistakes.
Part of me, upon seeing the title, wanted this to be an updated version of the Safety Coffin¹.

¹https://en.wikipedia.org/wiki/Safety_coffin
Show HN: Monitor websites for changes and send scraped data to a webhook
The benefit of naming things to explain them is to obviate the need for jump-to-declaration. Yes, any time I need to know what 5*6 is, I can walk into the other room and get my calculator -- but if I have that knowledge in my head, I don't need to go look it up.

I think it's relatively agreed-upon that single-character variable names are bad, because they don't tell us enough about what the variable holds. So, too, do I feel about the type, when it's not obvious from context. So `age` would be clear enough that it's numeric^1. But what about the other example of `employees`? I would not know what I can do with that without having to jump back to the definition! Naming it `employeesById` tells you what you can do with it. And that seems like a win to me.

[1] It might not differentiate between integers and floats, but that feels too nitpicky to me to put in the name.
Yeah Scala on Graal will be fantastic - as I say in my post Scala isn't a great fit for serverless, but Graal is likely solve that.

I adore Finagle/Finatra and wish it had the mindshare over play.
It's sad that we as a species waste our time & resources on bullshit such as wars, parasitic businesses like advertising, etc instead of focusing on solving the most important problem that affects us all across all races, religions and cultures: death.
Ah, so it's about the computer recognizing the tones, not the other way around? Anyway, some sort of warning would make sense to add.
Hello HN, Monitoro is a service I built to watch websites for changes, scrape data, and whenever the data changes, send it to a webhook of your choice. 2 months ago, I shared this project on Hacker news and got a very warm reception.

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

Since then, I have learned a lot in this space and from usage patterns from our several hundred users, as well as extended research and insights from veterans in the industry.

I refined the concept (including much requested premium plans), added Chrome rendering and included a programmable layer in Javascript, and would love to hear your feedback on it!

For an overview of the changes, take a look here:
https://monitoro.xyz/whatsnew
> I cannot wait until...

This is probably correct.