skysight-inc/HackerNews huggingface dataset:
Surprised no one seems to have mentioned the godfather of CS books, The C Programming Language by Brian Kernighan and Dennis Ritchie [0]. At first glance, it's a programming language book rather than a "computer science" book, but you probably won't think that by the time you're finished ...

First, every operating system you'll use - likely in your lifetime - is a giant mountain of C code. From the kernel all the way to the userspace utilities. As a programmer, your career will be forged on the shoulders of giants, and those giants wrote in C. So to understand how your machine works, you must learn C.

Second, K&R covers far more than just a language - it presents a system of thinking about computing. It covers algorithms for line counting, memory allocation, and the construction of linked lists. The techniques you learn for pointer manipulation will enable you to author implementations of data structures that are considerably more elegant and simple than the naive methods [2].

It contains fundamental, influential insights about the computer science field on nearly every page.

Still, I'd discourage you from writing C professionally if you can help it. Rust retains nearly all the advantages of C while abandoning its unsafe memory model and replacing it with compile-time determined allocations and de-allocations. As roughly 70% of CVEs in C or C++ projects are caused by memory unsafety, this is a significant feature [1]. But the insights you make in studying K&R will translate to everything you build, regardless of language.

You'll walk away with a mental model for computers so powerful that it was the genesis of our modern technology era.

[0]: https://en.wikipedia.org/wiki/The_C_Programming_Language

[1]: https://www.chromium.org/Home/chromium-security/memory-safet...

[2]: https://grisha.org/blog/2013/04/02/linus-on-understanding-po...
Ipatool: CLI tool for downloading apps from the Apple AppStore
I’m generally less worried about explicit interference like this (which mostly seems to eventually be found out) than I am about the more insidious and ingrained Propaganda Model [0] proposed by Chomsky and Herman in Manufacturing Consent. In their own words:

> Structural factors are those such as ownership and control, dependence on other major funding sources (notably, advertisers), and mutual interests and relationships between the media and those who make the news and have the power to define it and explain what it means. The propaganda model also incorporates other closely related factors such as the ability to complain about the media’s treatment of news (that is, produce “flak”), to provide “experts” to confirm the official slant on the news, and to fix the basic principles and ideologies that are taken for granted by media personnel and the elite, but are often resisted by the general population.1 In our view, the same underlying power sources that own the media and fund them as advertisers, that serve as primary definers of the news, and that produce flak and proper-thinking experts, also play a key role in fixing basic principles and the dominant ideologies. We believe that what journalists do, what they see as newsworthy, and what they take for granted as premises of their work are frequently well explained by the incentives, pressures, and constraints incorporated into such a structural analysis. These structural factors that dominate media operations are not allcontrolling and do not always produce simple and homogeneous results.

The media, despite all of its supposed diversity, is really just a dialogue between powerful entities, but it strictly avoids criticizing or even acknowledging the foundational principles of the structures that give it power.

[0] https://en.wikipedia.org/wiki/Propaganda_model
Expanding Sourcegraph from an on-premise product into a cloud offering
I made a Firefox extension to do just this which was great for a few months until Mozilla decided to remove all extensions for Firefox Mobile to a select pre-chosen list.
Extended Team Model
The Art of Computer Programming. It requires some decent math knowledge. But so does CS understanding.
> Apollo raised $130M this past summer -- doesn't seem that different to TFA. Is that also nuts to you?

Yes, absolutely. I love the Apollo open source libs, and I can currently see how many customers would choose to pay for their services, but yes, I think $130 million is also nuts.

Note I did preface my comment with "I don't understand finance at all and never will." so I'm certainly not saying I'm right here.
:h was new to me, I have always used ${path##*/} to achieve the same thing.
Clearly investment doesn’t depend on actual work being done… /s

What makes people’s lives better is services being rendered for mutual benefit.

Investment does play a role in facilitating this but mostly because our monetary system is set up in a way that investment is necessary to service outstanding debt. It could be different.
> that we trust each other enough to have a shared understanding of what value is

No, hence why we need the state to print the money, regulate the markets, and put the bad guys in jail.
There are three areas to really study here:

1. Programming

2. Computer Science

3. Software engineering

Programming is, well, the act of writing code both in general and in a particular language. For this, find one or two books or courses on the languages you're using. Work through them, type up most, if not all, their sample programs yourself. Don't just copy/paste, don't download a copy of their source code. Typing it in helps a lot to internalize the information. Then create variations. I'm learning Rust, as an example, and have been writing up the programs in The Rust Programming Language, then I change their structure, make them generic, or modify other elements to see if I actually understand what's happening.

Computer science is more fundamental. For that, many of the algorithms & data structures books mentioned are great to study. It's good practice to implement both (algorithms & data structures) in whatever languages you're using, even if they already have them built in. Then switch out your implementation for the language standard version (if present) so you learn both the fundamentals (how they're built and used) and the standard (how they're used in your language). Pay attention to things like algorithm analysis, it gets cast aside here sometimes but it really is helpful especially in something like rendering. If you understand the relative costs of different choices you will get much more efficient programs, but also study how your actual system behaves. Sometimes an on-paper faster algorithm is slower in practice due to how the CPU and RAM actually work (like scanning a vector for something may be faster in practice than a faster-on-paper hash table or map data structure). You can go deeper and study theory of computation and other areas, but that's not going to be necessary yet.

Software engineering is, reductionist definition, about three things: working with others, working with your future self, organizing programs and systems. Two books I like on the non-technical side: The Mythical Man-Month by Fred Brooks and The Psychology of Computer Programming by Gerald Weinberg. Some parts of both are dated, but they're still relevant to today and thinking about how teams work and systems develop over time. On the more technical side: Learn how to test in your languages, and read Refactoring by Martin Fowler. Learn to use version control, even for toy projects. Create git repos and get in the habit of committing early and often (like with working with any file on the computer you should save early and often so you don't get burned by a crashed editor, committing early and often saves you from when you make a major change and realize you want to undo it).

---------------------

You can study programming without studying CS proper, but at some point you are likely to start running into decision points that will be hard for you without knowing the tradeoffs that CS (even just the introductory portions) teaches. Same thing with software engineering, it's not technically necessary for programming, but once you start working at scale (large projects or more than just a handful of people) it pays to understand that area.
What do you mean? My quote is not something Google said.
My friends did fight in Cuba for freedom during July's protests, now they are gone. Ukraine is wonderland compared to China, Venezuela, Cuba, etc... Gimme a break.
Some of the newer, fancy movie theatres with comfortable reclining chairs and great sound systems are indeed a nice way to watch movies, except the part where other people are around. Film viewing is not a good team sport, with the possible exception of comedies where the live laughter can enhance the experience (although still easily ruined by people who yell back at the actors).
I'm in my early 20's, grew up watching YouTube, and still find textual documents superior for learning in almost all cases (with the exceptions being concise and intrinsically-animated things, like a lot of 3b1b's videos).

I don't think that there's nearly as much adaptation as there is just people getting used to watching video content and liking it more. That is, greater enjoyment, but not greater comprehension.

I suspect that nearly everyone who thinks that they "learn better from videos" just enjoys the videos more (which affects how well they perceive their own learning efficiency - humans are notoriously bad at self-assessment especially in the cognitive realm) and/or has attention issues that are mitigated by the more engaging nature of a video.
How to create bounce ball animation using CSS
I'm actually going to apply to the OMSCS as well, so hopefully I get in. It'll be part-time so I can work, but I'll definitely have less of a social/gaming life for the next few years if I'm pursuing an online masters lol

OMSCS Website: https://omscs.gatech.edu/home
I've read he stopped doing this because scumbags copied his account information from an image of a check.
Average total employee compensation has significantly increased over the past 30 years once you factor in employer contributions to health insurance premiums. Essentially our collective raises have been eaten up by increased healthcare costs. Now we do get some tangible benefits from that in terms of expensive treatments which weren't even available 30 years ago. But there's also a huge amount of waste and inefficiency.
> Close to nothing of what makes science actually work is published as text on the web

Unless there's some nuance I missed, I immensely disagree with this statement.

I'm currently in the biomedical literature review space, and I appreciate the detailed insights. I wonder if the author considered that literature review is used in a wide variety of domains outside pharma/drug discovery (where I perceived their efforts were focused). Regulatory monitoring/reporting, hospital guideline generation, etc.

This is a billion dollar industry, and I couldn't agree more that it's technologically underdeveloped. I do not agree that AI-based extraction is the solution, at least in the near-term. The formal methodologies used by reviewers/meta-analysts: search strategy generation, lit search, screening, extraction, critical appraisal, synthesis/statistical analysis, are IMO more nuanced than an AI can capture. They require human input or review. My business is betting on this premise :)
I routinely tell anyone that will listen that the US police forces are our most active domestic terrorist organization. People do not want to listen to the truth.
Ex-Twitter employees repent for sins and make killer screen-time tracking app
Title is marketing drivel. If it is ad-free, that should be evaluated not by the developer. I'm a huge fan of not trusting developers :)
So true. Thankfully, I've found refuge in social media companies; Twitter, Facebook, Instagram? Pfffff! Beacons of free speech and truth bro.
NZ to create first smoke-free generation with lifetime tobacco ban
The solution to this lies in the statement.
Oh come on, you can't just tease us like that. What are you doing to try and win the next decade?
I was responding to this claim:

> Assuming you can convince Congress to do anything at all, they still wouldn't take any meaningful action against China because they aren't going to voluntarily widen our trade deficit.

Clearly Congress (and the Executive Branch, which is responsible for foreign policy) does plenty that is meaningful.
> they can and do set conditions for getting that money.

The courts have set significant limits on the conditions that can be set[1]. Perhaps such withholding would pass legal muster, perhaps it wouldn't, but I guarantee you it would be challenged. Look at the defund sanctuary cities executive order court challenges[2][3]. There's plenty of precedent for the federal government to not be able to withhold funds because local agencies won't cooperate.

[1] https://www.everycrsreport.com/files/20170323_R44797_36eb380...

[2] https://thehill.com/homenews/administration/361297-federal-j...

[3] https://www.sfcityattorney.org/2021/03/04/final-victory-for-...
Agreed, and it’s not particularly innovative. No fancy C2 tunneling within Tor, no fileless PowerShell in-memory execution, no sneaky back door.
I'd agree completely if you were talking about Apple and the App Store here, but this is Android. You can install alternative app stores on it without rooting it or any sort of advanced user skills. F-Droid is pretty great IMO.
But global money goes into the US exchanges. In reality those companies are global firms, and it doesn’t really make sense to credit any one country with their accomplishments.
Nothing wrong in your perspective? How fortunate for you.
>We are all on the same team after all

We are not. Many on HN are in favor of laws I'd shoot a lot of people to not live under. There are many fundamentally incompatible world views that exist in the US in sufficient number to dictate public policy if concentrated in a jurisdiction.

I agree most policing, probably all policing worth doing, can be done with accountability and there is no fundamental reason an us vs them dynamic must exist. However, so long as American society is sufficiently heterogeneous that the people passing the laws, the people in favor of the laws and the people who the laws are being enforced against are often different groups there will be a strong "us vs them" dynamic.
Do you have an example? I'm not aware of any instance of a general change that lowers property values causing the gov't to have to compensate landowners. The "taking" of which I'm aware is use of eminent domain to expropriate land, which requires fair compensation to the owner.
Or breaking up Facebook and Google such that they aren't able to commandeer all of the advertising dollars that would be required to "rebuild," at least under the currently dominant business models (which get further entrenched with every banking restriction imposed on independent businesspeople, but I digress).
Do you think that it's possible that as the market cap of crypto grows, the volatility goes down? I believe this applies to traditional markets as well. It just takes more money to sway the price.

Also if people see value in it, vs other assets, wouldn't they want to hold it, so wouldn't value be stored in it? Curious if you have any thoughts about that.
Do you have a citation for your claim "There is widespread use of non judicial punishments by police officers. Police regularly punch, kick, or otherwise cause pain on people with no repercussions or reporting. People engaged in constitutionally protected activities are often subjected to intimidation and brutality with no recourse."

I know this is a popular trope in certain political circles but I'd like to see some evidence. There are a lot of weasel words in that statement.
I’ll sort of second this by saying that Sedgewick’s Algorithms I/II courses on Coursera are top-notch and completely free. He is a truly thoughtful educator.

Completing those courses was probably the most useful thing I did when prepping for interviews as part of a career change 6 years ago.
Lonesome Dove (1989) is one of the greatest.

https://en.wikipedia.org/wiki/Lonesome_Dove_(miniseries)
this recent book published by No Starch implements everything in pure c:
https://nostarch.com/algorithmic-thinking
I am wondering how would this solve the problem of mTLS while still supporting service level identities? Is it possible to move the mTLS to listeners instead of sidecar or some other mechanism?
I've done a moderate amount of compiler work, and the resources I'd recommend are:

- "Compilers: Principles, Techniques, and Tools" (v popular, generally referred to as the 'dragon book' on account of its cover): http://ce.sharif.edu/courses/94-95/1/ce414-2/resources/root/...

- "Parsing Techniques": https://staff.polito.it/silvano.rivoira/LingTrad/ParsingTech...

- Not quite about compilers, but the website 'Crafting Interpreters' touches on the pre-compilation parts of a compiler (scanning, lexing, parsing, optimisation): https://www.craftinginterpreters.com/

- If you're compiling a typed language, this blog post is a good intro to type inference algorithms, esp with a view to implementing a Hindley-Milner (bidirectional) type system: https://eli.thegreenplace.net/2018/type-inference/

I highly, highly recommend at least trying to write a compiler or interpreter. It's a fantastic way to understand more about PL theory, and improve your proficiency with data structures and algorithms.

As for functional programming, it's basically the art of removing the word 'self' from your programs.
It's hard to interpret this because in the presence of better searching tools for ads, and better surfacing of metadata fields about ads, this would be a clearly pro-consumer move. It wouldn't even be remotely controversial. And my instinct is to interpret it through that lens, it is a policy that in many ways just makes sense. But I don't think there is a way to exclude apps with ads from search results or to search for add-free apps specifically? Google isn't taking advantage of any of the upsides of having "ad-supported" as a separate category of information. This is a general problem, search in the Play Store is kind of frustrating; it doesn't feel designed to help really filter information.

I constantly wonder if I'm being far too charitable with Google or not charitable enough. It's a hard balance to strike, and I always feel like I'm slightly getting the balance wrong. Maybe the correct thing in this case is not to question the policy itself at all but to redirect all of that energy towards the more pressing question, "why can't I filter based on this category?"

Because we can have a somewhat endless debate over whether this policy is good or bad based almost purely on Google's motivations and what they plan to do next. But most of that is just interpreting Google's intent; in the abstract forcing apps to move information out of titles into easily accessed categories/fields is a good thing. And in contrast to a debate about intentions, the lack of filtering tools around ads, and the lack of any ability for developers to highlight being ad-free as a selling point -- those are pretty unambiguous weaknesses of the Play store that make the store worse regardless of Google's motivations. The search page doesn't even show whether or not an app contains ads (or in-app purchases while we're on the subject), you have to go into the app screen to see that, Google really isn't putting a ton of effort that I can see into surfacing this information.

That kind of stuff is negative, that stuff should be fixed. The search page does show the price of the app directly in the result list. It should also show an icon indicating if the app has ads or not, that's information that is just as relevant as the price. In a lot of cases ads are the price of an app, and so for UX purposes they should often be treated like they're the same category of information.
This is lovely! Is this your first N64 game? How much documentation is there for aspiring N64 developers?
The same thing happened pre-enlightenment during the dark ages.

All of the capital was tied up in the hands of the royalty.

The black plague came along and killed 50% of the world and the whole system was shaken up and it's theorized that reduced the inequality enough to the elightenment to happen.

Its possible that World War two did the same thing for the mid 20th century post great Gatsby roaring 20s levels of inequality.
But apparently according to the article there was a lot of innovation during the early 20th century though. So who knows?

Walter Sciedel, I think it is, posits the idea that only four things can upend inequality and that's war plague and revolution and governmental collapse.

Note that legislation is not included in that list.

https://www.google.com/amp/s/amp.economist.com/open-future/2...
How are they able to determine that 'long covid' is a thing? (I'm not saying it's impossible to do so, I just don't see any evidence that they have convincingly done so).

The people in the article are suffering from many events at the same time, losing jobs, having financial distress, suffering from a scary illness, being locked down at home, having children locked down at home, a likely disruption of any pre-existing mental health care - many of these for the course of years.

I think it is likely that the lockdowns, loss of jobs, etc is leading a widespread increase in depression. This increase would be completely independent of whether a person had previously contracted Covid. The symptoms listed in this article are all just symptoms of clinical depression. I think the most likely hypothesis, which would at least need to be discounted to claim that there is some kind of chronic Covid symptoms lasting years, is that people who previously had Covid are more likely to be suffering depression in recent years but only at the same rate that everyone else is also more likely to be suffering depression.
Even better than Ansible is Saltstack or Puppet or Chef. In other words, something that sits on a controlled machine and already knows facts about said machine
I've said this theory here before and I used to get responses that said "Where the evidence for the inflation, CPI is 2.5%!" now I get "6.2% isn't really inflation!" soon I'll be getting "Inflation is a good thing!" if history is any guide.
Would you support Jews who went around killing German cops randomly in 1990, because they were locked in a camp in the 1940s?
In addition to whether or not all of your various dev teams preferred languages have a supported client SDK, you also have the build vs. buy issue if you're plugging COTS applications into your service mesh, there is no way to force a third party vendor to reengineer their application specifically for you.

This probably dictates a lot of Google's famous "not invented here" behavior, but most organizations can't afford to just write their entire toolchain from scratch and need to use applications developed by third parties.
Wow, never heard of this dilanian guy but he is still at it and it’s directly related to the cia: https://news.yahoo.com/cia-chief-warns-russians-consequences...

Interestingly enough, I did google for fun and I also DuckDuckGo’d. interesting differences. All the google results were articles from 2014 when the intercept broke the news. DuckDuckGo has much more current info, including the yahoo link I found.
The Clandestine Service has had prohibitions against working under journalistic cover in the past. This is because it's thought that free access by journalists to trouble spots beats the possibility of tainting the profession in the eyes of the world (in other words: press access is a bigger net win).

It has been violated from time to time, but at least it's talked about. To my knowledge, the only absolute bar is anything at all to do with the Peace Corps. It would be a Very Bad Thing if people start to think those nice kids digging wells and handing out rice might be intelligence officers.