skysight-inc/HackerNews huggingface dataset:
> An example of this is the concept of resumable exceptions. During Semantic's interpretation passes, invalid code (unbound variables, type errors, infinite recursion) is recognized and handled based on the pass's calling context. ... Porting this to Java would require tremendous abuse of the try/catch/finally mechanism, as Java provides no way to separate control flow's policy and mechanism. And given Go's lack of exceptions, such a feature would be entirely impossible.

Not knowing much about FP, It'd be great to see a more in-depth article explaining this problem domain a bit more and showing some side-by-side examples of Haskell's specialized call sites compared to a Java try/except/finally solution (although Python would be a better procedural exception-based language to compare to)

One of the main reasons I don't care much about Haskell is because without any side-by-side comparisons of Haskell vs <insert procedural language> I don't understand what the Haskell advantages are, and I don't know when I'm dealing with a problem space where Haskell would help me.
AFAIK, macOS comes with Python 2.7 and without pip. For any serious, modern, Python development you need to install Python 3 yourself.
Sites like HackerRank and TripleByte do a great job of telling me whether a candidate has been studying to pass interview questions on HackerRank and TripleByte.

They do very little to tell me whether, in the words of Joel Spolsky, they are "smart and gets things done."
It would be interesting to know how Apple's automation works as the impression (may not be accurate) is their approval or denying is a bit more precise.
Not everyone wants an inclusive definition, some people want discriminatory definitions. And I don't mean discriminatory in a negative sense. If "four" means 4, it would be more inclusive if it also meant 5 and 6, but it loses some utility in its inclusivity.

My problem isn't with your definition, it's with your implied assertion that we should "we want a simple inclusive definition," which is clearly not the case, as the differing priorities in definition are literally central to the debate.
This is the most aggressively anti-human thing I have ever seen, possibly even more than ISIS or cartel executions, because at least the perpetrators of those atrocities know that they are doing evil, even if they're unrepentant, which is more than can be said of the doctors in this situation.

I have been suicidally depressed, institutionalized. I'm better now. I suppose if I actually attempted to kill myself, but failed, paramedics that find me ought to let me go, or perhaps even finish me off if, say, I am in agony due to the method I used? Why wouldn't they, since after all, I've clearly chosen to die of my own free will? Yet, I now know that I was mistaken during my depression. Life is not about hedonism, not about maximizing pleasure experienced, which inevitably, inexorably, leads one to the conclusion that if there's just not a lot of enjoyment in one's life, and this has been persistent, then perhaps checking out is a good idea?

The path an individual life may take is unknowable, both to society and to an individual themself, even if the individual has attempted suicide. Negate this, and all human rights are instantly negated, as now all there is, is predicting who might be better off dead, as there is after all, no point in prolonging their existence, and they should be encouraged or gently nudged to at least consider the path of least suffering, because this will end their pain and decrease the overall suffering of the humanity. This is all because we have deluded ourselves into thinking that we and they know how their lives will play out. We do not, and no one knows, and therefore they must have certain rights, to maximize the near infinite potentiality of the individual human.

Society and government must not ever approve of this. I didn't believe euthanasia (and this is euthanasia, the real case is even worse than the original story) in the case of the terminally ill was a slippery slope, but then we get this case, seemingly out of nowhere, from an ostensibly enlightened, progressive, European country. I now see that making exceptions for the terminally ill is not safe, it just won't stop there.

And why is the approval of the laws and society sought anyway? Suicide is a mechanically trivial action. You can literally order poison hemlock off Amazon, no assistance is needed, and anyone committed to kill themselves obviously has no regard for their society, as they plan to deprive their community of any benefit they could have given it. Therefore, they should not expect society to sanction their ill-considered desires.

Dostoevsky predicted all of this 150 years ago. Read Crime and Punishment if you disagree with me, yet deign to consider yourself an intelligent, educated person.
Wp is really phoning it in recently, has something changed there?
https://www.ruby-lang.org/en/documentation/installation/#bui...
That leads me to wonder what kinds of "dark patterns" will occur.
You Can’t Defeat Nationalism, So Stop Trying
Can you show an example of an article in a British publication that treats singular corporate entities as plural?

(theregister.co.uk doesn't appear to follow the convention)
Awesome! It's really hard to not believe that the diamond is moving.
I don't understand why everyone is so excited about this. I don't like using brew. I use a Mac because things just work. It was annoying that the system versions were old, but most of the time they were still workable. To me, this is another (admittedly small) thing I liked about the Mac that's going away.
It's a perfectly valid complaint, though I don't think it's all that critical.

For debugging, the `dbg` macro is the way to go, so you can skip string interpolation for that entirely (see https://doc.rust-lang.org/std/macro.dbg.html for details).

And when you do want to use string interpolation, you can always grab a crate such as interpolate or any of the others. (https://crates.io/search?q=interpolate). No need to change how the language works when you can download or build a library that suits you.
Great article. It expresses ideas similar to Game & Watch and GameBoy creator Gunpei Yokoi's philosophy of Lateral Thinking of Withered Technology.[0]

> Yokoi said, "The Nintendo way of adapting technology is not to look for the state of the art but to utilize mature technology that can be mass-produced cheaply."

> "Withered technology" in this context refers to a mature technology which is cheap and well understood. "Lateral thinking" refers to finding radical new ways of using such technology.

When designing the GameBoy, Yokoi realised that the older, simpler Z80 processor would just as well serve the purpose of making fun handheld games as the more contemporary options would (and one might argue that the limitations of the machine forced game developers to be more creative than they might have otherwise). Likewise with the monochromatic display.

The GameBoy was cheaper to manufacture and buy, more well-understood by developers, and crucially, much more power efficient than its several competitors. And it killed them.

[0]: https://en.wikipedia.org/wiki/Gunpei_Yokoi#Lateral_Thinking_...
Installing the version you need when you want to run a script is arguably easier for newbies than all the error messages arising from an out of date implementation originally included with an OS.

it's not like installing python is any more complicated than any other piece of software that needs to be installed. Windows users have had no choice but to do that for decades.
To signal the action and intent to go public.
Wikipedia cites its sources, and some of them are juicy indeed....

>In 2011, Seneff began publishing articles on topics related to biology and medicine, an area in which she has no relevant qualifications or expertise, in low-impact, open access journals,

>Seneff's claim that glyphosate is a major cause of autism and that, "At today's rates, by 2025, half the kids born will be diagnosed with autism," has also been criticized...contrary to Seneff's claims, many scientific reviews have found that the rise in autism rates over the past 20 years is due to changes in diagnostic practices

>Clinical neurologist and skeptic Steven Novella criticized Seneff's Entropy publication for making "correlation is causation" assumptions using broad statistical extrapolations from limited data,

>In 2014–2016 Seneff was proposed as an expert witness for litigators seeking damages from Pfizer associated with their cholesterol drug Lipitor,[15] but the court dismissed the claim largely because Seneff lacked expert status

I love the last one; she's actually a court-certified quack.
Learning how to install and configure development environments is an important skill in general, but I'm not convinced having those skills as a prerequisite for exploring programming as a newbie is at all valuable.
> the only people who try to mount a case that the answer is yes are people whose livelihoods depend on everyone being OK with ads.

Playing devil's advocate... Advertising helps the world in the case where a person has a need and they see an ad that informs them of a way they hadn't considered to address that need, and that solution proves to be better than available alternatives.

... I'm sure that happens ever. I am skeptical that it's enough to net positive.
RDNA Coming to Mobile
It seems like the core of the issue has to do with array indices vs function application. Julia uses curly brackets for type parameters because it can't use brackets because they are taken for array notation. But what's wrong with less than or greater than for type parameters? If it's followed by colons for contravariant/covariant types, I don't see why it can't be used for both.

Julia's great, but the Pascal-like 'begin and 'end' delimiters strike me as incredibly ugly. There are many alternatives that I can see (such as the one I mentioned above) that would obviate this situation.

I consider myself a 'mathy' person (I work as a quant), but even so, Julia is a very odd language. All of these compromises or whatever just to please the math people who have a hard time programming. Some of these things the more I think about them are great (array indices starting at one make a lot of sense, actually) and the ability to just write '2x' instead of '2*x' is growing on me.

I guess I don't know what my point is. Maybe it's that Julia seems a little alienating for CS types, and that might hamper adoption.

All in all, Julia's pretty great, despite the minor quibbles I mentioned. I sure as hell wish I could use it for quant work instead of being stuck with the vastly inferior Python.
Fast-Charging Batteries Die a Lot Faster Too
Very interesting thread -- if you're the type of person who comes to the comments before deciding whether to read, I recommend it.

I'd also like to point out that today in 2019, linked lists perform like absolute dog shit in many real-world contexts even where they have the best big-O notation.

Somebody jumping straight to a solution based on linked lists without at least mentioning memory latency is a sure-fire sign that they have never done detailed CPU performance work. (Which is not necessarily a requirement for most programmers, but it's one piece of signal among others).
I fear any access to the internet could result in a scam popup... there isn't anyway around that expect some sort of instruction to call you or someone before they do anything, like pay money.
That’s because no ruby developer ever depends on system ruby. It superfluous, not a vote for python.
I think its potentially bad the common thinking I've seen where an interviewer ( and I've fallen into this trap ) thinks "whoa! X years of development and they can't do that! shakes head slowly". It's more a failure of the interviewer to find out what the X years of experience entailed. They could be insanely good at something really useful and just haven't coded many things like your random coding problem.
Have you used it for anything interactive? All of the above seem to me like natural fits for a pure functional style
Or, is it because it is something that a middle aged middle managers can keep using in their interviews without learning anything new for decades?
Bees as a service has existed for quite a long time and is a pretty interesting business:

https://m.phys.org/news/2018-05-farmer-hiveinside-world-rent...
Apple force's you to use their platform if you have an Apple device. You can't install fdroid, or anything else.
... but you have to install these in Linux as well? Python, ruby, etc are not required for Linux to run and for a long time we’re not installed by default (I don’t know if they are these days because the regular fresh install dance for Linux just has me autopilot through installation of all the things that are inexplicably not included, which historically included python).

There are many reasons that people choose to use a Mac, mostly when people say “Linux” in this context they mean: posix shell, and the ability to run most other posix software (eg most Linux commandline apps).

It’s not because it has every interpreter on earth installed by default. In fact as others have said the current status is that the system installs of python and ruby are old because updating them breaks software. The solution is to make them not part of the OS so if software does want to use an interpreter they don’t lock the shipping version again.

Linux doesn’t have this problem because it’s assumed that your update process comes from a central repository of all the apps so if you (say) update python you also pull recompiled updates of all the apps you have that depend on python. Software installation on a Mac is generally not all from one source, and even if it were Apple doesn’t have the ability to recompile other developer’s apps.
This sort of standards-purism goes too far, IMHO.

The map is not the territory: C compilers are real, concrete things that have real behavior regardless of whether that behavior is defined by an international treaty.

"What does the C standard require of an implementation when given this program" and "based on your experience, how might you expect a typical implementation to react to this?" are different questions, but both are interesting.

None of this implies, of course, that I think it's a good idea to write UB! But I think an ideal candidate would both know what UB is and also some of the ways it manifests in practice. If you don't know that code often segfaults on null dereference, you are going to have a very hard time debugging segfaults that you see in the real world.
The business has reached its peak. The remaining person will find it psychologically impossible to create new value working solo, with the knowledge that 40% of it will be taxed by the ex business partner. No investor will put new money into an enterprise where 40% of the cap table is not involved. You are not splitting future growth, you are now dividing present assets as this won’t be a going concern much longer.

Your options are either reduce your stake to keep the business viable for remaining parties, or sell it completely for a fair price. To uncover the hidden fair price, one person decides the share price, and the second decides if they will sell their stake or buy out the first.
I mean, you could use \ and / for type parameters. Or even parens (Julia doesn't support Scala like double parameter lists as far as I know). What makes Julia so unique that it needs to make different choices than virtually every other modern language? (See my above comment for more clarification).
Crystal is definitely the next language I want try for some use cases
On Linux, the Homebrew installer is a shell script that invokes curl https://docs.brew.sh/Homebrew-on-Linux. I guess, they can rewrite the current installer that uses Ruby with a shell version for macOS too.
That isn’t semi-official. I know of not one ruby dev at Apple that uses MacPorts. That’s not to say there isn’t one, but they are rare.
TomTom Traffic Index: Mumbai Takes Crown of Most Traffic Congested City in World
Wow this is incredible. Thank you for the example; much easier to understand the value right away
> They were primarily concerned with Pan-Germanicism.

If that was the case, then why did their policies include the murder of millions of German-speaking Jews, Gypsies, and people with disabilities. What was it about those people that made them not fit the category of "German"?

The answer from clearly documented history is that the Nazis systematized the categorization of humans on their deeply flawed model of the Aryan "race", and singled out those who didn't fit for subjugation or extermination.

Conversely they also planned to further "purify" their own people by planning to subject Scandinavian populations to forced interbreeding programs upon conquering them, and kidnapping "Aryan" children from neighboring countries.

https://en.m.wikipedia.org/wiki/Lebensborn

https://allthatsinteresting.com/lebensborn
I know this is an important topic, but it is not on topic. see:https://news.ycombinator.com/newsguidelines.html
As a parent I've been cutting our family over to iPhones before this policy because the Android app world have become so fucking toxic. I'm delighted to be able to pay for things up-front as a business model.
You have me quite interested. What else do sites like HackerRank & TripleByte tell you?
Because relatively speaking, there’s not that many of them and it’s only fair. The rich get Medicare, right?
It’s part of why companies like Apple and Microsoft care so much about backwards compat

Compared to (former) Microsoft, I don't think Apple spends anywhere near the amount of effort MS does on backwards compatibility.

You can create a single .exe that will work on any Windows starting from Windows 95 - nearly 25 years. In that timespan, Apple changed CPU architectures twice, and their OS architecture once. If you're willing to restrict yourself to 32-bit Windows, which can run Win16 and DOS apps too, then it goes back to the early 80s.
The down side to that is that ruby is currently required to install Homebrew.
Ageist BS. I know plenty of >40 who are brilliant interviewers and <25 who are useless ones.
Still 90% even without IE, though.
You basically rewrite the current Ruby installer in a shell script that will download a Ruby version from Homebrew ...
Large-scale structure has been attributed to plasma-dynamic effects. It's not a popular hypothesis, apparently in large part because plasma dynamics is hard. So plasma is generally agreed to be there (to the exclusion of everything else, really -- except, y'know, dark matter), but is not allowed to (be said to) do anything dynamical and hard to model.

It will take a future generation of plasma-dynamics-loving astrophysicists to change the ... er, dynamic. Presuming we live that long.
I remember reading years ago that one of the airlines somehow added a bonus to baggage handler salaries based on luggage performance and immediately cleared up most of the problems.
> I would argue that it is far, far more common for people to writing stateful code to do things that are better done in functional style, than the other way around.

For sure. But still, there exist cases. Many of them in JavaScript, actually. In my JavaScript UIs I relish every opportunity to write something as a pure function. But I also need to manage a lot of deeply structured, non-homogenous state that's genuinely meaningful to the application. Separating the two is crucial, but both exist. I've really enjoyed MobX, as it allows you to make the most of both types of programming and hook them up together in a cohesive way.

> I think Haskell is not more widely used in the industry because it has a very academic reputation...you are more likely to be perceived as some eccentric scholar or their like.

And yet Clojure has gotten traction :)
Because time and time again it is proven that "these companies" (Facebook and Google) will use any signal they can get their hands on to make money?

I'm pretty sure they've both been caught with their hands in the cookie jar doing things they swore they never would.
Agreed! Its super important to make sure the job, job description, candidates, and interview questions are aligned.
The problem is accruing security flaws (increasingly difficulty to back port fixes), and also the problems that come up when you install a different version (lots of Software just assumes it can use the same system python, which causes issues when it isn’t the archaic version).
What is a clarification combined with a change in behavior?

Redefinition.
If you're referring to the python2->python3 change, this was a pretty important one. Having a string type that isn't required to have valid encoding is an awful idea.
I agree. So much so that I built a website to support that same theory - that you are better off with your own equipment selection and an internet-connected screen.

The website, Slipstream https://slpstream.com is a human-curated (high quality only) aggregator/reviewer of the best content for treadmill/indoor bike workouts.

Inspiring documentaries, guided workouts (I've used the GCN ones for several years and love them), podcasts...

There's a filter so you can find what you need fast and if you register (free, username + password) you can bookmark your favorites and save them to a playlist.

My goal is to reduce the friction between wanting to workout and getting it done. To flip the switch from a chore to something you are excited to get to.

I'm trying to prove product market fit right now so would love any feedback :)
I'm sort of terrible at terminology and trivia.

I finally got an interview with a take home assignment. They asked questions about my work and how I found solutions, most my explanations we're something like:

"I just looked some things up and didn't like that approach because it seemed like it wasn't very flexible if things changed, but did like this one so I used it..."

I was later told I was not the top candidate, but was the only one who produced an assignment that checked all their boxes and more and showed I could work independently and produce.

First job aquired.
Are you going to answer my questions or just keep repeating strawmans?
One of the Racket tutorials actually goes into an example of using continuations to save application state for a web app (https://docs.racket-lang.org/more/index.html#%28part._.Conti...).

One issue with this approach is that it doesn't really scale easily beyond a single server. You need something like the JVM which allows for closures to be sent between machines sharing the same code base. Plus, even in the JVM case, you must have the class files required by the closure available on the JVM which tries to run it.

I really think it is a better idea to just use a database and pass state explicitly rather than trying to do something fancy with continuations. However, continuations can be extremely useful for making the server asynchronous without making it look asynchronous.

While Promises are nice, I think they are severely flawed in that they must "infect" any code which tries to use them. For instance, I was dealing with some Typescript compiler interfaces a few years back which expected to be able to read files synchronously, something which does not hold true if you try to emulate a filesystem in the browser using web requests. With true continuations, it would be possible to simply pause this computation transparently and then resume it once the request was complete.
"Semantic" looks pretty neat. Are there are previous threads or announcements about Github's goal in developing it (i.e. services for which they plan to use it)?
That's called a "just so" story. Scientists are not gentle about those.

It's all, "show me the math or GTFO!". Understandable, really.
Your openness and honesty makes you cool in my book.