skysight-inc/HackerNews huggingface dataset:
Ask HN: What should I read to understand computer networking?
I'm a data scientist, and I run into a number of networking-related frustrations periodically, which typically revolve around the interactions between two or more of the below:

- our corporate VPN/proxy
- SSL certificates
- AWS
- docker

I have some amateur knowledge of networking stuff, but I feel like I struggle to get around these problems, and when I do, my "solutions" are just cobbled together based on bits of what seems to have worked before. I don't know how to systematically debug a problem, other than trying to CURL stuff with different options and seeing what works and what doesn't.

And sometimes I'll find some solution by Google, but even if it works, I'll feel a sense of ignorance rather than clarity. E.g., I was trying to route Docker traffic through Charles proxy, and naively set 127.0.0.1 as the proxy address. My Docker container thought this referred to itself and thus had no internet access. I solved it with a network alias [1], but I hadn't even realized that was possible, and I still have no idea how it works, or what it "looks like" from the perspective inside the container and on my host OS.

This makes me feel like I could benefit from more formal knowledge of networking.

Can anybody recommend a course, book, or set of tools for improving at this, generally?

[1] https://www.bonusbits.com/wiki/HowTo:Setup_Docker_Container_to_Use_Charles_Proxy_on_macOS
The benefit to me personally is that I can buy something like SPY for my retirement savings and not worry that I'm getting ripped off on the price. I just picked SPY as an arbitrary example and I'm not making any investment recommendations in this comment.

The benefit to society is that less money and human capital is wasted on finance so more money and human capital can be allocated to more interesting things.

HFT is a tiny industry that generates a tiny amount of money and they've largely replaced what used to be a much larger industry that generated a lot more money. That sounds like a huge benefit to me.
Are “checkboxes” like [ ] and [x] understood by the real org mode or would I need to define say [_] and [x] as TODO keywords if I wanted highlighting of that sort of syntax? (It’s been ~20 years since I was a heavy emacs user, looking forward to finally getting to play with Org Mode or at least an alpha of it)
Why? All you need is a heat gun and some spare parts.
I have never really used org-mode in anger but it's markdown in the context of an editor to which you have access to the primitives of in lisp with lots of attached features.

For example a calendar and a simple spreadsheet.
"Every item in a plain list can be made into a checkbox by starting it with the string ‘[ ]’. "

https://orgmode.org/manual/Checkboxes.html
Why? A city (or a country for that matter) can be a beautiful place to live despites the brain damaged administration it might have
A lot of those people are buying cards/systems for the next 5 years, replacing their 5-year-old setups.
> Imagine if Energy was free, despite of 'consensus', the supply of such currency would be virtually unlimited and it would be worthless.

They would just ramp up the network difficulty. Soon mining would be counted in exhausted stars per second.

Cryptocurrencies are the perfect example of the maxim that "just because you can, doesn't mean you should". They're funny in theory, proof of work being an interesting solution to a particular mathematical problem. In the real world, with problems determined by laws of physics and (in consequence) the structure of human minds, this is about the worst imaginable way to run the economy. The constraints of the problem solved by cryptocurrencies are not very meaningful in reality.
We always need another way to mark up plain text content. The current dozens or so of mostly incompatible solutions is clearly not enough for the world.
>Is it possible for the net statistical acceleration of the charged virtual particles of the quantum vacuum to be used as an absolute reference frame in order to gauge absolute velocity/intertial mass?

I very much doubt you could use that as an absolute reference frame. It would contradict the ideas of relativity and no one has observed such a thing as far as I know.
Purely from an outsider perspective, it's interesting to see all the different frameworks out there, but for front end devs I can't help but feel that this type of comprehensive list hinders more than it helps. One key thing JS needs less of is fragmentation. If I were in the front end dev community I'd want to see people making the front runners more mature and flexible, not endlessly fragmenting just because they slightly disagree with what a more established framework does.

Looking through a number of the entries in this list you read that it was "inspired by React". Why not just make React more flexible so that your alternative way of handling code fits within it? Does each of these new approaches really require a whole new framework?

Contrast this with something like the .NET Framework (which is something I'm more familiar with). Whilst the CLR has the potential to run frameworks other than the .NET Framework, you don't see the same churn in frameworks that you see with JS. I'd suggest this is due to a mixture of two things:

1. A greater focus on getting things done over code elegance.

2. The more mature a framework becomes, the more work is required to match its feature set.

On this second point, if JS continues its constant framework churn, it'll be stuck with immature frameworks. I'd suggest that JS devs should be doing what they can to get past this stage, and if that means (for a few years) treating new frameworks as interesting experiments rather than the next big thing, then that may be a cost worth paying.
It does not inspire confidence when the first two bulletpoints are already redundant with each other. A tree is literally defined as an acyclic graph.

> All the code you will ever need to compile is written in precisely one language.

And that's why make is still popular. There are a ton of new-fangled build systems that only work with $language_du_jour.

Particularly outrageous is Go, which is supposed to have its own builtin build system with "go install", but each vendoring tool has its own opinion about how to run a build, leading to unnecessary compilation instructions in a README that could just as well be thrown in a Makefile target. I always make sure that my programs build and install cleanly with

make && make check && make install DESTDIR=...

regardless of language.
Bandiwdth, mostly.

The lower you go in frequency, the less bandwidth is available.

The entire "HF" spectrum is ~30 MHz. My Wi-Fi at home uses a wider channel than that.

The lower frequencies -- that will travel across the ocean, unaided -- don't have anywhere near the bandwidth necessary (to support the throughput that they need).
Take a look at Sue Barry's notes on Frederick Brock's work on binocular vision, http://www.stereosue.com/brocks-lecture-notes-on-strabismus-...
This is a very accessible intro. And I was fascinated by the progression of her interests and education.

One note: the link to her Instagram page at the bottom of the article is broken (there's an unneeded = at the end). The correct URL is:

https://www.instagram.com/theladymachinist/
From Product to People – Things I've Learned on My Path to Entrepreneurship
No, the throughput available at these frequencies is measured in bits per second.
If you provide an error message, without providing some way of getting the actual details of the error that occurred easily, then that is almost a hanging offense.

Saying "Oops, an error occurred, try again later" is essentially useless. Especially after you've seen it more than a few times. Moreover, this kind of thing I have seen first-hand leads to some bizarre magical thinking on the part of users, on the order of "If I slaughter a rooster, and sprinkle the blood around, and a white goose flies overhead, the problem gets resolved." It's staggering seeing some of the "workarounds" that customers will invent if there isn't real error information present.
I suspect that for better or worse, the answer is more prosaic than any of those- the finest minds realize the problem, but no one has any better ideas what to do, so they're continuing on in hopes of getting better results eventually.

It's a sort of categorical issue- we've tried inexact, scattershot methods that are just barely controlled enough to be called "medicine" (i.e., cytotoxic chemotherapy.) Now we're trying "targeted" methods which tailor medicines to effect cancer in known ways (i.e., "targeted therapy.") What else is there? Those two categories essentially cover the whole paradigm of "giving medicine to patients."

(Note, incidentally, that there is other work going on in the field- early detection/screening methods, for instance, or tumor-subtype classification methods, either of which could make the available treatments much more effective in practice.)
An investor's take on cryptoassets [pdf]
I think the problem in the cancer research community is much the same as the one in the aging research community, which is to say pursuing very inefficient strategies. My theory is that the root cause is similar, which is that researchers and funding institutions will follow a path of least resistance that runs as follows:

- investigate the biochemistry of the disease state in a fundamental research paradigm, fairly disconnected from incentive to build treatments, and very distant from root causes. They work backwards from the end state.

- find new discoveries, 99.9% of which can only lead to marginal strategies, because they are working backwards through proximate causes. If you mess with proximate causes, you are not building cures.

- nonetheless, a healthy dose of status arrives from the applicability of findings, so everyone involved is incentivized to oversell applicability. The researchers are usually less guilty, the institutional support network usually much more guilty (but look at David Sinclair as an example of the inverse).

- then the institutional funding for translational development, that really has no capacity to judge expectation value, and is staffed by exceedingly conservative people who are not going to get fired for deploying funding in exactly the same way as their predecessor, deploys money towards marginal strategies that really only arose as a form of status signaling.

So that something effective happens is entirely a happy accident.

As to where most of the blame lies, I'd say the translational research funding institutions. It is their job to pick good projects, and it should be their job to influence earlier parts of the chain towards higher expectation value research and prototyping. Doing that would be vastly cheaper than the present utter waste of value.
I would read and try to learn an instrument. Also i would cook more.
Org-mode's syntax isn't necessarily better than markdown's. The selling point of Org is that it is extremely extensible and synergizes well with the rest of the Emacs ecosystem. Tools like org-export, org-babel and the org-agenda - examples of the power of Org-mode - could in theory be implemented for markdown within any other editor. Until that happens, though, Org-mode continues to be better.
Fine, I won't use CAPS any more.

I'm not yelling at the reader, but at the author, and even in that I am way more restrained than I should have been.

As for teaching, the teaching here is get the original Make book and go through the examples and understand them; there is no need for me to repeat what smarter and more learned men (namely the author of the Make book) have already written.
As humans we could de facto rename Sarajevo to something more representative of its new policy.
What is XML good at?
If you want type-checking, going with React + Flow/Typescript is a wiser decision than choosing Elm. Better support, better ecosystem, much bigger community by a huge difference.
>Ayn Rand was very much about following through with commitments.

Well, he had a commitments to himself and he followed through. What he promised to others was just BS, and since being selfish is OK, I don't see what's non-Randish about it.
> These days, I simply use Python scripts where separate functions describe what's to be done for each build target.

Congratulations, you're reimplemented make(1), except with Python instead of shell scripts.
I've been listening to enough poor-quality phone/Skype podcast interviews, and figured that someone should build an interview tool that will setup a real time conference, exactly like Skype, but also record the audio in high quality at all remotes and then transfer the recordings afterwards and mix them together with correct timing, so it sounds like all parties are in the same studio. Perhaps even do some magic to mix out the latency, even though there would be some weirdness to work around when participants speak over each other and go "sorry, go ahead".
Physical safety
There was https://github.com/hsitz/VimOrganizer/ but it's inactive since 2014. Maybe there is a more recent one that I'm not aware of.
Can the Great Firewall remotely brick iPhones?
Legendary videogame cover artist Bob Wakelin passes away
That’s incorrect. There was never a rollback in Bitcoin. You may be referring to the leveldb bug that caused a fork, or Gavin and Satoshi’s discovery of the billion coins bug, which was fixed by a software update, but none of these involved a rollback.
You might try vim-orgmode, although it's not a complete clone: https://github.com/jceb/vim-orgmode
If you think Facebook will still be there in 10 years, then you can safely pick React.
wasties
> We started our hiring reboot by analyzing where we were spending our hiring time and effort. Perhaps not surprisingly, we were spending time at colleges and universities based on past experience, rather than their percentage of female computer science undergraduate majors. The national average of female computer science degree graduates is 18%.2 We made a decision to revisit our typical list of schools and only visit the universities that had more than 18% of female undergraduate computer science majors.

More or less "We realized we were looking solely at candidate performance when we were selecting a candidate pool. That wasn't producing the warm fuzzies, so we ignored our best indications of candidate performance, and instead hired from a pool that made us feel good about our arbitrary political goal while hopefully just stopping short of illegal discrimination.".
Stop shoehorning and derailing the conversation please.
Let me say it too! Sarajevo.
Study as if all our knowledge is about run away from us.
The downvotes may be from people wanting to help the uninformed/hobbyists avoid wasting time trying to do something that's unrealistic - http://advances.sciencemag.org/content/3/9/e1701758.

(I upvoted because the unrigorous idea of some sort of "foam automata" is cool, even if a formal, universal version of it is impossible.)
Probably thrice since that looks like a pun. "Jebo" means "fuck" in the local language.
Bludgeoning Bootloader Bugs: No write left behind [pdf]
Do you find that you win a lot of arguments with this condescending tone?

At hand is the question of whether a buyer might reject paying $80/year to BMW USA in order for one bit to remain in the 'on' position to enable CarPlay--not provision of cellular service or anything further.

My suggestion is that not everyone says "oh, the lease is $800 a month, another $80 a year is fine." $80 is still enough that being charged $80 for a pencil, or a chicken sandwich, or whatever, would be outrageous. And leaving a bit flipped is incalculably less work effort than preparing a chicken sandwich.

FWIW: I've purchased or leased various BMWs and Audis over the last decade, and have rejected every offered subscription plan for pushbutton concierge, car wifi hotspot, etc., and have regretted paying more than $0 (on a one-time basis) for BMW's older iOS integration product.
The HN comments are entirely negative about this article, while the ones on the article itself are entirely positive (or supportive).

I think that means our good friend Mr Censorship has come to town!

Really, if you write about UX and don't want to engage in a decent counter-argument, you should be doing something else.
Markdown is for writing human-readable text. Org-mode is for organizing many kinds of information (dates, tables, checklists...) in structured documents, while letting the user decide what that structure actually is. Both can be used for writing README files, but their feature sets are very different on the whole.
You seem to imply that once you understand make, you won't dislike it anymore or don't want to see it replaced or will stop criticizing it.

Criticising it?!? Make is an ingenious tool! It's a phenomenal tool, if one just looks at the flexibility of it, never mind all the super useful built in rules that it comes with out of the box!

For one thing, the better you understand a tool the more correct your critique on it can be.

Correct, but therein lies the rub: the author of the essay clearly does not command understanding of Make, and even worse, he believes he does. Worst of all, he is not alone: this Make hate pops up every so often here, one can clearly see who is learning build systems and who eventually hit Make (all build systems' roads lead to Make sooner or later) and just didn't get it. By my own experience, it's mostly Windows users turned GNU/Linux.

I would be curious to learn whether I'm correct in the case of the author of the essay, really curious.
How I built a Twitter bot for #100DaysOfCode
I've used Vue for larger project and like it but the things you list are the drawbacks IMO:

- Don't need to know jsx!

But you need to learn Vue's template DSL. JSX is just HTML and JavaScript.

- v-for looping is saner than reacts mapping

- v-if allows v-if statements without renderIf component or multiple render statements in react (antipatterns boo!).

Strongly disagree!

- two way data binding with vue-model

I suggest anyone thinking of using two-way binding for anything to rethink their choice. There is always a better way.
Advertising’s ‘Mad Men’ Bristle at the Digital Revolution
Yah I read it and just shook my head as silly...
org mode is literally the only reason I have spacemacs installed. If this is at the same quality bar I may move to VSCode completely.

[edit]

It's missing a lot of the keybindings that made org mode so fast to use so not 100% there yet. Still awesome project and hope it gets continued investment like VIM mode for VSCode.
> Because they got outed and so they had to develop a cover story.

Your claim is at odds with Google's explanation of why they announced the exploits prior to the coordinated disclosure date. In their press article, they state:

We are posting before an originally coordinated disclosure date of January 9, 2018 because of existing public reports and growing speculation in the press and security research community about the issue, which raises the risk of exploitation. The full Project Zero report is forthcoming (update: this has been published; see above).

Recall Google's announcement came the day after multiple reports speculating the existence of a CPU hardware bug. See https://news.ycombinator.com/item?id=16046636 and https://news.ycombinator.com/item?id=16052451 .

Google's statement on why they announced before the coordinated disclosure date is valid. There was an unprecedented amount of embargo violations prior to the coordinated disclosure date. There were multiple high-profile reports correctly speculating the nature of the vulnerabilities. Where is your evidence this is a 'cover story'? I can't see it.

> probably because the parties involved are lying.

It is trivial to accuse someone of lying. Specifically, what did Google lie about, and where did they lie about it? Most importantly, where is your evidence that Google is lying?
Cryptographers have invited this by using "crypto" to mean "cryptography/cryptographic" in the first place. Without this meaning, "cryptocurrency" couldn't have formed and been shortened to "crypto".
> possibly because acquiring them required seven years of medical school followed by twenty years of biomedical research.

what makes you think that type of school had them?
i am looking for something similar but for particulate matter instead of co2 like PM2.5. I am also looking for a solution that would work mobile, eg. on a bike. Any help greatly appreciated!
Nicely done! Safe to say that I think you beat many people (including me) to the punch. I think this is the perfect representation of the battle royale genre for browsers and I think many of the mechanics were inventive (such as the scope attachments increasing your FOV).

Considering I could jump in at any time and find a game, it seems quite popular. One mild criticism, and maybe it's a result of my apparent lack of skill, is that I've played three games so far and have come across ammo in none of them. I'm assuming the ammo was taken by my opponents, but it would be nice if it were a little more abundant. Great work!
"To survive the decades-long process"

It's not a decades-long process. I've seen it be closer to 2 years.
I'll have a free month in 3 months, and I plan to learn smart contracts programming
Off the Charts: The Hidden Lives and Lessons of America’s Child Prodigies
Very nice! Congrats for this.

In GNU Emacs, Org is both a plain text format and a set of tools to edit .org files: it's nice to see both implemented outside Emacs!
Not that this really adds to the depth of the conversation, but I thought it was interesting, and so will share, that this Marie Francois Sadi Carnot is the nephew of the Carnot that HN readers might recognize for discovering maximally efficient engine cycles.
Well, you have experienced first hand that the Docker's idea that people
working with network should not need to understand network is dumb.

Start with old and venerable LARTC (Linux Advanced Routing & Traffic Control
HOWTO). TCP/IP hasn't changed all that much since it was written and last updated,
even with the advent of Docker.
Secure Comms is already a short name that describes how they work. I fail to see why Crypto is a bad abbreviation for commodities that are based on cryptographically signed and cryptographically verified blocks. Just because the parthenon only uses a small amount of mathematics doesn't mean it's "not a geometric structure" -- it's in math books. I feel like Vice could be picking a better fight than "let's split hairs on jargon" especially when the word crypto is not going anywhere. How about this: Vice news isn't really "Vice"
Like I said, if $80 is nothing to a BMW owner, try getting one of those BMW owners to hand you $80 for a friendly hello.

Conversely, if 1% of a thing is nothing, can I have 1% of your company's common stock?
Amazon Go cashierless convenience store opening to the public
> They also came up with other great ideas, including adding a tool that automates the first coding task and removes a candidate’s identifying information.

This doesn't really fit that narrative.
It's not worth it. You'll have other, more valuable ideas. Let it go.

Odds are the company won't understand this, or that only you could make this idea work (in a sense ideas choose people, not the other way around), and the patent may end up being useless to them. It's ok. Let it go.
Unfortunately, due to the lack of female engineers, this will be impossible to implement everywhere. Also, it's kind of counterintuitive to equality, as you basically just guarantee women get a job in Tech. Regardless of skill set. Which in itself is kind of sexist. In my opinion anyways, based on my anecdotal experience holding the door for feminists.

I don't know why people think turning women into "butts in seats", as opposed to genuine respect and admiration of skills and abilities is going to make this problem better.
Because most people don't see taxation as theft, and don't mind paying it in exchange for certain goods/services?
dito, the problem with spacemacs is that it starts so slowly, VSCode is way faster to start.