skysight-inc/HackerNews huggingface dataset:
When I first started learning software I liked to 'collect' these kind of lists as educational busywork. Now that I've been learning software engineering for over 6 years I think they're super unhelpfully overwhelming like you say. You want _one_ short list that you actually use.

For me that is teachyourselfcs.com. It recommends only two books if you don't have "multiple years" to self-study part-time. They are: Computer Systems: A Programmer's Perspective and Designing Data-Intensive Applications. If you do have multiple years it recommends ~9 books. The OP list has almost 100 books just on software architecture.

It takes so long to read one good textbook that I'd bet 90% of software engineers haven't read more than three or four cover-to-cover. I was rare in my computing theory class for actually using the textbook and doing the exercises and I only got 2/3 through. Given my current progress rate through 'Computer Systems: A Programmer's Perspective' it will take me at least 150 hours to complete.
There are currently many "working out of the box" distros available. Mint, Solus, Manjaro, Ubuntu, KDE Neon, Fedora, MX, Elementary etc. to name a few.
Automated Caddy reverse proxy for Docker containers
https://github.com/rcmaehl/WhyNotWin11

This tool helped me figure out what exactly needed to be fixed.

1. Disable CSM

2. Enable TPM

3. Enable Secure Boot.

4. Convert MBR partition to GPT using mbr2gpt.exe without data loss
TS5 is matrix? I’ve been using the TS5 beta client for over a year and I’ve been able to connect to my old TS3 server with no problems, both audio and text. I wasn’t aware there was a new TS5 server either, I thought they were going to keep the current one.
if it can be m9netized, then its more valuable to create artificial scarcity. also see perscription drugs
Tic Tac Toe Game in 10 Lines of JavaScript
This is a different definition of proof that what I'm used to
I also want my software to "just work" - and in that sense I like Windows. But I don't like the telemetry and anti-user practices and that's enough for me to use Linux. I've never tried PopOS though, but after this post I might.
I think Paul Graham is a brilliant programmer. This site coded in Lisp is unbelievable. I'm being honest. One of my current goals is wanting to learn Lisp, and I thank Paul for that.

He's a C writer though. (We all can't be good at evertyhing. Personally, I have never met a person from a wealthy upbringing who could write well.)

It's too long, and I'm still not sure what he is saying?

I can offer this, but it's for ambitious poor/middle class people.

Work hard at getting ahead. I worked through school, and got out with a B average.

If you are poor getting through college, or starting a business, will not be as easy as the guy who has the wealthy sympathetic father, or mother who sits on the company Board of Directors when they are buying your company. (Easy shot a Bill Gates?)

What am I saying? If you are poor, life will be harder.

You know it already. You know you can't make too many mistakes early on.

You know there will be no one to help when the chips are down.

You won't be offered jobs, or perks in life because of your family name.

You know you will need to work harder than Biff, or Charles.

I did everything I was suspose to do in college. I made every class count, even though I knew most of it was a joke.

I then had a nervous breakdown.

Looking back, I think I should have concentrated on socializing a bit more. I should have networked more too.

In all honestly, I didn't like kids from wealthy families. I found them boring, and unimaginative.

Those wealthy kids usually become wealthy adults though, and those connections will be important later on. I still want to upchuck even thinking about using a person to get ahead though.
I don't read many technical books but I value my print copy of "The Architecture of Open Source Applications," in which contributors to major open source projects like LLVM or Audacity walk the reader through the design and share their thoughts on how well the architecture works in practice.

The chapters are short and stand independently. In general the technical writing is pretty good, a skill that I am not surprised to find in project leaders.

It is free to read online: http://aosabook.org/en/index.html
Yes, guess they care more about copilot thing than their own freedom.
I work for a data science consulting company and previously in advertising, so I can say that there are (1) a number of very real problems that cannot realistically be solved _without_ "AI" (though what does that term even mean these days?), and (2) endless piles of "AI"-branded nonsense.

First of all, what do you consider AI? Deep learning? Hierarchical bayesian models? Linear regression? I would call all of these "AI" simply because I have seen all of these labeled as such at one point or another.

Does your business revolve around computer vision tasks ("how can I track people/cars/things in this image/video?")? You almost definitely need "AI" even if you have almost no historical data.

Does your business revolve around optimizing decisions based on large amounts of historical and relevant data (e.g. user interactions on your website, etc.)? You _probably_ need "AI" (but it depends).

There are an infinite number of ways to incompetently apply AI and upsell what you're doing to people who don't know the difference. It happens all the time and is a natural consequence of any hype cycle. But underneath all of the hype there is obvious substance (just maybe not at your company).

Concrete and very public examples of competent AI:

* Tesla's "auto"-pilot (computer vision/SLAM)

* Recommender systems that you see everywhere (Facebook Watch/News Feed, YouTube, Netflix, etc.) -- can be reinforcement learning based, factorization based, etc.

* Real-time bidding markets in advertising (DSP's like Google's DV360, Trade Desk, Xandr run optimized bidding "AI")
Because absolutism ends up being masochism.

Personally, I don't want to be part of Microsoft's ecosystem anymore, but I want some 'convenience' because I actually need to be productive rather than forever navigating the maze of compatible driver versions, so there are a number Linux flavours that fit this middle ground quite nicely.

I use Pop_OS in preference to Ubuntu, but Ubuntu for the most convenience short of anything Microsoft.
The Erlang ecosystem is centered around creating tools for dealing with concurrency. Concurrent programming concerns itself with trying to represent a certain set of semantics in which a program must deal with multiple requests that overlap in time. A concurrent program could ultimately be executed on a single logical processor via some form of time sharing. It just has to be able to deal with multiple requests which can overlap in time rather than neatly coming one after the other. derefr's comment that is a sibling to yours is a good example of pointing out Erlang's strengths when it comes to expressing concurrent semantics (notice nowhere in derefr's response is there any talk of performance).

However, Erlang, as you have correctly pointed out, is not very good if you only care about parallelism. Parallelism is not concerned with semantics, but performance; it concerns itself with trying to make a given computation faster by using multiple physical hardware resources but maintaining the same semantics as a hypothetical non-parallel version.

Your argument is a cogent one for why Erlang is not great if you only care about parallelism. Being able to scale a program to use 20 cores is no good if the same program written in another language could beat the pants off that program using just one core. However, that is an independent concern from concurrency.
Maybe folks who want a user-centric browser can contribute to the one being developed from scratch as part of the SerenityOS project? It has no plans (and no man power) to become another heavyweight Chrome clone, and it is the perfect development ground to take the browser in a simplified, user-centric direction.
That was the point, I think.
Wholly agree.

Really, after you know one language well, you know them all instinctively. Picking up Elixir coming from Python was very smooth for me.
Notwithstanding the humor of your assertion, Amtrak and the USPS are indeed perpetual GOP targets for hobbling, creatively destructive encumbrance, and dissolution.
Let me go and look for another job, maybe dancing would be hard for AI to take over.
I think the purpose of many conspiracy theories is simply to reduce trust in media. If you doubt everything then any theory is as good as any other. So you might as well trust the people who speak most loudly and convincingly.
There's a very nice Git History extension for VS Code that will do pretty much what you're describing:

https://marketplace.visualstudio.com/items?itemName=pomber.g...
Nor I, which is why I said so. A SaaS will pop up called "Co-chair" and that'll be that. It would definitely be a lot easier to trust than any of the black box neural networks we are all familiar with - as the field of formal logic is thousands of years old and pretty thoroughly explored. I used a SAT solver just last night to generate an exhaustive list of input values that result in a specific failure mode for some code I'm reverse engineering - I have no doubts about the answer the SAT solver provided. That definitely isn't the case with NN based solutions - which I trust to classify cat photos, but not much else.
Vivaldi browser is made using React. Frantic pointless UI DOM manipulations (deleting nodes just to recreate them back etc) are one of the main sources of performance degradation. https://news.ycombinator.com/item?id=27449736
It has been available last year

https://twitter.com/system76/status/1313573512792215558
The term conspiracy theorist was designed for this purpose...
Please add:

* Structure and Interpretation of Computer Programs (SICP)
FYI chaining and a handful of the most common operations can be implemented in just a few lines of code: https://gist.github.com/paulirish/12fb951a8b893a454b32

(Although I reach for the "cash" library instead of this or jQuery when I need something jQuery like)
With respect to fight or flight / survival, this seems impressive:

> Another new finding from the meta-analysis: spiders can subdue snakes from seven different families. They can outfight snakes 10 to 30 times their size.
It took me a while to find but you can do `gitk file` and it shows the file and revisions that modified that file, and you can use arrow keys to move between revisions.
...I believe that's "masturbatory".
Too late: https://www.msn.com/en-us/money/other/boston-dynamics-e2-80-...
Ty for that :P

Anymore recommendations?! I read(not entirely) the cosmic python one from Percival and loved.
Good read! Great points Paul!

Thanks for taking the time to write this up and share your thoughts :D

As someone who leans towards "Work Smart, Not Hard", I had the following thoughts while reading this:

> Bill Gates... Lionel Messi...

These are very interesting examples, and I don't think I actually would have said that either of them actually did any "great work". What they have in common is what they are both "top of their field" in fields which are highly competitive/winner-take-all, and therefore get an insanely disproportionate amount of compensation.

When I think "Great Work", I think of scientists and inventors. Interestingly enough, many scientists and inventors were "all over the place" with their careers - many of them being polymaths who pursued a number of diverse hobbies. They often also spent time "idle", or "thinking"(Feynman was a good example of this), which is how I find that I do my best thinking as well. I see creative work as benefiting significantly from "not work" activities such as idleness. Steve Jobs had a similar line of thinking:

> Creativity is just connecting things. When you ask creative people how they did something, they feel a little guilty because they didn’t really do it, they just saw something. It seemed obvious to them after a while. That’s because they were able to connect experiences they’ve had and synthesize new things. And the reason they were able to do that was that they’ve had more experiences or they have thought more about their experiences than other people.

In summary, although hard work can capture more value in winner-take-all environments, I think creative work creates more value, and creative work requires taking frequent breaks, and yes, a healthy amount of idleness.
Copyrights are complete bullshit too though. In your 2 examples. First, the artist I assume is using paints and mediums developed arguably over thousands of years, at great cost. So just because she is assembling the leaf nodes of the tree, the far majority of the “work” was created by others. Shared creation.

Same goes for an engineer. Binary notation is at the root of all code, and in the intermediate nodes you have Boolean logic and microcode and ISAa and assembly and compilers and high level Lang’s and character sets. The engineer who assembles some leaf nodes that are copy and pasteable is by definition building a shared creation of which they’ve contributed the least.
Your point is not very well taken, because RISD is an extremely prestigious design school.
"Good Health Care" is a phrase used by healthy people.
Same. Same same same. Absolutely no, not ok. This ain't 'Nam. There are rules.
A User's Guide to ZSH
You don't control the whole environment. You'll likely use some libraries where people didn't use type checkers and wrote libraries in a complicated enough way that the analysis cannot give you an answer. This is where you control some of your environment and fixing it involves forking dependencies and more maintenance burden if you really do want to do it.

In this case, complaining about the environment as a whole does make sense.
As noted in another comment, the genus of the redwood is Sequoia. The trees with the common name sequoia (which are a different genus) tend to be shorter than redwoods but also much thicker in their trunks. They are native to the mountains further inland (you'll find them in Yosemite as well as (unsurprisingly) Sequoia/King's Canyon National Park). I'm pretty sure that the Stanford tree is, in fact, a Sequoia and not a sequoia.
So the author wants to make browsers much worse on ideological grounds? Cool ok man, you do you. I'll keep watching Netflix and using full-blown web apps in my much better browser.
You can replace “:fist: :eggplant:” with “masturbatory”.
True and that's why I think it'll take many decades. Merchants accepting before the mass adoption of lightning and other layer twos are way too early, and no one wants to spend it before it reaches mass adoption.

Bitcoin only makes sense for emerging market countries with unstable currencies or formerly stable countries going through a crisis. In the former case it takes a long time for those economies to mature. In the latter case, it might be temporarily adopted by their citizens until they can escape to a more stable country or the country manages to turn itself around. These events take decades.

For now, it's just a store of value. You put it in a portfolio like gold as another uncorrelated asset that tends to go up over time as fiat currencies inflate which is what got some of the recent big macro/portfolio construction crowd interested last year and driving up price in this recent run up, and unfortunately the market cap is too low again for more serious allocation to it without driving up price too much.

We're a decade into an adoption curve that was planned to be over a century long
Because “not taking a day off” and “naked pool parties” are incongruent.

Like I said in the parent. No doubt a hard worker, but let’s not mythologize for no reason
I am most looking forward to this for things like bash scripts. I don't usually do much bash programming, but probably once a month or so I have a need to do something that could easily be solved with bash - but since I use it so infrequently, I'm always forgetting the myriad list of command line tools and options to do what I want. Stackoverflow of course helps but this would be a huge improvement if it works well.
Conspiracies happen constantly because people conspire to do nefarious things all the time. However nowadays the framework for evaluating those nefarious things (conspiracy theories) has been completely negated by those in corporate media conflating it with insanity and baseless, nonsensical accusations.

And there's a reason for that, which Snowden touches on. Namely, the world in its current form is largely run by such nefarious schemes. The bad guys won a long time ago. And by taking away the language we might even use to talk about what they did, and the scale of it, they have further insulated their power.
The U.S. Navy Tried to Turn Whale Songs into Secret Code (2017)
What if you were born into a family worth millions? Sounds like massive success in my books.
PG was lucky yes but also prepared to build web apps which nobody was doing at the time. He also had great co-founders/friends. Also the idea that a website could edit itself instead of having to be uploaded etc... And then they did it. So part of it was being there, part of it was building a technology/product that Yahoo needed etc... Part of it is working in computers as the web took off. Nobody at the time really knew what the web was going to be and I think we don't really know the full impact of the internet will be even today.

Take my story as an example. I worked in high school as a web form developer in 1995 and 1996. Lots of demand from professors to build their course websites with forms. I was just happy to have a summer job inside with AC. I had the technical chops to build an MVP of wufoo or surveymonkey etc.. But I didn't because I thought it was trivial and underestimated it. I thought at most I would sign up a few dozen psychology grad students or something. It wouldn't be a proper business etc...

Likewise, sometime in 2005-2007 I was in SF and couldn't get a cab and thought about a mobile app but discounted it as infeasible b/c I thought cities would never legalize it to preserve their taxi medallion scheme etc... That's probably true, they would have liked to do that but the public basically demanded it and Uber moved very fast. I reasoned incorrectly and underestimated the market.

I also underestimated DropBox, AirBnB, Hotmail, even Google, Yahoo and FB. The list goes on and on. Hind sight is 20:20 but I think it is important to figure out why I discounted these ideas at the time and what biases I had etc...

I think though that if you are actually interested in something though that goes a long ways to keeping you engaged. You can see past the discounting and the haters. If you continue to work on that, then by the time the rest of the world catches up, you are way ahead.

You don't even have to be some kind of Jedi who can see the future, if you just work on it because it is interesting. As you do that you will get glimpses as to what the future might look like.

Today, I actually don't think Dropbox is "just a sync or backup feature". It is so much more than that and that market has a lot of potential. GDrive, iCloud, and Microsoft all have big problems and limit themselves which hurts consumers.
No, the same advantages apply to the other alternatives I mentioned. If you have a target protein design ready, it can be readily plugged into mRNA, DNA, or protein subunit technology.
Hi, this looks interesting, but I personally preferred the style of https://hpbn.co/.

There, instead of teaching me how to implement my own internet, it gave me a high level overview of networking history and design decisions.

After reading that book I can now keep those constraints in the back of my head when developing web applications.

I would love to read something like that for browsers:

Instead of teaching me how to write a browser in Python (which is cool I guess for a weekend project if one is into that), it would show me a high level history and design decision overview and explain what was difficult and how it was solved, what hacks were necessary, what is still an unsolved problem, etc.

My hope would be that from such a website I could take away key bits of information that I could leverage in daily coding, say „DOM nodes earlier in the document get rendered faster than later in the document because X“ or „display: none is much more costly than opacity 0 because X“ or „XSS attacks will never be able to be 100% solved because X“ or something like that.

I hope my feedback is useful? Good luck anyways!
I've set up Arch before and it's not fun to me. I don't want to change and write dozens of config files to get up and running. Some people find that sort of thing fun. I don't. Does that mean I'm conceding some control over my operating system to the developers of the distribution I'm using? Of course. And it's something I willingly do because it's not an interesting problem for me to solve and I frankly don't care that much. If there were something nefarious going on, I might care, but it's simply not possible for me to live my life auditing every bit of software that's running on my system.

I suspect most people, even those that are heavily invested in FOSS have some limit to that as well. I doubt that many people are auditing the code for every application or program they compile on their computer. They have a sphere of trust where they can just assume that what they're running is safe enough and that the software isn't going out of its way to be malicious. It's a matter of degrees. I happen to be okay with giving up some control for the convenience of not having to try to install wifi drivers on my computer without access to the internet.

I don't think it's self-contradictory at all. People have different ideas of what an Operating System should be and that's reflected in the number of different linux distributions all with their own ideas and philosophies. I just happen to really like what System76 has done.
>Using the words "hypotheses" or "scientific discussion" doesn't make those things hypotheses or scientific discussion. The first takes place within the parameters of experimentation, and the latter in papers and journals.

As a scientist, I can definitively say this is false. Both these things happen over beers quite frequently.

To further

If science only happened in labs and journals, how did we ever get to the point where those things existed?

Edit: to pre-empt the likely rebuttal

https://en.m.wikipedia.org/wiki/Gordon_Research_Conferences
Again. He claimed not a single day off, which is insanely unhealthy and almost certainly untrue if he had time for naked pool parties.

I’m not claiming he was lazy, just asking “why take his provable lie at face value?”
I'll be contrarian and throw my opinion on top of the pile, why not.

I've never found most of the arguments about the UNIX philosophy or plaintext super compelling. Some people love to wax poetic about "composing together small programs" and "being able to use one toolset to accomplish many things." In my experience this works really great for systems administration (the activity the paradigm was designed around - big surprise) but not very well for other things. Sometimes I want to take a picture. Sometimes I want to query a sqlite database. Sometimes I want Powershell objects. Life is not systems administration, and neither is computing.

Don't get me wrong, I have emacs open all day every day at work. But when I hear people talk about using plaintext for everything, I think about Bret Victor's rant about the inhumanity of keyboards and screens:

https://www.youtube.com/watch?v=agOdP2Bmieg
When React first come out, the whole notion of mixing HTML and Javascript code was, if anything, widely rejected. Rather than going viral as a kind of fashionable thing, I feel that it really had to earn its position.