HNHacker News
TopNewBestAskShowJobs

crvdgc

591 karma · joined March 13, 2019

submissionscomments
crvdgc··on Z-Library Helps Students to Overcome Academic Poverty, Study Finds
An interpretation given the benefit of the doubt is, using Z-library might get the said student in trouble and therefore is not helpful overall.
crvdgc··on Do All Problems Have Technical Fixes?
Perhaps the title should be "why do tech leaders believe all problems have technical fixes?" To that question, isn't the author analyzing too much into a salesman's pitch? They profit from selling technical solutions, so of course they'll say everyone can use one.
crvdgc··on Twitter/X will let people you've blocked see your posts
The change is to let people who you've blocked (Elon) to see your posts, rather than their posts. Otherwise, blocking would be useless.
crvdgc··on GitHub notification emails used to send malware
Months ago I got crypto ads through a similar approach, some fake new account @-ing hundreds of users in an issue and then the issue is removed. The net effect is that the ads become unblockable in your email box (It's from GitHub!).

Maybe devs' target value in general has growing to a point where the openness of the system is more of a vulnerability than service.

crvdgc··on alphaXiv: Open research discussion on top of arXiv
Preprints are not required to be fully typeset and publishable. In some cases, literally "first.last@org" is used as a placeholder for email addresses (to be replaced in typesetting).

This is more like a mismatch between "fully edited open-acess papers" and "trying to use arxiv preprints as an approximation of the former".

crvdgc··on Microsoft security tools questioned for treating employees as threats
> Both suggest targeting "disgruntled employees" and those with bad performance reviews as potential insider threats – Forcepoint even mentions "internal activists" and those who had a "huge fight with the boss" as risks.

> Forcepoint offers to assess whether employees are in financial distress, show "decreased productivity" or plan to leave the job, how they communicate with colleagues and whether they access "obscene" content or exhibit "negative sentiment" in their conversations.

This far surpasses the normal surveillance, which is more technical in nature. It's trying to combine mind reading and minority report to enforce a Stalinist level of thought control. How much can be delivered in reality remains to be seen, though.

crvdgc··on 2024's Hugo Award Winners Announced
> The following nominees received enough votes to qualify for the final ballot, but were not eligible for specific reasons:

I'm assuming the "specific reasons" are referring to https://news.ycombinator.com/item?id=41039644

crvdgc··on SnowflakeOS: Beginner friendly and GUI focused NixOS variant
> only if it implodes or offers substantial back compatibility so people can migrate.

Yeah, at this point, any successor would have to be compatible with nixpkgs, which means to embed the nix language in some way.

My best migration experience is the vim->neovim one. It (almost) fully supports vimscript and yet runs Lua side-by-side, paving a great way to the full Lua adoption.

crvdgc··on FTC Wins Round Two in Its Non-Compete Ban Defense
And billionaires already started lobbying for Harris to drop Khan, the FTC chair behind this Non-Compete Ban: https://truthout.org/articles/sanders-rebukes-billionaire-ef...
crvdgc··on A.I.-Powered Trap That Zaps Invasive Lanternflies
Maybe I've read too many sci-fi novels, but I have to wonder how long before it finds a military use?
crvdgc··on Anyone can access deleted and private repository data on GitHub
I think the first two points are a result of private data (commit/fork/issue) being able to refer to public data without making the reference public.

Say a private commit depends on a public commit C. Suppose in the public repo, the branch containing C gets deleted and C is no longer reachable from the root. From the public repo's point-of-view, C can be garbage-collected, but GitHub must keep it alive, otherwise the deletion will break the private commit.

It would be "a spooky action at a distance" from the private repo's POV. Since the data was at a time public, the private repo could have just backed up everything. In fact, if that's the case, everyone should always backup everything. GitHub retaining the commit achieves the same effect.

The public repo's owner can't prevent this breakage even if they want to, because there's no way to know the existence of this dependency.

The security issue discussed in the post is a different scenario, where the public repo's owner wants to break the dependency (making the commit no longer accessible). That would put too much of a risk for anyone to depend on any public code.

My mental model is that all commits ever submitted to GitHub will live forever and if it's public at one time, then it will always be publicly accessible via its commit hash.

crvdgc··on Ask HN: Fast data structures for disjoint intervals?
edit: from OP's comments, the library was already performing the coalescing.

There's Discete Interval Encoding Tree (Diet). The basic idea is that, in a BST of intervals, if an insertion fills a hole of two intervals, they get merged into a single node.

The paper: https://web.engr.oregonstate.edu/~erwig/diet/

A Scala implementation example: https://typelevel.org/cats-collections/diet.html

crvdgc··on Automated Test-Case Reduction
Very interesting. Previously I've seen two similar ideas:

1. Reduce the test data by property-based tests' auto shrinking a là QuickCheck [1]

2. Reduce the change set to a codebase, a là delta debugging [2]

The reducer is able to do both at the same time in a pretty generic way, with some restrictions on the expressivity. Seems to be a good fit for end-to-end tests.

[1]: https://www.cse.chalmers.se/~rjmh/QuickCheck/

[2]: https://dl.acm.org/doi/10.1145/318774.318946

crvdgc··on We need visual programming. No, not like that
That's not visual programming, because you can't influence its behavior by manipulating the diagram. They are useful diagrams generated from code, but it's fundamentally a different thing.
crvdgc··on I Received an AI Email
>> I used AI agents to send out nearly 1,000 personalized emails to developers with public blogs on GitHub.

> Does this mean that I should private my GitHub-mirror to my personal blog, because this can become a common thing?

Abusing public information on GitHub has become more common. The other day, I received some cryptocurrency spam ads from GitHub. It turns out to be a bot injecting ads as issues on other people's repos and randomly @ing accounts. It deleted such issues immediately, so the net effect is that I get an unfilterable spam email.

crvdgc··on DJI ban passes the House and moves on to the Senate
Slightly off-topic, but it reminds me of the Tesla restriction around governmental buildings in China last year, citing the same set of reasons (data collection, national security, etc.). It seems that the restriction was lifted recently [1].

[1]: https://www.pcmag.com/news/china-lifts-tesla-restrictions-pa...

crvdgc··on ChatGPT-4o vs. Math
If you read the details in some of the "correct" answers[1], they are not actually correct. The model used an assumption that the width is equal to the thickness, which is not given in the problem. The width is cancelled out in the end, so the resulting number is correct, but a math teacher would label such answers wrong.

[1] Text prompt only, run 2; prompt and image, run 3.

crvdgc··on GPT-4o
Marvin from The Hitchhikers' Guide to Galaxy.
crvdgc··on Leaving Rust gamedev after 3 years
The blog post reminded me of a quote from Jonathan Blow as well. I forgot the exact wording, but basically he said that Rust makes you treat every state of the project to be production ready (e.g. free of memory safety bugs), but in game development, most of the time the project needs not to be production ready, and for a good reason (rapid prototyping). You just have to fix the really bad things (crushing bugs) before shipping.
crvdgc··on AI-generated sad girl with piano performs the text of the MIT License
You see funny little clips, I see more annoying customized ads, which play different lyrics for different people.
crvdgc··on The Mechanics of Proof
For me, the best route is to start with Functional Programming in Lean [1]. Get familiar with dependent type theory and Lean's syntax. Then go back to Lean's source code [2].

Lean is self-hosted, so the language is written in Lean. And it's well documented. Starting from the Prelude [3], all the way up to the language server (yes, Lean ships a parser combinator library and a JSON library with the language).

One caveat is that the toolchain version of the repo is the repo itself, so you'd have to follow the development guide [4] to set it up.

Also, this is different from the standard library std4 [5], which is actually not shipped with the language, but just a normal package developed and used as the standard library.

[1]: https://leanprover.github.io/functional_programming_in_lean/

[2]: https://github.com/leanprover/lean4

[3]: https://github.com/leanprover/lean4/blob/master/src/Init/Pre...

[4]: https://github.com/leanprover/lean4/blob/master/doc/dev/inde...

[5]: https://github.com/leanprover/std4

crvdgc··on The Suicide PhD Candidate Huixiang Chen (2019)
From the student's chat log, he thinks that upon retraction, the supervisor would be so unhappy that

1. His future doctoral program would be hard.

2. It would be impossible to graduate.

3. He would be killed by the supervisor.

It's hard to say how much of these is warranted. He said 3 was concluded from a conversation with his supervisor. However, tragically he thought these are real enough for him that there was no other way than to suicide.

crvdgc··on Why do east Asian firms value drinking?
This is only partially true from my experience as a Chinese grew up in Northern China. I think a greater factor is deliberately causing pain or embarrassment.

Like the initiation rites for fraternities or sororities, the pain is the point. The reason behind this is that a commonly shared embarrassing experience creates intimacy and loyalty.

I'm more inclined to accept this theory over others including the one from the article, because it can explain many rules observable in the drinking culture (at least in Northern China).

1. It's rude to reject an invitation to drink together from a person with higher status.

2. When many people drink together, the more you drink, the greater respect you show to others.

3. As a consequence, the person with higher status can choose to drink less than others, or they can choose to drink the same to show greater respect.

4. People with lower status should proactively invite people with higher status to drink, in the order of their status.

Therefore, in a typical drinking party (饭局), the people with lower status usually drink the most, often to the point of being unconscious or causing a scene, and that would show their loyalty.

This was part of the job for government officials and those who work with them. And people could genuinely get pretty sick from alcohol consumption. Death from drinking is not uncommon. There was even a debate on how to divy up the legal punishment to the people at the same table when this occurred. And it's not a theoretical sophistication at all.

Luckily, Xi has banned this as part of his anti-corruption campaign (八项规定, the Eight Rules), so it's less of an issue now.

Furthermore, young people in China have moved passed the drinking culture as well. Back in the university, one can choose whether to drink or not, and when one drinks, any amount to their personal preference is acceptable.

I should add that I don't drink at all, but I was often in a situation where I was supposed to drink and got asked a lot. That's why I sought an explanation for the drinking culture and I suspect that many people who participate in this culture can't explain it explicitly.

crvdgc··on GitHub: Incident with Actions (Again)
Got hit by this. The checks on PR no longer work.
crvdgc··on Show HN: Name That Nation
For those who want to learn map, capital, and flag: https://github.com/anki-geo/ultimate-geography
crvdgc··on DiffDebugging
The delta debugging paper[1] pointed out that the bug (change set) must satisfy certain properties (Definition 6-8) for the divide and conquer technique to work.

[1] Yesterday, my program worked. Today, it does not. Why? PDF link: https://www.cs.purdue.edu/homes/xyzhang/spring07/Papers/p253...

crvdgc··on Japan: Disrupting AI learning for business interference could be illegal
...which is the twitter user's reading into that line. The user acknowledged that File 4 (source of the picture) [1] doesn't mention Nightshade and that File 5 [2] contains it.

As File 5 is not searchable, I skimmed through it and found no mention of Nightshade. In fact, some points actually expressed the opposite of the twitter user's reading:

Section III 1. (1) 電子透かしが導入すべきである "[The content creator] should add digital watermarks."

The seventh point ノイズ付与の場合、電子計算機損壊等業務妨害罪になるといった可能性が指摘されているので、省庁や国としてこういった無断学習妨害ツールや電子透かし技術の正当化を担保してほしい "In the case of adding noise, someone may accuse the [creator] of the crime of business obstruction such as damaging the computer. We hope that the local and national government can ensure the legitimacy of tools for preventing unauthorized learning and watermarking."

The other points similarly stated that the content creator should watermark their works and that AI contents must embed some metadata to be identifiable as AI-made.

On top of that, these files are just minutes. Basically the Japanese government invited some companies, lawyers, and AI related associations into the Prime Minister's Office to discuss AI and IP laws, so anyone can say anything. It's not legally binding. And there are statements like we hope to use NFT as identifiers, so you can understand how serious this is.

[1]: https://www.kantei.go.jp/jp/singi/titeki2/ai_kentoukai/gijis... [2]: https://www.kantei.go.jp/jp/singi/titeki2/ai_kentoukai/gijis...

crvdgc··on Enums in Rust – and why they feel better
I'm sure you know car and cdr are named for historic reasons and they are not featured in ML family languages as listed above. But coming back to the name of "sum type", I find it very potent to be used with "product type" to reason about Algebraic Data Type's properties, like a * (b + c) = a * b + a * c and don't understand why it's often avoided to be called in this way in "mainstream" programming languages.
crvdgc··on Show HN: YouTube banned adblockers so I built an extension to skip their ads
I have been using an extension [1] to remove YouTube suggestions (a la Unhook, but open source). It has this feature as well, but sometimes I get startled from the sudden appearance of mid-video ads.

[1]: https://github.com/lawrencehook/remove-youtube-suggestions

crvdgc··on Library Genesis in Numbers: Mapping the Underground Flow of Knowledge (2018) [pdf]
Interesting research. However, in practical terms, I wouldn't count Kindle as a form of digital availability, unless the book is composed of pure text.

Browsing figures or tables is usually a very bad experience. The figures are usually in low resolution. And the tables are sometime just pictures. Even if the publisher bothered to encode the table as a table, if it spans over one screen size, navigation becomes very hard. Not to mention symbols and formulas.

← PreviousPage 4 of 7Next →