skysight-inc/HackerNews huggingface dataset:
I have a fair bit of Rust experience, and I agree that it adds a lot of cognitive overhead. It gets better over time as you learn how to appease the compiler, but the borrow checker can still be a pain in the ass. It's something you're constantly aware of, taking up space in your brain.

I can understand the move from C or C++ to Rust, the safety guarantees can be compelling. And it does feel like a much more modern language. However, if something with GC like C# can get the job done, I'd choose that every time over Rust.
Wow. Great!
Elon Musk denies Jeffrey Epstein toured SpaceX facilities
I'd love to see an example. What kind of public policy? What problems?
New novels are not written because the writer thinks people have the need to read that particular story, but because the writer has the need to tell that particular story.
That quote is from Catch-22 I think.
Epoxy: Interactive Model Iteration with Weak Supervision
There is very little that can be done with C-style syntax that can't be done with Pascal-style (or Oberon-style) syntax.

I find the Pascal-style syntax to be easier to read. I also like that Pascal has always had enumerated types and ranges. I'm neutral on nested scope, but I think it could be occasionally useful.

After using C-like languages for so many years it is a little jarring to see function calls without parentheses, but I think I like those as well.
> It isn’t responsible for closing files because it doesn’t take files, it takes TextIO.

TextIO has a close() method, so this is irrelevant.

Rather, the author of the CSV library made a design decision about whether a CSV reader should take ownership of the underlying IO or not. If it takes ownership, it has the responsibility of closing the file when it's finished. If it doesn't, it doesn't. The decision was made for it not to take ownership.

Was this a good decision? Personally, i don't think so. There is nothing useful you can do with an IO object once a CSV reader has used it, so there is no point retaining ownership separately. It just makes more work for the programmer. This is compounded by the fact that there is no way to obtain the underlying IO object from a CSV reader, so you have to hold on to the files separately.

In the normal use case where you open a single file and then read from it in a single block of code, this is not a big deal, because you can wrap that in a with block for the file. But as the author points out, it's a serious impediment to using lazy readers. I have also run into this problem when managing multiple open files; i have a tool which opens a bunch of CSV files and merges them in some strange way, and it is sensible to close each file when it is finished, but to do that, i need to hang on to the files, and build some machinery to close the right one at the right time.

On the other hand, i can't think of any downsides to deciding, way back when, that CSV readers should close their underlying files. But it's not safe to change that decision now, so we're stuck with it.
Amazon and Flipkart may have to give their source code to the Indian government
Using libc on Linux shouldn't introduce any incompatibilities (also you can use libc with Free Pascal, e.g. when using threads you link against the pthreads library which in turn needs libc and you can use libc's memory management functions instead of Free Pascal's own functions which can be faster), at least as far as glibc is concerned, since they are supposed to be backwards compatible. For example I have binaries compiled on 1998 Red Hat and linked against libc and libX11 working on two decades later distros just fine.

It is usually the libraries you use on top of libc and libX11 that tend to break and introduce incompatibilities.

C++ is another topic though, but i think there is an effort nowadays to avoid breaking that too.
DomainBed: In Search of Lost Domain Generalization
I agree with your conclusion (I think we need to be very careful to edit language, lest we forget the lessons of the past) but from the list you gave none of them have a negative connotation - except perhaps black swan, but it's a reference more to rarity. Black hat has an immediate negative connotation.
You are certainly entitled to your developer perspective.

What are the reasons users do not read the /legal/data page on the Julia website? What are the reasons users do not read 200+ posts from developers debating the use of opt-out telemetry? To ignore such reasons, assuming they exist, would also be disingenuous.

If you put the choice clearly before users and they knowingly, affirmatively choose to submit usage data, then no 200+ post thread is necessary. Instead, the choice is not left to users. It is made by developers, and the fact of the use of opt-out telemetry is found on a webpage that developers know users do not read.
Yes they can in these scenarios:

- Dynamic method calls that get de-virtualized, because there is only one visible implementation, including across shared libraries

- Inlining across shared libraries

- Adaptation of new CPU opcodes, for example a Java application written in 2000 could in theory make use of AVX, without being recompiled.

- In the same vein, that is how shading languages work
Accept the nonsense.

Then stop doing anything which makes you unhappy and seek that which brings you joy.
Drink orange juice, the vitamin boost and sugar will help your cognition.
What's wrong with Qt? I really like it.
Anecdotes from the VNET Era
The issue is mostly limited by requirements to get food there quickly.

If we knew what we wanted ahead of time, scheduling delivery ahead of time would make it easy... since you could use a delivery route (to deliver 2-3 items nearby).

A single winner may be able to make it work since you can do 1-2 pickups and deliver to two nearby homes.
> Is "China bad" how HN and the US is going to look for the next 20 years as North America goes down the hill?

As a US citizen, reading HN for a year has downgraded me from being extremely patriotic, to considering my options if I get expelled from the country in the next 20 years on the basis of my ethnicity. These folks would cheer that on, and they're my neighbors.
Dart VM is a good example. Their JIT is frequently faster than the AOT compiled code, although they may improve the AOT speed in future releases.
I played online during the golden years (2003-2010), made a lot of money but also witnessed the progression of the game from shooting fish in a barrel to becoming significantly more demanding, even at low stakes.

I started playing one table at a time, then two and ended up at 4 (6max NL holdem). One thing that always bothered me, especially when the HUDs + pokertracker became necessities, was that no poker site allowed you to switch usernames in order to nullify playing history that your opponents had accumulated.

Eventually, this ruined the game for me as it completely changed the dynamics and took away a lot of possibilities and excitement. I also saw limit holdem be completely destroyed by algorithms and bots, long before it became so obvious that most stopped playing it altogether. I don't play these days but I'm wondering as to what extent shorthanded NL is being algorithmically exploited.
> What if Shenzhen didn't exist across the river?

I think you have this backwards. Milton Friedman was already raving about Hong Kong leading the world back in 1980.

https://www.youtube.com/watch?v=m0dfiWM-rsE
https://en.wikipedia.org/wiki/Free_to_Choose

The first special economic zone was created in Shenzhen in 1980, coincidentally. It's population at that time was around 60k according to this link:

https://worldpopulationreview.com/world-cities/shenzhen-popu...

Hong Kong's population was in the millions at that time. The SEZ was created specifically to imitate HK and other successful neighboring economies.
I'll just throw it in the discussion: pandas could just interface with and leave the heavy lifting to a RDBMS.
Also living in the east. Many local services only offer Vita-Cola, no Coca-Cola. By choice. And it tastes good. Support the local economy.
> 3-way merge diffs under windows

Is there any reason for not using kdiff3?
So .. Encyclopedia Galactica? Hari Seldon?
When I read these threads I feel like I must be working on another planet to the people commenting in them.

In almost every front-end project I join, there's a positive correlation between number of abstractions and code size. Everything is so "best practice one size fits all"-y that you can usually start with halving the size of the code base by removing 50% of the dependencies.

Even once you've done that, you can usually speed up development by cutting 50% of the remaining dependencies. All the ones where the API surface area is more complex than the bloody implementation. Code is bad, sure, but at least it speaks for itself. A lot of the time the choice is between 3 lines of code that are well written and self explanatory, or 1 line of code that is incomprehensible without trawling through 800 lines of documentation first.

I agree that code size is probably the most important metric for measuring complexity, but it's not an absolute thing. If you're too merciless with culling code, you can easily code yourself into a shitstorm of required context that makes hiring and onboarding impossible. Having said that, I think the problem is mostly contained to using other people's abstractions. I can't think of many times I've walked onto a project and gotten lost in the mud because someone there had coded up something that was too convoluted. Only one springs to mind and it was a back-end system.

And that probably gives some clue as to why nobody can agree on this stuff. I'm guessing different ecosystems lie on different points on the scale, and so different approaches are going to be more successful. I've seen probably 20 projects grind to a halt because of overabstraction, and none because of code duplication. But I'm sure there's other programmers involved in other communities and industries that have seen the opposite. So if we're talking to a faceless crowd on a forum, we're going to give vastly different advice, under the assumption that the people we're talking to are somewhere around the average of everyone we've ever worked with.
I've seen many people on HN struggle with this issue. I've bookmarked this post from a few months ago and enjoyed reading it and trying some of the ideas out: https://news.ycombinator.com/item?id=22000791
A handle. An online name seperate from IRL identity.
> Your setup script is not going to run out of file descriptors because you wrote open("README.md").read().

How about even simpler (python3)

Path("readme.md").read_text()

Ta-da. I don't even have to worry about opening files, let alone closing.
Don't bet on the most likely winner
Actually he decided to go to Microsoft after being disillusioned how things were going at Borland.

Also what people keep forgetting, J++ was actually what he first did after joining Microsoft.
Also, let's presume that some dinosaurs in the past were really smart, and evolved some thinking skills before the asteroid wiped them all out.

They just so happened to evolve the same scheme. How do you prove to them that you're from the future?
Best Netflix Series and Shows to Watch in 2020
First he did J++, though.
HN thread https://news.ycombinator.com/item?id=23744613
Hey your profile doesn’t have a contact link but I have a few ideas that can solve this today. Reach out when you get a chance!
Are you forecasting collapse or other upheaval in short order?
Talk to your parents, accept the reality, make the necessary changes in your lifestyle. ( START MEDITATION )
A Writing Incentive Token
It wants to run Javascript code before it will show you text.
Review of modern monetary theory by Cochrane
DameJidlo.cz is very profitable.
Scrapingworld.com – Scraping Directory: components, providers, knowledge base
Or some kind of automated delivery. Or both.
Atlas of Peculiar Galaxies
And now it is all inverted because I have Dark Mode on, even the images! Without even getting to the content the site is a joy :)
What about in countries where tipping is not normal? I live in the UK and lots of small family-run fish and chip shops and takeaways offer delivery, along with the bigger chains like Dominos.
Signaling virtuous victimhood as indicators of Dark Triad personalities
The breach was just a symptom, not the root cause of Nortel's demise. A company that doesn't act on a major breach of its own IP, has structural management issues.
Out of curiosity, was that before or after any negotiation?
TL;DR: probably, as long as you maintain physical distancing.
If you miss best in class links for
- providers
- knowledge posts
- components

please comment here - we will add them on scrapingworld.com
I gave away 10+ bitcoins on Hacker News almost 10 years ago. lol (on a different account... I was an early adopter of this website, too)

They would have been worth almost $200,000 at the peak of bitcoin's value, but I don't feel bad about it because there's no way I would have held them until that point. I mined them myself when they were worth like $12 each, and I definitely would have sold them when it hit $100.
* https://github.com/willmcgugan/rich/blob/837b6d7e85254f0047c...

Note that it is possible to respect TERM=dumb without using termcap or terminfo, although this library does not do that.
Indeed, "Software Design X-Rays" is Adam's book that details the theory CodeScene uses. Hence the connection =)
There actually are similar things for video games: Steam Greenlight / Early Access for example.

Also: Even a long time ago, both Quake and Quake 3 Arena had free versions out in the open before their relase.
>in the EU its often a three month contractual obligation.

I don't know where this is but in my country it's 1 month and most of the time the person leaving still has vacation days to use so they leave much earlier.

Most people just give advanced notice to their employer though, it's just polite.
I know Python does the dunders and all, but couldn’t they have at least stuck a dot in front of it if they wanted to move it out of the way :(
Why are all articles about HCQ getting flagged? Who is afraid of the discussion? If it works, we should be able to discuss it. If it doesn't work, we should also be able to discuss it. Sunlight and truth is key.

What is going on, HN?
The American equivalent would be Google, as for myself and many others the Google maps reviews have long replaced yelp/groupon/tripadvisor, as it perhaps surprisingly tends to have the most accurate information about local businesses. But Google does not get into delivery because in America, the math doesn't work.

When I was in HK, I used foodpanda, it was super cheap, I think $10HK. Deliveryman shows up on a scooter, and has at least one other persons food with him. The density supports it. American cities are built somewhat differently where most middle-class people don't live very close to most of the restaurants they wish to order food from.

I think it has much more to do with the terrible math involved with doing delivery in such spread out regions. There being a super-app that does everything does not matter.

Also in America food takes much longer to be ready than in Asia. I don't know why but it does add up.
This gave me acceptable results for an image taken from thispersondoesnotexists.com -- something which now makes me question both the services and their offerings.
How to use Frida and BurpSuite to quickly identify mobile app functionality
If you miss functionality - not content - on scrapingworld.com, please comment here.
I liked that Slashdot had different upvotes for informative/insightful/funny, and funny doesn't add to karma.

The forum needs to strongly encourage every comment to have their opinions substantiated, and show rigorous reasoning and inference explicitly where it occurs (and where an opinion is not directly based on evidence but is a reasonable conclusion from evidence). It's not an impossible task, since we have a similar example of a forum with high standards in Stack Overflow and its network.

This means that the platform is primarily one for discussion and developing opinions grounded in evidence and reality, not one for free expression (which reddit primarily is).
Code Usability
> I have binaries compiled on 1998 Red Hat and linked against libc and libX11 working on two decades later distros just fine.

The goal was avoiding to use "1998 Red Hat" to compile today something that should work on a few years old system. That is the direction that is typically broken with C and C++, to the point that only safe approach is, indeed, to use 1998 Red Hat. But using 1998 Red Hat forces you to use the very old compilers and old anything else on that same Red Hat, which is what could be very inconvenient in 2020, when one has to use other tools with newer features in the process. If I understand, I can use 2020 OS and using Free Pascal trivially produce binaries that would work on the older systems on which the C and C++ binaries produced on the 2020 OS just wouldn't.

Edit, answer to the post below:

> i'm not sure if you link against libc if it'll generate versioned symbols

If I understand correctly, one can produce Linux binaries with Free Pascal while depending only on Free Pascal's libraries which don't have libc dependencies at all. And that is what I see as a huge potential to produce the binaries that don't break on older Linux version, the way libc-linked typically do not because Linux kernel is incompatible, since it isn't, but just because GNU libc infrastructure allowing only "build on older Os for newer" but not at all the opposite scenario.
> The most commonly used JIT in the world is almost certainly the one in the OpenJDK

I don’t know, there are a lot of people who browser the web using Chrome…
Roberto Ierusalimschy makes an interesting point on this in an interview[1] last year.

> When we started Lua, the world was different, not everything was C-like. Java and JavaScript did not exist, Python was in an infancy and had a lower than 1.0 version. So there was not this thing when all the languages are supposed to be C-like. C was just one of many syntaxes around.

> And the arrays were exactly the same. It’s very funny that most people don’t realize that. There are good things about zero-based arrays as well as one-based arrays.

> The fact is that most popular languages today are zero-based because of C. They were kind of inspired by C. And the funny thing is that C doesn’t have indexing. So you can’t say that C indexes arrays from zero, because there is no indexing operation. C has pointer arithmetic, so zero in C is not an index, it’s an offset. And as an offset, it must be a zero — not because it has better mathematical properties or because it’s more natural, whatever.

> And all those languages that copied C, they do have indexes and don’t have pointer arithmetic. Java, JavaScript, etc., etc. — none of them have pointer arithmetic. So they just copied the zero, but it’s a completely different operation. They put zero for no reason at all — it’s like a cargo cult.

[1] - https://habr.com/en/company/mailru/blog/459466/
Maybe a relevant personal anecdote might help you -

My grandfather used to sit with me for an hour every morning and used to teach me maths.

He would focus on basics first. He would make sure I had the basics drilled in to me. Not just understood them, but mastered them. Then we would move on to the next topic.

It was a bit slow at first. But after a while, once the basics were done, I finished the whole year's math book in 2-3 months.

I have seen this in software engineering too. Once I am good at basics, or once they're drilled in enough, I am faster and quicker.

Drilling basics is basically like having the basics in O(1) look up with very reduced space complexity too. It reduces the amount of overhead your brain utilises. This makes your brain free to think about the actual problem you are solving. Also, I think this is what allows your brain to work in the background, even when you aren't actively thinking about the problem.
Show HN: A BDD Style Library for Your PHP Tests
The KDE window manager allows you to set window specific hints based on title or x resource. Once upon a time I wrote a tool that managed the current state in case of a log off (bad graphics driver that caused Xorg to restart)

Blocking sites was done with squid time-based ACLs. Now I’m wondering how productive I could be combining the two
> Basically, I don't think there is too much chance to find a valid use for this behavior, but it is very hard to prevent it without complicating the language significantly.

One approach is to provide a mechanism for cleanup that doesn't require the object to still be alive. Java has phantom references for this:

https://docs.oracle.com/en/java/javase/11/docs/api/java.base...

https://stackoverflow.com/a/43659951/116639

And i learn that Smalltalk introduced the "ephemeron", which is now present in some other languages:

https://en.wikipedia.org/wiki/Ephemeron
I think you are begging the question. Market regulation and a more economically pragmatic green political movement, and a fettered profit-seeking motive won't respond quickly enough to save the day. We have a crisis here and have not much of anything which makes a difference. For example, when huge fires burn, dumping significant CO2 into the atmosphere, it would be to everyone's best interest to put them out. But we (the world collectively) has not done that. Likewise, despite regular warnings about the dangers of pandemics, the global medical system was designed under the assumption that "pandemics" would be small and could be localized. Turns out to have been the wrong choice. And in this case, every serious Global Trends study points out that the risk of a pandemic was significant and that a pandemic could be costly.
Ironically, the last update is the removal of Boost dependency :)
Government – Citizen interaction.

Specifically, I'm working with a local pro-refugee organization in a densely immigrant populated region in Spain. There's a complex chain of steps that you have to go through in order to acquire citizenship. Only people with access to good lawyers are able to deal with all the bureaucracy of the process, without mentioning other problems (missing obscure expiry dates that reset your process, language-related problems, local government workers not actually knowing/willing-fully ignoring migrants' rights...).

There's a good network of volunteer lawyers working on this issue, but its not scalable. I'm working on a platform that would allow migrants to solve their own situation, by crowdsourcing the knowledge of lawyers on a case-per-case basis and offering a simple interface in their language to track open processes & discovered the ones they need to go through and how.

As an abstraction for this, I've been thinking on how we could improve citizen/government communication. A small use case / example for this could be refugee camps. My previous experience here is that they are small, disconnected communities with a top-down type of organisation towards the camp organisers. It shouldn't be hard to provide real-time tools for connecting both, potentially leading to things like asking for their needs, managing their legal situation, or even allowing for voting & self-governing.
I like discoverability and generally appreciate Apple's unified visual design for macOS 11 and iOS 14.

However, I will miss the distinct outline shapes and silhouettes which have made macOS icons easy to distinguish from each other since the original Mac (really earlier than that, going back to the Lisa and Xerox Alto.) Now everything's going to be an iPhone home-screen RoundRect.

Consider these distinctive silhouettes of Super Smash Bros. fighters: https://www.sporcle.com/games/skuban/super-smash-bros-charac...

Or the silhouettes from Apple's iconic iPod ads:
https://www.pophistorydig.com/topics/ipod-silhouettes-2000-2...