skysight-inc/HackerNews huggingface dataset:
My immediate thought is specifying the requirements for the input and output desired. This is something I thought a small bit about when learning Haskell. It's easy enough to search on Hoogle[0] by type signature to at least narrow it down, but then you have to look through all sorts of functions to see if the semantics are correct. Then, one may think, perhaps having search functionality to pass a collection of inputs and outputs and run any relevant functions that have a valid type for the inputs and outputs. However, that could take longer to compute than just writing the function in the first place. It also gets complicated because perhaps what you need is a composition of functions (map reduce, filter map, etc.), so now how do you know when to stop composing functions to get the desired output? I'm not smart enough to know if there's a general solution to this (other than simpler cases of cycles).

I would also really like more insights into this. I'm working on a toy project dealing with bytecode and being able to interpret the semantics of a series of instructions reliably would be very handy. I believe if the above has any practicality then it would help my problem.

[0]: https://www.haskell.org/hoogle/
A Message to Our Customers (2016)
Alternate title: Hungry Delivery Man in Need of Generosity Finds None and Vents with Unfortunate Letter. Media and HN readers Fail to Empathize.
Wow, nice example. It's so good I initially thought I had completely missed something or your comment had suddenly become incoherent.
Agreed, it's only his perspective and isn't very persuasive. A major premise of the article is that having multiple displays will lead me to open distracting things in the additional screen space. Since this is not what I do, just about the whole article isn't relevant.

Typically, I would be coding on the left monitor, and then keep a browser open with references on the right. This keeps me from being distracted by having to switch tabs.
Beyond the suppressing information part, I think it's still reasonable to decline to watch.

Everyone is a consenting adult, I'm not saying "letting people tackle each other" is criminal or unethical. (Though as you say, mandatory football in gym class would be a different story.) The only thing here that ought to be legally actionable is knowingly hiding risks.

But we're talking about a spectator sport. I think a lot of people would feel sort of queasy if they saw a "good hit" and thought "wow, that guy just got a bit of brain damage". It's pretty reasonable to say "I want to see people perform challenging athletics, I don't want to see them destroy their minds". So the NFL might 'deserve' to fail because of this no matter how open and transparent they are.
It is quite common name for memory pools.
Well that's why it was suggested Google needed help.
this new paradigm of model view controller

New... in the 1970s https://en.wikipedia.org/wiki/Model–view–controller#History

It boggles the mind how little "web devs" know about the history of the field. No wonder they keep reinventing the wheel.
or and created a hugely unsafe situation by not destroying the corrupted mailer.
Not just that. It can use multiple OS threads and multiplex the goroutines on actual threads so programs can actually leverage multiple cores.
It depends :tm:.

There are still a lot of codebases that are callback heavy. For one, callbacks are faster than promises in a lot of node versions by a very large margin. In other code bases, legacy rules still apply.

Promises don't work well for some more complicated logical flows (though they're pretty damn perfect for the common ones) and async is still pretty new.

Just because it's not a problem you deal with doesn't mean that it doesn't still affect plenty of devs.
I'm not a facebook fanboy, but I did vote this down because it's a derailment based on an assumption. This isn't released yet and no one knows the terms.

Atop that, I'm just getting really tired of seeing the patent issue trotted out any and every time facebook or react are mentioned here.
> Let's pretend.. that Google and all of its services were going to [shut down] in exactly 30 days

That wasn't the question the post above was asking. The question wasn't "given a chance to prepare, would the economy collapse," the question was "if Google were to suddenly collapse, would our economy survive?"

There exist several single points of failure in our global economy. Given the incredible importance Google has in our economy, with search, email, collaboration software, and cloud computing, it's not a stretch to say that Google is one of those points of failure.

It's also a location of power concentration. Google basically controls the internet as most see it. If your site is removed from Google, its chance of becoming popular is almost completely removed. If you are forced off of Google and you aren't prepared, you could lose years of important information. They also track nearly everyone, opening up the possibility of corporate population control and cultural shaping.

Do we really want single corporations this powerful?
I don't think we have that same effect in software but I think there is an related one: when you don't have the protection of a static type system, you may become more careful.

It's an interesting theory. On the other hand, the amount of time and money lost to null pointer bugs over the years suggests that we still aren't careful enough.
How do you get stack continuity in anything that is multithreaded unless the debugger adds special support for it?
GEEKTyper.com – Hacking Simulator
Sarcastic tl;dr...
Nerds try to use computers to get a date. Surprisingly, it doesn't work.
~OT but it would be excellent to hear HN feedback on https://bookkeeper.apache.org/ and Twitter's DistributedLog and Manhattan projects.
>Schmidt couldn't have ordered the article spiked

The comment from the writer happened, then Schmidt complained. I don't think the writer asked Schmidt his opinion before he gave his comment.

In other words, Schmidt's actions were a result of the writer's comments, after the fact.
The Transformation of the ‘American Dream’
I honestly don't understand how football is still legal. I know it's popular but how can you see the evidence we've found and think people should still be allowed to play?
Sure, but you can probably make the sport a bit safer. In cycling or tennis, the lasting effect of PED use (after stopping) is being more competitive. In football, the lasting effect is being more dangerous to other players on the field. That's a huge distinction.
What are the current limitations of private transactions, are they slower than the normal ones?

Not sure what you are trying to say about the papers. I saw they were academic and theoretical.
Not really. McCarthy's lisp paper was 1959, 18 years before Backus' lecture. Also ML appeared in '73. https://en.wikipedia.org/wiki/ML_(programming_language)
In Italy math is considered generally part of science. In fact here at the universities math is part of "Mathematical, Physical and Natural Sciences Faculty" (roughly translated).

I am a bit surprised of the distinction; the term science comes from latin "scientia" which roughly means knowledge, so at least historically it was correct to consider math a science. Maybe it is a more recent (or just English) thing ?
> It's every photo in Facebook's entire database that ever included a recognisable image of them, tagged or not.

That is from my understanding wrong. In fact Facebook would not be permitted to establish the link. Just you appearing in the picture but it not being your picture does not qualify for personal data.
I often wonder why Python's gevent didn't become more popular. It would monkey patch the socket libraries to yield to an event loop, allowing you to magically use blocking code and libraries with practically zero code changes, and zero callback hell. I imagine it had to do with marketing - when Node was released, everyone thought the spaghetti horror that was Twisted was the only other event-loop-based game in town.

Ironically, now that we have async/await to replace nested callbacks, Node finally has the code readability that gevent users took for granted all this time.
A tad bit earlier - the Sherman Antitrust Act was 1890.

https://en.m.wikipedia.org/wiki/Sherman_Antitrust_Act
What's ”WST“? Did you mean WSJ (Wall Street Journal)?
ITT : a bunch of miserable hard nosed realist cum cynics masturbating to the idea that they're the only ones who understand what think tanks are.

Guys, we fucking get it : you truly understand the ways of the world. You're collectively a goddamn intellectual tyrannosaurus. Golf claps to many infinities and beyond.

Maybe for once we could move beyond banal observations about how the world is, and perhaps discuss how it ought to be and what can be done to make the human experience suck fewer balls.
The RAND Corp is a military long-range planning project that got separated from Douglas Aircraft to avoid conflict of interest that would jeopardise Douglas’s eligibility for contracts, and then took on a life of its own. It still does a lot of federal work ubder governments of both parties, and's kind of important to that that it's not seen either as an shill for a particular ideology or a shill for particular corporate interests. That is, while advancing particular viewpoints is the purpose of some think tanks and the financial interests of others, it's neither for RAND.
> Every language will have quirks, but Js certainly has a lot more quirks than Clojure. My team saw a huge gain in productivity moving from Js to ClojureScript on the front-end.

Were they using ESNext features? Where they using Babel to compile to ES3 or ES5? Or were they just using the old-fashioned JS that's filled with tons of huge warts? Because for me, the newer JS features are definitely a game changer. Not only do they reduce a ton of boilerplate code for me, but they make things safer, more predictable, easier to reason about, easier to catch bugs, and generally prettier.

> That's certainly not my experience. Everything in Js is passed around by reference, and it takes a lot of discipline for teams to write applications in a maintainable way.

There are several built-in methods in modern JS for returning new objects based on existing arrays and objects such as map, filter, and reduce, and there are libraries to polyfill basically the rest of `clojure.core` into it such as lo-dash.

> This works fine for small applications, however in large real world apps where you have a lot of state reloading a page every time you make a change is just a non-starter. I might need to login, navigate to a specific section, load some data, and then work on the presentation. Repeating all these steps each time I change a few lines of code is absolutely insane.

Unless your site needs to be an SPA, most of this is a non-issue. Just keep login information in either a cookie or localStorage/sessionStorage, and live-reload the page without worrying about state.

> Actually it does. Js syntax sucks for writing HTML, and that's why you have stuff like JSX in the first place. Now you have an additional DSL with all of its quirks on top of already quirky Js.

Sure, there are situations where you can't have your code be as nice without using some kind of compiler phase. ClojureScript macros may come in handy with this, but that still has its own caveats to be avoided. In my experience, it's not much different than the overhead you get from using JSX itself or a similar compiles-to-JS template language.
Of course the powerful are the best poised to fix your problems. Freedom of speech is the only peaceful and equitable thing we have to incentivize them to do it though.
No, but of course that's not what happened. They said shut down the open markets division or we'll pull funding. And probably there was something like "oh yeah and when you're looking at what our lost patronage does to your bottom line, remember that I also play golf with 4-5 of your other patrons so think very carefully"
Headline seems click-bait-y, doesn't it? "Kept the ISS Flying"? Last I checked the ISS doesn't fly. Even if we concede that as a term of trade, it isn't going to fall out of orbit because it gets no love from earth for a few days.
Good tips in here. I've found that other than not knowing how, the next biggest reason people don't write good code is that they consider doing so to be too costly. It's simple to justify that viewpoint if you just define all code other than the way the programmer feels like writing it as prohibitively difficult. Everything becomes an insignificant nit or "not worth doing right now" and the result is a death by 1000 cuts. It's easy to use these ideas as a shield against being diligent and paying attention to detail.
Regarding languages with OOP support, but lacking class methods.

- Object Pascal (in the TP days)

- Modula-3

- Oberon, Oberon-2, Active Oberon, Oberon-07

- Component Pascal

You need to resort to plain functions/procedures instead.
I'm sure you could find that if you found the study rather than an article about it (though I'm not sure if there is a scientific journal paper attached to this or where or how it will be published). The article says they compared to "healthy control subjects of similar ages". Presumably, what they are controlling the for is the occupation of being a football player, since that is the entire point of the study. Also this part

"Noseworthy was asked if there’s any chance the players’ results aren’t connected to football.

“No, this is football,” he said. “That’s the common denominator.”"
When Google funds an anti-monopoly think tank, it should be clear to everyone working there that it's an anti-non-Google-monopoly think tank that is really about how to prevent other organizations form gaining monopolistic footholds in any areas that Google might be interested in, and how to skirt any laws and regulations which block Google from doing same.
Terms of Service – ListenToYouTube.com
Hosting a static website for free
So, then the aromantics ?
Very nice. As you say, it doesn't just cast at the end, but actually uses the type through the whole calculation! To illustrate the difference:

Rust:

fn main() {
let a: f32 = 1e7 + 0.5 + 0.5;
let b: f32 = 1e7f32 + 0.5f32 + 0.5f32;
println!("{}", a==c); // true
}

C:

#include <stdio.h>
int main() {
float a = 1e7 + 0.5 + 0.5;
float b = 1e7f + 0.5f + 0.5f;
printf("%s\n", a==b ? "true" : "false"); // false
}

That's awesome. I'm totally fine with an annoying suffix like f32 if I never actually need to use it. While f might be a nicer suffice than f32, no suffix is even better.
In Clojure:

(defn make-tiramisu [eggs sugar1 wine cheese cream fingers espresso sugar2 cocoa]
(-> eggs
(beat)
(beat sugar1 wine)
(whisk)
(beat (beat cheese))
(fold (whip cream))
(assemble (soak2seconds fingers (dissolve sugar2 espresso)))
(sift cocoa)
(refrigerate)))
This is lazy thinking. Trying to smuggle the power into the concept of 'effective employment' doesn't do much to fix the issue if you're honest about it.

You need power to fire people you directly employ, let alone researchers at third party think-tanks.

Would google be 'effectively employing' this researcher if their contribution to New America made up less than 2% of their revenues rather than over half?
One of the things I've noticed is that everyone focuses on new users, to the detriment of existing users. They don't care if 10 users leave if 50 are on-boarding.

What they typically don't realize is that those 50 are going to leave too, but hey, at least they have big numbers for their reports!
My issue with this is that even if Google is currently acting in the world's best interest(which is arguable with its recent blatant attempts to shape the direction of our culture), power eventually changes hands. Someone eventually will control Google that will exploit that power to the detriment of the country and the world.
It's still 3 more platforms, which means 3 more developers, which leads to more $$$. Not everyone is VC backed with multi-millions.
Big discussion about this yesterday: https://news.ycombinator.com/item?id=15131370
I like the saving others time math - nice way to think about it.
The past tense form (and also past participle) of to think is glaringly ambiguous against the noun thought, suggesting that thought might be going on.

I humbly suggest the alternative thunk tank.

The bad grammar eliminates suspicions of thought and as a bonus, it rhymes with drunk tank.

"I thinked and thinked real hard and real long till I couldn' think a nuthin' I ain't already thunk. So I then I passed on the remainin' reckonin' on to the fine folks in the thunk tank."
Doesn't work. We've had research on this for a long time. For a small percentage of the population maybe they can make judgements on a fine grained model but for the majority of people it becomes confusing and often worse than nothing.
I’ve been using DuckDuckGo for a few years and can recommend it. Try it. There is no reason to wait. If you are not happy with a search result, prepend !g to your search query and DDG redirects you to Google search.
Honestly, I don't think they get to make that call once the device is in consumer hands. In this case it was for "the greater good", but now the fence posts can be moved in a bit more the next time they feel justified towards remotely manipulating something that isn't theirs.
Just to be clear: I will not subscribe to every single newspaper just because an article got linked on hn.
If "coding speed" is the most important factor, dynamic languages will win over typed languages. Types force you to slow down. But they offer some obvious advantages in the long term [1]

Not sure what the poster means by "defining a simple object" being difficult in TS, so it's hard to say.

[1] See every static vs dynamic conversation on HN, ever
It's still "callback hell" because you're still fundamentally writing code where you invoke an API and pass in a callback to handle the results. The fact that the callback you pass in happens to be a promise that allows you to stage other callbacks and/or promises doesn't really change things enough for the label "callback hell" to be inaccurate in my opinion.

A different programming paradigm, for instance, would be the use of delimited continuations such that the API you invoke suspends the current call stack, executes the I/O operation, then resume the call stack with the result of the I/O operation. Very few languages support that. One reason is that natively supported continuations in the programming language has far reaching consequences in terms of performance.

I'm not an expert on golang, but I believe this is essentially how goroutines are implemented: https://groups.google.com/forum/#!msg/golang-nuts/t3g8NbITYE...

Also keep in mind that I'm not 100% against callback-based programming. I have, for instance, implemented a non-blocking client for a custom TCP-based protocol using Netty. The client performed better than a blocking version that it was meant to replace. I played around with using Promises in conjunction with the library but ended up preferring callbacks to Promises for a number of reasons, some of which are specific to the JVM.
Uhhh.. Care to elaborate?
It is still safer than c, as it will not allow any segfaults. The only thing that can happen is a runtime error but no memory corruption so it is more akin to say Java or Go
Just to be clear: I will not subscribe to every single newspaper just because an article got linked on hn.

And no i will not trial every newspaper for an article linked on hn.
ok

http://awfulannouncing.com/nhl/2016-17-nhl-ratings-dropped-u...
That only happens when the teachers do a bad job not explaining interfaces, protocols, components, categories.... or as Rust puts them, traits.
No, you can prove things wrong. In fact, a lot of science is in making sure that your claims are falsifiable.

E.g, "the moon is made of cheese". cf. Bertrand Russell's teapot.
By programming using synchronous blocking code within a single thread, of course.
I, too, experienced this. But following football in the South is a quasi-religion and you can get ostracized for being a non-believer.
I wonder how their reliability is compared to a traditional spinning platter drive, for the typical workload of a desktop.

It would be nice if I could ditch the bulky spinning hard drive (or even SSD drive) and use a microSDXC card. I've tried that before, and while it did work, they quickly (within maybe a month or two) wore out and got errors on them. I can usually get at least 3 or 4 years out of a traditional spinning platter drive.
Thanks! I learned something new and useful today! (I think I still like mashing keys better though.)
You seem to be comparing apples and oranges - Wordpress is a CMS and Laravel is a web framework - two totally different products aimed at a totally different audience, but let's ignore that for a second.

The fact that 25% of the web is powered by it doesn't mean 25% of the web will actually pay for your solution - they might pay for a third-world competitor's one that's 10x cheaper, or they may not pay for anything at all.

I would also be skeptical about the amount of money you could make on WP vs Laravel or a similar framework. A WP plugin is relatively hard to sell at a good price (let's be honest, with a 100$ price which is pretty steep you're only recouping a little bit of the time spent developing the plugin, and I'm not even talking about mandatory tech support you'll have to provide). Excluding a few outlier plugins that have exploded in popularity, a PHP developer's job at a company or as a freelancer building quality products will earn you way more cash.

Of course this assumes you want to do legitimate business - if we go down the scammy route you could pretty much sell anything - even an empty PHP file - there are a lot of idiots out there who'll happily buy your "magic" plugin based only on your (fake) sales pitch.
Same here, fall now has so much more time for activities!
> On the hyperspec's definition, an array cell is not a variable, but it seems very unlikely that this is what the author of the paper intended. It's much more likely that what the author intended by "variable" the CLHS calls a "place".

There is no syntax to declare the type of a single cell, you can only put identifiers (symbols), not places, into declarations. Either your variable is declared to hold an array of, say, fixnums, or you bind a variable to the content of a cell and declare the type of that variable.

> Right, but the spec doesn't actually say what happens when this constraint is violated.

The spec says the consequences are undefined. Either you code against the guarantees of your implementation (which are hopefully more precise), or you aim for portability and consistently add check-type before locally declaring types.
very informative - thx!
You're getting a lot of pedantic replies, but your post is spot on. At the time it arrived, asynchronous operations were close to impossible in PHP, very difficult and awkward in .NET, and very uncommon in Java. In Node it not only was possible, it was impossible (without going to great efforts) to do otherwise.

People have a short memory, but at the time getting single to double digits of requests per second on a beefy server was entirely typical. Yes, someone somewhere could demonstrate an alternative, but node completely changed what was normal. It was extremely high performance for the time.
Missing the Lilium Jet and the XTI TriFan 600.
Also not the math dept's bathroom, it's a faculty member's personal bathroom floor.
Then don't read and don't complain about their business model. Simple.
Two United Airlines B737-800s Land Side by Side at SFO Airport
The difference being Eric Schmidt and Google took an action. Eric Schmidt and some other business he owns did not.

The action was against an organization that Google was doing business with because the arrangement no longer made sense for Google. A think tank and a newspaper are not the same thing. There is no expectation of integrity from a think tank.

The original comparison suggests Amazon is abusing influence to control the narrative at WaPo in the absence of any evidence of such abuse.