skysight-inc/HackerNews huggingface dataset:
> To what degree is preservation the responsibility of a local lending library? (As opposed to an archive; a museum; the Library of Congress; county courthouses; etc?)

Personally, I would say even local lending libraries have a part to play in preservation. They may have copies of local periodicals that exist nowhere else. They should at least do some due diligence with other, more common, items to make sure they don't discard anything that's potentially now unique or rare (e.g. a collection of unfashionable midcentury children's books that all libraries decided to purge around the same time). Stuff like that should be kept in an out of the way warehouse or something.

A local lending library shouldn't have to keep seldom used books in easily accessible circulation, but I feel there should be other options besides that, pulping, and digitization.
I've worked with a S3 + SQL system. It was used for serving data for a reporting dashboard where the stored data was in the 0.1-10 TB range. As the use case was only semi-interactive (users didn't mind waiting 1-10 seconds for a report), and all the queries were pre-defined, this solution was a good fit.

I think it makes sense when there's no in-place updates; either querying write-once data like logs or the output of batch data processing roll-ups that replace the previous data. The less you need the relational model (like joins), the better, but some of those needs can be met through careful design of the storage schema and denormalization.

I wouldn't advocate this sort of solution if your requirements include in-place updates of existing data, frequent/granular updates of new data, expressive ad-hoc queries that use the full capability of relational algebra, or tight latency requirements. You also lose the safety net of referential integrity and table-level constraints, as those are now enforced in custom code that can have bugs.

I would say maintaining this system cost about a half-engineer for ongoing maintenance and new functionality.
> Combine the concrete IO type

Why does it need that concrete type (taking one world and producing another)? Why can't i just have it's concrete type be Char? (obviously you would implement with some unsafe inside). But does referential transparency still hold?
Aaand we're off!

(For me, the name of the place is "Año Nuevo State Park", in Spanish, so "Ano Nuevo" is simply misspelled. Don't let your technology control you.)
Not always possible if the requirements of the project dictate the language.
The comment above probably meant to say that any environment becomes "serverless" as soon as you stop managing instances/servers manually and interact with it strictly via an API endpoint, which of course has always been possible but required fairly in-depth knowledge of AWS APIs (or other cloud provider's).

Look, there's nothing dirty about re-framing the conversation every once in a while. It may feel like BS at first but over time we attach new meaning to old words and it becomes easier to communicate capabilities.
(I work at OpenAI.)

Worth noting: it's a well-supported route to join OpenAI without any special graduate training. Many of our teams (including our robotics team!) hire experienced software engineers, teaching them whatever ML they need to know, or our Fellows program lets people do a more formal curriculum (https://blog.openai.com/openai-fellows/). We also have a number of software engineers who focus on what looks like traditional software engineering: see for example https://www.youtube.com/watch?v=UdIPveR__jw.

See our open positions here: http://openai.com/jobs!
Terrifyingly amazing.
Financial performance does not indicate that the company's actions are ethical. To the contrary, it is often the opposite because one of the prime motivators for unethical behavior is the promise of financial gain.
China is not fudging the numbers. otherwise, it would imply that major US companies that do business with China are also fudging their numbers. Trade with china has surged in recent decades.
I'd encourage you to expand the book-promoting paragraph to include a bit more info / some interest-generating hooks about what the book offers that the article itself hasn't already provided.

If you really want to make this model sustainable long-term I might even make the recommendation paragraph dynamically customized based on referring source (here's a WordPress plugin that would let you do this: https://wordpress.org/plugins/if-so/). History enthusiasts are likely to be intrigued by a different set of things from the book than HN's business & systems-thinkers or an RPG community interested in world-building inspiration.

Lots of people will read a general-interest article (quick & no cost), but to get conversions to an actual sale, you need to target specific interests.
> and full of wasted computing.

The amount of waste already present would boggle your damn mind.
I've switched to VSCode after years of WebStorm, almost painlessly. I would advise to try it for 2/3 weeks (taking the time to configure it and install relevant plugins as you go), that should be enough to give you a sense of it's working you or not
There is no clear right or wrong in economics. A society must define goals and then economic policy can help achieve them.

Things like income distribution, freedom of markets and others are value judgements. You first have to agree on these before you can ask an economist.

This is not physics where nature decides what's right or wrong.
>The Great Depression discredited the idea that economies were basically self-correcting, and the following decades saw the development of Keynesian theory and the use of fiscal stimulus.

THIS, is a complete fabrication and lie to reinforce the status quo.

The Great Depression was caused AND sustained by manipulation of a centrally planned currency by the Fed. Read their deliberations and documents to see.... it didn't "come out of nowhere" but with calmly decided well in advance.

Anyone who studied The Great Depression knows that there was nothing free about it in any sense.

This article is a big proganda peice pushing Keynesian economics and continuing to pretend that the Fed is not a central planner who intentionally caused that depression.

Monopoly over currency and price fixing the interest rate is tantamount to central economic planning, as was done in the earliest Communist countries.

The boom and busts are happening because people have the vanity to think "they know better" to mess with markets and the bust happens as a way to "snap back".

Take away the state's forceful use of currency and manipulation.... and you will take away irregular boom and busts.
I suppose that knowing only denotational semantics would be sufficient only for programs consisting of pure functions. E.g. a batch job that receives input parameters and returns the result via the minimal runtime-provided means would be an example.
Probably arrow functions?
It would be amazing if typescript could become the browser standard. I'm currently suffering from performance and readability issues from writing and filling typed structs in javascript with non-word alignment.

e.g. I've got data like this:

struct Point{
float x, y, z;
unsigned char r, g, b;
unsigned short intensity;
double gps_time;
}

Point[] points = new Point[1234];

Reading, generating, and manipulating data like this is a bitch in javascript. Typed arrays have to be aligned to the byte size of it's type and because the offset of gps_time isn't at a multiple of 8, it's not possible to read it with Float64Arrays. DataView works but it's an order of magnitude (!!) slower than typed arrays so the best thing I can do for now is to read a double by treating everything as Uint8Array(), and then read the 8 bytes of the double into a temporary ArrayBuffer that can be used to convert between types.

My hope is that Typescripts type system is good enough to be able to treat this kind of data similarely as you can in C++, and that it would then become standard.
They currently don't seem to be behaving in ways that actively hurts customers. I don't think there anywhere close to as big as BoA. My issue is more with behavior. But yeah, I've been considering opening a local credit union account to try that out too.
Well, i can see that you are a expert in this field, but i still have to say the method they demonstrate, domain randomization is a big deal because that can then be applied to anything else like picking up stuff. Domain randomization is a year old thing now, but it's a big deal - if you can build a "crappy" simulator for it, you will be able to do anything. I feel like domain randomization isnt being promoted enough in the media
After many years of Haskell, I was playing around in C the other day for fun. I'm writing low-level network code, and my code looks like this.

int err = socket(...)
if ( err < 0 ) { do_something; }

err = listen(...)
if ( err < 0 ) { do_something; }

Haskell's bind operator >>= makes abstracting this really simple. I wish I had it in C.
One of the last things not automated at Amazon fulfillment centers is identifying and picking up the item from the shelf brought by the robots which contain it.
This is a somewhat misleading way to think about Haskell and monads—it puts the cart in front of the horse and obscures both how Haskell deals with effects and how monads are more general and useful than just IO. This blog post ends up mystifying more rather than demystifying.

Then again, this shouldn't be a surprise from an article that describes the Haskell ideas as "the Haskell monadic dogma"! You wouldn't expect a particularly charitable or educational account to start like that.

A much better way to think about it is to think about IO without considering monads at all. One of Haskell's core characteristics is that it explicitly separates code with side effects from code without side effects using the IO type. This is a powerful design in and of itself—it's a tool for helping programmers manage effects and not a hack around laziness.

Personally, more tools to manage effects is exactly what I want. After all, even in languages, code I write is carefully organized to separate most side-effects (API calls, database accesses... etc) from the domain logic, but this happens solely through convention and code organization. Having tools in the language to express the same separation is powerful.

Note how I never needed to talk about monads here—IO is the important concept. With this in mind the real question is not "why does Haskell need monads?" but "why are monads a useful abstraction?". This gets a bit long for an HN comment, but I wrote a blog post with my thoughts a few years back. It started like this:

> I believe the notion that Haskell uses “monads” to enforce purity is rather misleading. It has certainly caused quite a bit of confusion! It’s very much like saying we use “rings to do arithmetic”. We don’t! We use numbers, which just happen to form a ring with arithmetic operations. The important idea is the number, not the ring. You can—and most people do—do arithmetic without understanding or even knowing about rings. Moreover, plenty of rings don’t have anything to do with arithmetic.

> Similarly, in Haskell, we use types to deal with effects. In particular, we use IO and State and ST, all of which happen to form monads. But it is still better to say we use “the IO type” to do IO or that we use State for state than to say we use “monads” to do IO or state.

You can read the rest here: http://jelv.is/blog/Haskell-Monads-and-Purity/

This is by no means a definitive discussion of monads or anything like that; it's just a perspective I found useful for understand what Haskell gets by having a monad abstraction and why it's interesting.
The process of terraforming Antarctica to be more habitable would destroy the rest of the Earth.
> This was in the context of hiring, and I gave my operational definition...

That is actually a helpful reminder - the context of the conversation is a blog entry that struggles over the objectives of quotas and the utility of using race and sex as a proxy for diversity quality beyond... race and sex.

> Presenting a solution, or an attempt at a solution, is an expression of one's thoughts.

Yes... are you trying to defend your prior conflation of behavior and thought?

> Example 1 ... do you hire for more general diversity of thought and expect more overhead to train people in COBOL?

That depends entirely upon your organization's capabilities and priorities. Hypothetically lets say that the bank's long term objectives don't include a migration from COBOL, the IT department doesn't have a long history of successful inhouse training, and being a bank - is generally risk averse. First, filter for candidates that demonstrate an acceptable level of competency in COBOL. Second, filter for candidates that have skills and interests that are not organic to your team - but could feasibly be useful (in your mind, that is all we've got). Third, ask the candidates for examples of times that they've come up with novel solutions to difficult problems. Here is a personal example: I once accidentally landed a contract when I was having lunch with a friend and his boss, I was later told the clincher was my long exposition on fault tree analysis in ballistic missiles. The contract involved the integration of time management and security systems.

You seem to be struggling with the prioritization of diversity of thought over skills that are actually need to perform a job. Here is a hint: the first order of business is getting somebody who you imagine can do the job (skills, job history, etc). If you have more options that positions, of those people, select the one who demonstrates the ability to reason in a way unique to your team.

> Example 2.

You hire the guy who points out that you did a poor job of framing the problem. Not only did you describe it in a way that could be interpreted to demand an implementation that spits in the face of POSIX utility conventions (newlines as argument delimiters), but you also failed to establish a success metric (time, maintainability, performance, etc).

> Surely that's even more diverse thinking - and completely within the test protocol as given.

You described a bunch of potential implementations, not different ways of thinking. The protocol you gave wouldn't be useful to measuring diversity of thought, unless you modified it to include the possibility for interviewer-interviewee interaction, where you might get some clues about their thought process. "What is the success metric?", "Are the sorted values bounded?", "Is the source untrusted?", "How does this fit into the larger process flow?"

> That is, should I do something which I know is less maintainable simply because I know it's more obscure and thus shows my diversity of thought?

No, even in the cartoon funhouse of an example you provided - they might already have a Python weirdo running amuck, you'd add nothing. You don't know that ahead of time.
Many of Our Beliefs Are Unconscious
Thanks, I really appreciate the insight.
Neat to see that they started by interviewing a diverse subset of their engineers; that type of user-centric research is invaluable. Moreover, I wonder what of their methodology could be mapped to a live analysis of the code review conversation threads they're having via GitHub.

More than anything else, though, I'm curious where teams like this still go to buy those amazing Apple Cinema displays?!
It is polite. ;P
The fat arrow is the most obvious one that comes to mind.
Or more simply put...unregulated greed eventually runs out of buyers and the sellers are left with overpriced junk.

Of course I still don't get why the three ratings agencies are allowed to continue without actually doing their jobs or how banks pay the ratings agencies and _tell_ them what their "paper" ratings should be.

It's all a trust game and when one of the players decides (inevitably) to game the game, the house of cards collapses....and those of us that rely on a normalized system of monetary policy are screwed.
I didn't say it was just about paternity, just that it is mainly about paternity. Similar to how breast cancer is mainly a women's issue, despite some men getting it as well. The article makes something that is not equal seem equal. That was my one nit.
When Ramjets Ruled Science Fiction
"Umm" what about this exactly?
Vue seems to have a lower learning curve for people with a background in webdev, because it's more relatable to the old school way of doing things. React seems better coming from other areas of programming, especially functional. React is also better considered "infrastructural": every React app needs to piece together a framework (router, "state management", forms, etc), whereas Vue has community enforced norms & standards that can answer those questions for you. Personally I use React.

Good luck!
Executing Encrypted Python with No Performance Penalty
Self-driving cars with LED screens to communicate with pedestrians
I am usually amazed twice by 3B1B videos. First by the way he presents the material, then by the fact that I've never seen it presented anything like the way he did it. While I'm no mathematical scholar, I have read and re-read a lot of "basic" linear algebra and calculus. Usually choosing a different source every time I have to go back and re-read it. And I've never come across anything that does as good as his series on those two subjects.

Granted, I'll still forget the material since I don't use it every day. But I do believe it gave me a deeper insight, and will help me remember it longer.
-I was two years old at the time and only know this from photo albums, I'm afraid; he got out of the air force at first opportunity and started working on the 727/737 for a commercial carrier instead.

I still never fail to get an interesting story or two from his AF days whenever we meet, though - trusting stuff like the Starfighter to a bunch of twenty-somethings is basically ASKING for lots of close shaves growing into very tall tales...
If you're looking to understand what Monads are or why they're interesting this isn't the place to figure that out.

Monad: if you have a data structure that wraps some value of any type, then you also have to implement the interface that provides `return` and `bind` (there's talk about requiring another method, `join` but I digress). The data structure is the "context" and the interface is how you compose values from other Monads together using functions. If you can prove your implementation of the interface methods follow certain rules then you have a Monad.

Why is this pattern/abstraction/interface useful in Haskell?

I think there are several reasons. The article touches one of the most talked about: sequencing. Because of the way the rules of the Monad interface are structured you're guaranteed that the functions you use to compose your Monads together will be executed in sequence with respect to their definition in your function body.

(How it all ties together is straight-forward but requires a certain pedagogy and exposition to follow that I won't get into.)

This is, consequently, what makes Haskell the best imperative language in the world. Not only do you get to use it's wonderful type system but you can compose together small imperative programs into bigger, more useful ones.
A response to the Nick Chater article:
http://nautil.us/issue/62/systems/there-is-no-such-thing-as-...
CLS, IBM and banks test blockchain app store
Uninstalling the BS apps helps you also disconnect from the "news cycle" (whatever that might be) [1]. The advantage of lightphone is that it is a next-gen dumbphone. It has high battery uptime, yet has a touchscreen (e-ink) with some basic functions. I find it very expensive for what it delivers, but right now its a unique niche (e-ink wise).

[1] I do not visit Facebook or Twitter nor do I have their apps on my smartphone. I do visit HN though.
>There are some sites that are applications, and there are some sites that are documents.

>I'll go as far as to say that will never change. Applications are only one part of the web; the other parts matter too.

That's true, but it's also not the problem domain.

No one is having trouble creating document websites on the internet. That problem is, more or less, solved to the point that almost anyone with no technical background can do it.

Application-type sites are where all the pain points lie.
Unless they are a market making financial institution, yeah.
Using React-Style Callback Props with Vue: Pros and Cons
If you take "must" in the pocket-protectory overly-literal way, yeah, sure. But when you act generously and decent and take it to reference what is tenable and acceptable, things take a different turn. And it is in that light that I approach the topic and the speaker, because generosity and decency are pretty good things.
The biggest change is that the Space Race era was, at least by perception, happening in the public sphere. In the US, NASA and the fairly new Air Force were the face of it and the whole thing seemed like a scientific pursuit which would benefit all of mankind.

Now, it's about the self-indulgence of one very wealthy guy with a lot of federal tax breaks. The luster has worn off.
They could fudge, using subsidies and dumping. For example free overseas shipping for most small items from Ali Express.
What drives me nuts is that the Goodreads integration never made it to Germany. It's frustrating to manually carry over the data while the code is just sitting there behind a country flag.
There will rarely be a perfectly correct model of economics, and there are two main challenges of why that is not something achievable.

First, because economics is the study of exchange, which means the exchange between a human being and another one. Understanding human behavior in its totality is like trying to understand our brains or our own consciousness. It suffers from a halting-problem level dilemma.

Second, because the study of economy tends to be about its application, it will always fail to obtain perfectly predictable results because humans are not perfectly predictable. And humans fight back. It is aking to believing you found the perfect method of making someone fall in love with you: as desirable as it is preposterous to believe you can achieve it.

Whatever model of economics you have, if it has room for 1% of human behavior, rest assured that its enough to take it down.
> Nobody asked America's existing inhabitants whether they wanted European colonies. The Europeans took whatever they pleased.

Actually, many of the early settlements did establish good relations with nearby natives and had some degree of permission to settle there. (Sometimes before they set up their settlement, sometimes shortly afterwards). By the mid-17th century, the colonists became adroit at exploiting local conflicts, and carving extra land for themselves out of the lands of the losing side; it's not really until the early 19th century (maybe 1790s at the earliest) that there is a strong sense of superiority over natives that results in the get-out-or-else attitude.
In general, it's not uncommon for startups of the Goodreads vintage to outgrow a simple Rails app and use a more service oriented architecture. We've actually had services for about 5 years now, but we haven't been very vocal about it.

As I mentioned in another comment I, personally, wouldn't advocate for new teams or startups to use a service oriented architecture right out the gate. It's too easy to end up with a distributed monolith (circular dependencies between services, services uptimes that are tightly coupled). Engineers also tend to underestimate the build tooling, observability excellence and discipline you need to make it seamless.
“PS4 Aux Hax” Series
Clojure isn’t really worth anything without the jvm/js ecosystem.

It’s a glue language for assembling components, most of which are written in Java.

Timothy Baldridge wrote a python based language heavily inspired by clojure called Pixie. That gives a feel for what clojure is like without the ecosystem. Basically it means reinventing many many wheels.