skysight-inc/HackerNews huggingface dataset:
No you are accusing me of racism when I made no comment about race what-so-ever. This "well you are secretly talking about black men" is you inserting your own prejudices and assumptions into something I've never said.

This maybe be an American thing. I am not from the US, I've never been to the US so I don't know. There are plenty of groups of yobs in the UK in poorer areas. Outside of London and the big cities these tend to be white. In my own home town (which is 99% white) there are 4 or 5 problem areas where you don't walk through at night because you get surrounded by youths. It happened to me at least once or twice when I was in my 20s and I only got left alone because one of the guys knew my brother.

I get so bored of this "well you secretly meant something else because I want to label you a bad person".
Self-hosted tool to hide our email address
I am from Vancouver. The house prices have always been ridiculous since the early 80s when my family moved there. Vancouver’s real estate market has always been unaffordable and the highest in Canada. This is nothing new in the last 10 years, it’s literally a 40 year old problem.
Awful purchasing decisions from the US, uniformly. The deeper into this rabbit hole one goes, the stronger the smell of rats. One truly wonders who was persuaded to give away the entire fleet of carrier-borne aircraft to the US Marines - and how...
What Walmart is doing may be legal though if they own the parking lot. Deciding to block an entrance could be illegal, though I’m not aware of any case law around it.
Understanding GauGAN: Unraveling Nvidia's Landscape Painting GANs
Data ingress is usually free, which really cuts down on costs when scraping. If you can do everything in-memory, it's surprisingly cheap. The important bit is being respectful of robots.txt files and not overloading small sites with too many requests.
Honestly I've had more success migrating between versions of the Fedora family than the Ubuntu family. I don't have enough experience with Debian to judge.

In an case I disagree totally with the assertion that Fedora isn't good at upgrades between versions.

CentOS 7 upgrade would be tricky to do automatically because of the systemd transition and the fact that any Enterprise user would likely have a ton of services they need to migrate safely.
This is a cartoon-like scenario you have cooked up. You really think random people are going to be contacting you for money because of your mid-rate tech salary?

Absolutely hilarious.
You don't need row polymorphism to write a function which operates on a collection of key/value pairs and expects a specific key to exist at runtime.

This works in Haskell, just as it does in Clojure.
Extreme mortality of common murres resulting from Pacific marine heatwave
Six notable things I took away from this post:

- Structural typing, i.e. instead of "you eagerly write a schema for the whole universe", just limit to what you need (basically, encode only the same kinds of assumptions you would make in a dynamically-typed language).

- It’s easy to discover the assumptions of the Haskell program [...] In the dynamically-typed program, we’d have to audit every code path — Left implicit in many debates about these topics are the "weights" that one attaches to these things, the importance and frequency of attempting such activities. Surely they vary, depending on everything from the application (Is it "code once and throw it away", or does it need to be maintained when the original programmers have left?) and down to the individual programmer's approach to life (What is the cost of an error: how bad would it be to have a bug? Etc).

- "This is a case of improper data modeling, but the static type system is not at fault—it has simply been misused." — To me this shows that bugs can exist in either the data modeling or the code: in a dynamically-typed language the two tend to coincide (with much less of the former) and in a statically-typed language they tend to be separate. (Is this good or bad? On the one hand you can think about them separately, on the other hand you have to look for bugs in two places / switch between two modes of thought, but then again maybe you need to do that anyway?)

- Structural versus nominal typing, where the latter involves giving a name to each new type ("If you wish to take a subselection of a struct’s fields, you must define an entirely new struct; doing this often creates an explosion of awkward boilerplate").

- "consider Python classes, which are quite nominal despite being dynamic, and TypeScript interfaces, which are structural despite being static." — This is highly illuminating, and just this bit (and the next) elaborated with some examples would make for a useful blog post on its own.

- "If you are interested in exploring static type systems with strong support for structural typing, I would recommend taking a look at any of TypeScript, Flow, PureScript, Elm, OCaml, or Reason [...] What I would not recommend for this purpose is Haskell, which [is] aggressively nominal"

For what it's worth, my opinion is that posts like this, on hotly debated topics, would do well to start with concrete examples and be written in the mode of conveying interesting information/ideas (of which there are a lot here) rather than being phrased as an argument for some position, which seems to elicit different sorts of responses — already most of the HN comments here are about static versus dynamic type systems in general, rather than about any specific ideas advanced by this post.
What’s the Best Way to Sleep on a Plane?
"In 1996, (~7years), the governments of the U.S. and Iran reached a settlement at the International Court of Justice which included the statement "... the United States recognized the aerial incident of 3 July 1988 as a terrible human tragedy and expressed deep regret over the loss of lives caused by the incident ..."[16] As part of the settlement, even though the U.S. government did not admit legal liability or formally apologize to Iran" - https://en.wikipedia.org/wiki/Iran_Air_Flight_655

There's also https://www.youtube.com/watch?v=10qatUWwIeg
Understandable.

I decided to go with a super low price backed with a guarantee and option to self cancel to entice users in, rather than a free plan.

My experience in running a prior SaaS showed me that free plans were not all that great at getting users to sign up.

I understand that many may want a free plan before trying, but I decided to do something different with this SaaS on this turn.
as is recently covered by MSM, e.g.: "Warm Water Patch Called ‘The Blob’ Fueled Biggest Known Seabird Die-Off In History" https://www.huffpost.com/entry/blob-heat-wave-bird-deaths_n_...
Sure, you can build a flimsy deathtrap house on top of a solid foundation in a lot of contexts. But if the foundation is unsound, it doesn't matter if your Ada is formally verified or not.
What's a glueman?
I mean I agree but if they wanted to jail peaceful protestors surely they could do that by showing up at the protest and rounding them up? The whole point is to be conspicuous.
I would think having kids younger, as long as the parents are not resource constrained - stable financially - would be more advantageous.

The parents would be around and healthy to help their kids emotionally and/or financially through their young adult years and the kids would be less likely to have to take care of their parents while trying to get their own life off the ground.
The Email Zuckerberg Sent to Cut His Cofounder Out of Facebook (2012)
Thank you. Totally get the landing and UX.

Wanted to verify this would work before putting more time/money into more. Looks like people are taking interest so will probably hit up a UX guy in the next few weeks.
> I don't see how that benefits anyone.

It benefits parasitic rentiers.
How this GitHub project missed the punning opportunity on calling itself "herding-cats" is beyond me. :-)
“That Guy” on “That Girl” – With a Bewitched Twist
Ideally we get to a point where we’re at least publishing signage to a database so that cars don’t have to rely on visual cues both human and automated.

I personally don’t think it’s possible to make automated cars work well without a ton of infrastructure support.
The OP's scenario is over the top, but if you had a 150k USD remote job in my hometown you could buy half a street. You would have a very different life to those around you and it would be challenging socially as a result.

I fail to see what this has to do with ego - it's not an assertion of superiority, it's just a factual statement. It's nothing to do with technology - working as a lawyer for remote clients would be the same.

If anything it's the opposite I would think. Ego would be rocking up and flashing the cash.
Using Code Review Metrics as Performance Indicators
Tips on Managing Your Team from the Tirukkural (A 2k-Yr Old Classic Tamil Text)
I have a background in scraping from prior projects over the last decade.

Bandwidth is not a concern for projects like this at a lot of hosting/VPS providers.
>> If Google announced it was moving everything to Pittsburgh, ~80% of the company would quit.

They don't have to move everything to Pittsburgh, they could just open a small office there and give their employees the option to move there.

>> People expected telecommuting to change this, but even though we have many technical tools that make remote work far more practical than it was even ten years ago, physically being in the same place as your coworkers remains extremely valuable.

I think office politics are to blame for this. Remote people are often more productive than those who are on-site but they are less likely to be promoted in a mixed envrionment. That's why it's often better if everyone is remote; then everyone has equal opportunity.

>> Good ideas flow more freely between organizations

So do bad ideas. Bad ideas backed by a lot of money spread like the plague.

>> Coordination between organizations is easier

So that they can make cartels which erode workers' rights and monopolize industries.

>> Switching jobs is easier, so people don't get as stuck in jobs they don't like

They can be forced to live in a horrible place that they hate, but at least they can distract themselves from their misery by changing companies all the time to give themselves the illusion of hope.

>> Ease of switching also allows people to take larger career risks

To the point that everyone in your workplace is focused on risky career politics instead of producing actual value.
I particularly like the links to the basis of each template in the various sections.
Public perception is always something that is managed and controlled. There is absolutely nothing new about this concept.

I disagree with your original thesis that the US needs EU to validate their actions. France arguably historically the most important US ally was dismissed and thrown immediately under the bus during the Iraq invasion for not agreeing.

Thinking US needs the EU for justifications of their actions at home is naive. If you think the US does not have a firm hold of propaganda inside their borders, then I suggest reading Chomsky - Manufacturing Consent.
I first encountered the idea of wrapping coordinates being equivalent to a torus when playing around with the Game of Life. I assumed that it was a topological equivalence as illustrated by https://commons.m.wikimedia.org/wiki/File:Torus_from_rectang... - I did not know there could be geometrically flat toruses!
CVE-2020-0674: Scripting Engine Mem Corruption Vuln Being Exploited in the Wild
Not knowing if something is a property or method is a feature, it’s the principle of uniform access as elaborated by Bertrand Meyer.

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

it takes some getting used to, but it’s now one of my favourite things about Ruby.
Hey, replied to your email and let you know I appreciated the finding.

Giving you free access for life later tonight in finding the bug!

Thanks
I’ve been out of the game for a number of years but I used something called ghc-mod [1] with its associated vim plugin [2] to get this functionality. Moving forward, it seems that all of the effort has moved over to Haskell IDE Engine [3]. It looks like this exact feature hasn’t been brought over yet but it is planned. In the mean time you could still use ghc-mod though.

[1] https://github.com/DanielG/ghc-mod

[2] https://github.com/eagletmt/ghcmod-vim

[3] https://github.com/haskell/haskell-ide-engine
But you don't need to have a final design straight from the beginning. You can start with only what you need right now and evolve the types/schema over time.

In fact, proponents of static typing would argue that the types make your code easier to refactor later, because you will be aware of all the usages, and able to move things around with confidence.

The drawback is that you need to make the entire codebase correct (or commented out) every time, not just some isolated piece you're experimenting on.
Baseball Savant includes videos for every pitch through 2017 [1]. You can get there through the search page [2].

[1] https://baseballsavant.mlb.com/sporty-videos?playId=62a1c77c...

[2] https://baseballsavant.mlb.com/statcast_search
Should we be worried about the NHS selling patient data?
To paraphrase Churchill, “If a programmer doesn't like dynamic typing by the time he is 20, he has no enthusiasm. If he is not static typing by the time he is 30, he has not learned from experience.”
Ask HN: Should there be a monthly meta thread?
While I appreciate the fast nature of the front page and general trend towards talking about new things, I think it would be worthwhile to have one thread every month to talk about what went on.

Right now, I guessing it can be used for -

1. Asking questions that otherwise don't require a thread of their own.

2. Revisiting interesting posts of the month.

3. Reflection from community and individual members. (eg - Hey, I am working on porting vscode to ipad)
Understandable.

I decided to go with a super low price backed with a money back guarantee and option to self cancel to entice users in, rather than a free plan or free demo/trial.

My experience in running a prior SaaS showed me that free plans were not all that great at getting users to sign up compared to those that signed up directly without one. The difference was tiny.

I understand that many may want a free plan or demo before trying, but I decided to do something different with this SaaS on this turn.
> "physically being in the same place as your coworkers remains extremely valuable"

I always remain suspicious of this, because there's so many bad managers out there who equate "working hard" with "being at your desk for a long time" and have no idea how to manage a team if they can't eyeball them. Is being physically present a genuine advantage to the organisation, or does it just make managers feel better?
I remember Robert Sedgewick's listed a really simple method for drawing trees in his book, only it drew them sideways.
Not all untyped languages are the same. E.g. Clojure now encourages specifying assumptions with spec annotations, some of them are stronger than those that can be expressed by Haskell's type system: i.e. they can succinctly express more about the "entire code" than Haskell's types. Types are not the only way to write formal assertions and assumptions about code. The difference between the two is in the level of sound inference that can be made (stronger with types) and the strength and expressivity of the assertions (stronger with contracts).

Of course, one could say we should have both, and some languages -- like Java with JML, C with ACSL, and SPARK, as well as some research languages like Whiley and Dafny -- do. But this could add complexity, and the interesting question is, if you could just have one, what are the relative merits of either? My guess is that types would be better for enforcing code organization and for tooling (more efficient AOT code generation, safe automatic refactoring, code completion), because automatic transformations require automatic and sound inference, while contracts are better for correctness because they can more easily express stronger properties of interest, and require less effort to verify them (types require formal deductive proofs, while contracts can use those or a range of other techniques that vary in their cost and their soundness).

In short, types are not the only form of formal specification, but the different forms do have different practical characteristics. What matters is not just what we want to know about the rest of the code, but how we want to use that information and how certain we need to be. Unfortunately, theoretical results tell us that we cannot have a perfect system that is always correct, cheap to use, and can allow us to express rich properties.
Thank you. This was my thoughts and direction for this project as well. To see how it goes.
Technically, in that the C++ spec allows it, yes, it's C++. However, I find such definitions to be of little practical use, although frequently in the workplace I sit and wait while someone satisfies their need to carefully divide the world up into precise, clear, exacting and useless definitions before we can get on with doing something useful - the industry just seems to attract that; often they don't care about trashing all those lines immediately afterwards, so long as everyone acknowledged the lines. That said, the discussion about how many layers there are in a model of networking and what they're named rendered some people unable to do anything for the rest of the day.

Colloquially and practically, I might suggest that it demonstrates that the programmer may be dangerously thinking in C with little lumps of data as their classes. The programmer is thinking and coding in C, with some classes, that they then feed to a C++ compiler.

People were doing it like that back in the nineties, when what we think of as "modern C++" didn't exist.
running processes in isolation has been happening for a long time. (jails for instance, have existed for a very long time and freebsd has been used a lot for hosting services in the past).

while i agree docker solved the UI/UX problem, it also introducted a massive security risk, as running unverified binaries in production is very easy for developers. Most shops don't have any private repository in use nor do they have the people (anymore) to build proper processes and systems around running code in production.
Productivity can be really subjective. Those that are used to modeling the problem domain with the type system find that their most productive approach, even with prototyping.
I also use C++ everyday, and find it quite powerful, but I also feel that it is ill designed. The other day I had to work with code that involved a public member function that returns a private type. You can only bind to the return value of this function with auto (because the type is private), but can otherwise do anything with the object. Why this is allowed is beyond me.

You're right that much of the software we use is written in C++, for good reasons, but asking people to "use a product of another language" just because they are critical (in a not so nice way, admitted) of it is going a bit too far. It's like asking someone to move to a different country because they think their system is "broken beyond repair".
The author doesn’t really address the issue raised in the first (longer) quoted post.

Given a set of reasonable requirements I think pretty much no one would claim a general-purpose language couldn’t satisfy them without too much trouble. In fact, that might be a fair definition of a general-purpose language.

I’m fine with strong and expressive static type-checking, but you need to hold the main limitation in mind as you use it in a distributed environment: the guarantees are static. They pertain only to your little binary and don’t say anything about the rest of the system.

People can tend to make the mistake of assuming other components in the system will continue to behave as they do on the day their own component was compiled.
Nothing and it happens all the time. This is something that a human driver familiar with the road will notice and it will be unlikely to cause an accident. An out-of-towner might get into an accident. An automated vehicle would ideally not even be looking at signs and just operating from its stored data.
https://www.jam-software.com/treesize_free
Don't insult entire field based on your interpretation (perhaps justified, perhaps not) of few comments here.
No my terrible grasp of English even as a native speaker is the cause of this confusion. What I meant was: “No I meant that from cppreference using coroutines means you can’t use the features I mentioned not that those features don’t exist in c++20“
That is not true at all, I know many companies that offer retirement enticements (aka buyouts) as a way to simply downsize the workforce with out having to lay people off, it also helps that generally the retiree's are on the higher end of the pay scale.

In my career I have seen retirement most often used as a way to downsize not to hire young people
It seems that "ghcide" can do this: https://twitter.com/chris__martin/status/1218331415869190144 https://github.com/digital-asset/ghcide
Dynamic type systems are inherently more open.

This article really bends over in strange ways to say otherwise.

Fact is: dynamic typing is all about making fewer claims in your code about what you expect about the world around you. With dynamic types, to load a property you might just have to say the property name and receiver. With static types, you usually also have to say the type of all other properties of the receiver (usually by calling out the receiver’s nominal type). Hence as systems experience evolution, the probability that the dynamic property lookup will fail due to something changing is lower than the probability of the static lookup failing.

The heading “you can’t process what you don’t know” is particularly confused. You totally can and dynamic typing is all about doing that. In the dynamic typing case, you can process “o.f” without knowing the type of “o.g” or even the full type of “o.f” (only have to know about the type of o.f enough to know what you can do to it). Static type systems will typically require you to state the full type of o. So, this is an example of dynamic types being a tool that enables you to process what you don’t know.
Crew Dragon launch escape demonstration
>Ruby, in contrast, seems like an absurdly complicated concatenation of weird features and strange syntax

My experience is the precise opposite. Ruby seems more consistent and straightforward than any other non lisp language I’ve used. Ubiquitous blocks and “everything is an object” gets you very far.

Compare nested list comprehensions in python to chained map/select calls in Ruby:

lesson for lesson in [school.Lesson(downloaded) for downloaded in api.downloads()] if want(lesson)]

vs

api.downloads.map{|download| School.Lesson.new(download)}.select{|lesson| want(lesson)}

Or compare the many varied required ways to do something with an array in python vs Ruby:

len(array)

“;”.join(array)

array.append(x)

Vs

array.length

array.join(“;”)

array.append(x)

Genuinely confused what you refer to with “unnecessary syntactic doodads.” Examples?
Honestly even with RAII memory management in C++ can be hard, especially with all lambda/closures. I can totally see this becoming a even bigger mess if combined with corotines.

Most languages which have anything like corotines/async/await avoid this problem by using a GC. Rust kinda is will equipted for this with it's borrow checker (but it's hard for the compiler team to get completely right). But I don't see C++ to be suitable for many coming/common programming patterns with them. It is just way to easy to mess up memory management in the edge cases (like e.g. early cancelation etc.)
Yes, able to identify some of the problems, but not a solution.
My guess would be scraping search engines. Still doesn't seem very cost efficient
gpu.js has this in a really (in js terms) performant way. I love that project.