skysight-inc/HackerNews huggingface dataset:
The pitcher has final say, but a good battery (pitcher-catcher combo) is especially valuable because it lets the pitcher focus on throwing his pitches (and tracking runners as needed) instead of also involving him in the batter-pitcher mind games. Smart catchers are very under-rated by most casual fans, and can tell you why they called every single pitch in every single at-bat in a ball game (which will run well over a hundred pitches a game).
Thanks for that, it really helped me understand the problem with my thinking.
The termination costs can in fact be quite high.

Mind: there are aggreeable divorces. There are also disagreeable ones.

A particular hazard of the contract is that if your co-party is inclined to rake you over the coals, they can attempt to do so with a fairly high probability of success. This isn't a win-lose game so much as a lose-lose one. Unfortunately, other players (in particular a certain class of barrister) may well encourage that type of behaviour.

That's not to say that alternative contract structures might not face similar issues. Human relations are ideosyncratic, messy, and hard to predict. But the current popular form has some fairly notorious failure modes.
If using .net stack, why not self-host signalR in OWIN + windows service instead of IIS?

Although, you did not specify the type of traffic. So not sure if you'll have scaling issues. I've used SignalR as a self-hosted service for couple of in-house applications and it worked fine. Usually about 10-20 concurrent connections.
The solution is to gruesomely and conspicuously 'kill' the corporations that cheat. Volkswagen should be disbanded, everyone who held shares in it should see them evaporate into nothingness, and no misbehavior of these not-people should be tolerated.

We'll get there. Or we'll be doomed to servitude. One or the other.
> More generally, C’s notion of memory, arranged in an address space, allows code to address (point to) and access (read, write, call) objects inhabiting that space. Unlike most other languages, those objects need not have been defined within our program. In fact they even need not behave in the same way as such objects. Despite this, in all cases we access them in the same, uniform way.

But can't a systems language like Rust do this, too?
That's a great question. The thought of an orbiting IR collector crossed my mind while typing that comment, but I didn't want to think about it hard enough to address that. :)

The "beam" this generates is really more of a floodlight than a spotlight, so only a tiny part of the energy would hit your satellite. If you could focus it down to a narrow beam which hit only your satellite, my gut feeling is that you would simultaneously be focusing the surface heat of the satellite onto your panel. So once again, your panel would only "see" a hot surface, and would lose the benefit of cold space.

Also, as others have calculated in other comments, the amount of energy coming from the sun dwarfs what these panels radiate, so you are better off just pointing your satellite collectors at the sun.
It's also a lovely font. Just enough serif. Clearly distinct characters. Characters take up their space without filling it.
Neither Netflix nor any of the top "startups" are anywhere near aggressive performance. In fact they're usually full of slow fragile tech that only looks great to blog about.

HFT, adtech, scientific engineering and many other industries are magnitudes farther ahead.
Not a minor nitpick at all. Physical buttons are also moving parts.
How does this differ from a Redux-type store besides being able to instantiate them on demand instead of having a global state?

> It’s easy to screw up immutability in JavaScript, the actor internal state can be modified externally if users of the library are not extremely careful.

Object.freeze() can help prevent this.
https://www.bls.gov/oes/current/oes119071.htm
I'm surprised no one has mentioned Tesla in this context. Not only do they make it almost impossible to get a Tesla car repaired anywhere but their service centers, but they also collect a ton of data [1].

[1] https://www.tesla.com/about/legal
This isn't surprising. Most service providers (including Facebook and Google) actively scan for known PhotoDNA hashes of CP provided by NCMEC and other groups, and will report if they detect and then verify any of them. I recall someone getting charged after using Gmail in a similar way. This isn't a legal mandate, they do this voluntarily.

This isn't "Dropbox employees digging through everybody's files hunting for CP". It's all automated, likely triggered by uploads of certain types of files (images/videos). They almost certainly have a human verify the validity before reporting (which is probably a 100% manual process). They're required by law to report it once they have reasonable suspicion.

An interesting abuse edge case here I've pondered for a while: someone hacks into your account and intentionally posts bad stuff to get you in trouble. It could be pretty difficult to prove that someone did this if the company's logs were inadequate. A similar flavor of this: someone sent Brian Krebs heroin in the mail, and then "tipped off" the police. Fortunately, it didn't work https://krebsonsecurity.com/2015/10/hacker-who-sent-me-heroi...
I find it surprising that Dropbox has access to its users files. I thought cloud storage companies kept everything encrypted, or at least access.

My company uses Dropbox extensively for storing documents with sensitive information.
It works very well for embedded; the only problem is that to build a complete OS-style image, you tend to need nightly, either for no_std or to build your own std/core for the target platform.
> I saw two kinds of Rust graphs.

There's a third kind, which uses indexes into arrays containing the nodes and edges, instead of direct pointers to the node/edge.

> CRT debug heap / MALLOC_CHECK_ / libefence, depending on the platform/compiler

Can any of these protect against the scenario where a block of memory is freed, allocated again for another purpose, but still accessed through the old dangling pointer?

Also, are they always present at runtime, or are they used only on debug builds and turned off on production? The use-after-free might happen only after a specific sequence of uncommon operations confuses the code enough that it either frees something before its time, or keeps and uses a stale pointer.
Did you even the read the article? How are you comparing JS, Python (or any language "gaining popularity" in your metrics) to C, when the author clearly describes the set of problems only solvable in C?
That doesn't agree with my experience. I switched from Turbo Pascal to Turbo C in the late 80s while doing DOS development because it was a better tool for the job. It had nothing to do with microsoft or windows (v3.0 was not yet out and few people developed windows apps before v3.0). Pascal (the language) was definitely not preferred for DOS development at that time - it's just that until 1987 there wasn't really C development environment that could compete with Turbo Pascal.

I did some Amiga development back then also and that was exclusively in C with some 68k assembly. I don't really recall anyone hoping for a pascal environment to replace their C tools, but the Amiga OS was more C-oriented than DOS at the time.
"10 fonts that I think most people writing code are using but I really have no idea..." should be the title of this. There's no way to know for sure, but realistically the most used fonts are probably Consolas, Inconsolata, Office Code Pro D and Monospace since these are the default fonts on the likely most used code editors (VS, Atom, Notepad++, Sublime, VSCode, Eclipse). Most vim/emacs users likely change their font from the default.
> You can prove anything when you introduce a sampling bias that large.

I'm confident that programmers don't want to be writing Makefiles. We don't have to take formal surveys to observe the obvious trend away from raw "make" that has been occurring for decades.

Besides, if Rust programmers really had a problem with Cargo, they would tell us. Programmers don't suffer in silence.

> Package management was solved decades ago, my OS manages the packages and a lean and mean system is the result.

I'm glad you like your package manager. Most programmers, including me, don't want to have to deal with it when the goal is simply to put a Rust project together. Besides, we ship desktop software on Windows: we cannot tell our users "sorry, you need to install Ubuntu".

> The rust solution results in massive binary sizes for simple command line tools. This is fine if there goal is to replace java, but not if they want to replace c.

The Rust solution is customizable. You can use dynamic libraries if you like, and earlier prerelease versions of Rust did in fact do that. Dynamic libraries are a single rustc flag away.

The feedback we got was that people preferred the convenience of a single standalone binary to the complexity of dynamic linking managed by the OS.
I can't reply directly to your other comment, so I'll do it here. In the case of pet-graph, I wouldn't say it has large amounts of unsafe (I reviewed it recently b/c I might start using it), but it does use unsafe. Most data structures in Rust require unsafe for performance or memory access patterns. In these cases the developer is the one responsible for guaranteeing that it is safe (no loss over an unsafe language).

> modern C++ is much safer than unsafe rust

This is an interesting comment. I can't say if you are right or wrong, but it's thought provoking. So I'll quote the rustinomicon here:

Unsafe Rust is exactly like Safe Rust with all the same
rules and semantics. However Unsafe Rust lets you do
some extra things that are Definitely Not Safe.

The only things that are different in Unsafe Rust are
that you can:

-Dereference raw pointers
-Call unsafe functions (including C functions, intrinsics, and the raw allocator)
-Implement unsafe traits
-Mutate statics

Point being Rust doesn't just throw out all the rules. But it's a very interesting assertion.

https://doc.rust-lang.org/nomicon/meet-safe-and-unsafe.html
How I Used Professional Poker to Become a Data Scientist
Great overview. To support it on the design side, the video below shows the evolution of the language from CPL to BCPL to B to C. In it, you see they don't start with what's great for analysis, safety, or efficiency so much as what can compile on terrible hardware. Thompson's modifications are a mix of arbitrary and what will make it work on a PDP. Ritchie enhances a bit for operating systems. This is start contrast from the careful design of languages like Ada or Modula-3 balancing expressiveness vs safety vs performance. No surprise a bunch of problems followed. And same ones today, 30+ years later, in average app even with better tooling available since the language itself defaults on making simple stuff require extra work to do safely. Not necessary as Wirth, Morrisett, and others showed.

https://vimeo.com/132192250
Reading the title I thought the article was going to talk about how not to hire for culture fit nonsense like playing foosball or ability to down a keg but instead it talks about hiring people who don't care enough to keep up with tech advancements.
Chapter 11 of The Idea Factory by Jon Gertner (a book about Bell Labs) has a fun story about the first transatlantic telephone cable, completed in 1956. According to him, telegraph cables were attempted as early as the 1850s, but the first successful one was in 1866, between Canada and Ireland.
Pretty much any new high-end vehicle is unserviceable outside of their service centers due to requiring custom diagnostic and programming equipment.

However, body and other simpler mechanical work can be done outside service centers (for Teslas too.)
When I checked out rust a year ago, I tried to implement three things:

- Some OT code. This went ok, but I still have no idea which of the 6 string types I should use for a library like that. I think I ended up settling for Rc<Cow<String>> or something, but it still wasn't ideal. Swift, Go and C all each have a canonical string type.

- First I tried to make a skip list with performance matching the performance of my C implementation. I discovered that even with unsafe there was no way to make a struct with a dynamically sized array at the end, like I can easily do in C.

- Then I tried to make a networked server using tokio. Despite all the hype, adding a dynamic item to the event bus didn't work because it wasn't 'static didn't work. After spending a few hours fighting the borrow checker, I went online and was told that this would get better with impl trait or something.

I'd really like to use rust, but as far as I can tell its not mature enough for what I want. I've started a new server project recently and I'm writing it in straight C, as none of the newcomer C-replacement languages I tried seem good enough to replace C.
The point is that those problems are (a) not only solvable in C; (b) not problems that most programmers need to solve. That is why C and C++ are declining in usage.
PBS: How online graduate programs (OMSCS) offer degrees at significant savings
It's probably a safe assumption that if you can view files online, they are able to access any of the files.

Although there is a database of hashes and whatnot for child porn that service providers can access, so they don't necessarily need unencrypted access to the files, since they can hash locally and send that to their servers.
> there is no equivalent name among liberals.

DINO: https://en.wikipedia.org/wiki/Democrat_In_Name_Only
Sort of, imagine if when you were 90% through a jar of peanut butter it auto-closed the lid and you couldn't even open it.

What's worse would be if peanut butter was widely acknowledged to be safe to eat for 12 months, but the jar wouldn't open after 6 months.
Try this: https://en.wikipedia.org/wiki/Roman_numerals
A good fictionalization of the events surrounding technological change undermining the existing social order, at least in the late 19th century, is Dostoyevsky's "The Devils". In that book they have the old landed gentry being slowly undermined by technology and new ideas from the west while these younger wild eyed engineers and intellectual radicals are growing up ominously in the next generation.
Video game developers confess their hidden tricks
That's the value proposition of something like Siacoin or Filecoin.

If Dropbox did that, you wouldn't be able to reset your password (since they do not store your password, just a salted hash, I hope).

Dropbox does plenty of interesting things with its users' files to optimize storage. I know they dedupe files, probably using a file hash. Perhaps they optimize even further.
Yeah, back when Mo was pitching, this app would be pretty pointless.
I guess, the type of C++ taught there is the worst outdated kind of C++98 from a generic 20 y.o. text. You know, with the obligatory Circle class inheriting from Shape, all added on top of the traditional C control flow. With three vague paragraphs on the holy Encapsulation/Inheritance/Polymorphism trinity, ofc.
> This isn't "Dropbox employees digging through everybody's files hunting for CP". It's all automated.

If a script can access users' data what's the difference?
Many existing Rust users were extremely skeptical when Cargo was announced, many said they'd stick with Makefiles. In the end, they didn't.

> Package management was solved decades ago

If it was, there wouldn't be new package managers popping up all the time; it's a non-trivial problem. They're not created for no reason.

> The rust solution results in massive binary sizes for simple command line tools.

This isn't exactly true, or rather, you're comparing two different things. https://lifthrasiir.github.io/rustlog/why-is-a-rust-executab... has the details.
They are, sort of. Linux (at least) can do multiple ACLs per FS object (U/G/W: rwx) whereas NTFS does have a slightly richer set of possible permissions listed when you use the GUI but they really boil down to the same in practice.

Novell's NWFS and NSS filesystems have always supported trustee assignments that flow recursively at the point of access rather than the point of administration. Unless you have used either of those as an administrator involving say 1000s of people and groups and millions of files then you will not appreciate this distinction.

On both Windows and Linux, if you have to make changes to FS perms, then the ACLs have to be made to each object - file or folder. On NWFS and NSS, you only do it at a point (say a directory) and then it will recurse automatically unless blocked by an IRF (Inheritable Rights Filter - bloody stupid but there if you really need it)

The end result is that making a change to a tree of files on any Unix or Windows FS takes from seconds to hours. On NWFS or NSS it generally takes seconds (for the screen to refresh).

I have never quite understood why Linux or Windows admins (I'm both) have put up with the rubbish ACLs and implementations of "modern" filesystems. Oooh RAID in software and snapshots - oh how nice.

The POSIX ACLs thing is genuinely shit, very outdated and absolute rubbish. This is the 21st century FFS. Why on earth should you wait as each file in a collection that you have deemed as belonging to sales but be readable by fred be stamped as such? Why should users be able to see the path down to a point where they have access? Why on earth should 21st C admins have to watch a change of security requirements take from a few seconds to hours/days?

Modern FS's are so NOT 1990s and what a shame.
Show HN: Build and share curated collections of learning resources
these panels reject 70 W/m^2

What about plain mirrors? How efficiently do they reflect photons back into space? Presumably they're highly efficient for visible light; how easy is it to reflect infrared passively?
I don't think this guys is trying to win any PC competitions, just look at his profile image :P
https://avatars1.githubusercontent.com/u/305718?v=4&s=400

But if i had kids i'd not blinding them with a PC view of the world.

Kids or not, these are fun little stories even for adult non-cryptographers.
I know of a large printer company who approached a large media company with a deal that would have had the large media company change the color of the text on their printer friendly pages to something near black but requiring the color cartridge instead of true black. As I recall they were willing to pay seven figures annually. The media company did not take them up on their offer.

The underhandedness/cleverness of the printer companies is not to be underestimated.
Yikes. Ok, let's abstract the topic to debate it.

Dropbox scans user accounts. It alerts the police that objectionable material appears on an account.

The police attempt to associate the account with a person. Social media profiles and IP adresses turn up a name and general geographic location.

Police find a person's name associated with said profiles, email, and IP.

They show up at his address, and ask him, hey, are these accounts yours?

"Maybe, why?"

The police then execute a warrant, confiscate his phone.

The phone contains an app, which is logged into an account with objectionable material on it.

You are now charged with possession of child porn.

Child porn is a terrible and heinous crime. Put that aside for a moment.

What happens if someone illegally accessed your account and placed those images there?
Right, and it has been. It's hard enough to find that most buyers of printers won't realize it until after you buy the printer. The normal situation was to switch to 3rd party ink, which is now disabled.

HP is clearly abusing their position and printer ink is one of the most expensive liquids you can buy, even more than exotic $10k a bottle wine or perfume by volume.
> So I think nobody ever rewrites old software. They write new versions of similar things, and then hopefully those new things get adopted. But the old thing will probably be around for a long time too.

That's very true. The most we can hope for is that Rust and other languages, such as Go and Swift, continue to chip away at the market share of C and C++. It'll be a long process.

I'm not a "rewrite everything in Rust" booster; as much as I would like to, that won't realistically happen. Instead, I see Rust as another player in the "programming language Renaissance" that has been going on since the mid-2000s. C and C++ are losing their dominance and instead are becoming part of a broad ecosystem of languages. And that's great: the fact that we have so many choices in languages now has been a very good thing for productivity and security.

> Actually that was thing I was thinking while reading this PDF -- a lot of it can be boiled down to "C and C++ have network effects". Particularly C++.

I agree. That's why I think this paper overanalyzes the success of C and C++. They became dominant because of network effects: simple as that.
Oh that's a really good point! All the more reason why I'd be interested in some statistics around this point.
> If Dropbox did that, you wouldn't be able to reset your password

Right, or course. I'm thick today.
Dropbox holds all the encryption keys. They do not use end to end encryption.
Czech climber sets new benchmark with ascent of 'world's hardest cliff'
I'm guessing you have an iPhone?

Apps are getting larger due to more and more code accumulating as time goes on and apple's toolkit / compilers causing binaries to become larger.

Swift itself creates incredibly bloated binaries compared to objective-c. More people are using more 3rd party libraries than 5 years ago, where you just used apple's built in libraries for the most part. If you just used the shared system libraries, then that didn't count against your binary size.
If that were true, then Linux distros wouldn't still be using GCC. Switching to a new compiler (like clang) is a huge burden.

FreeBSD switched to clang, and could (with some work) be made to use whatever safe C compiler people come up with. That's much easier than rewriting the entire FreeBSD system in a new language.
Whining would be fine. The evil part is completely disabling a cartridge because of a color you aren't using is low, or that the cartridge is arbitrarily too old.

If you pay for ink you should be able to use it.
Combined over consumption of fat and sugar leads to an increased body gravitational field.
I don't understand this mindset. There are millions of python developers using this language in for everything from from small shell scripts, web scrapers, to apps and. machine learning models.

Yet there is a monolithic additude towards tooling for languages, so much so that experimentation is actively discouraged. In my experience, there is no better way to level up as a developer than releasing and supporting an actual product that solves what you see as problems. Sure, you can contribute to existing projects, but you're going to learn a lot more if you are the owner. This experience, in and of itself, makes it worth it. I don't understand the existential fear and admonishment since the 'superior' tool will be most widely used. Also, there are many more developers today of all stripes and skill levels, more than enough to support the existing toolset, and others that like to play around and experiment with different projects for fun. This is somewhat how biological evolution works... lots of experiments(mutations), almost all are dead ends, but sometimes, that experiment leads to a wildly successful adaptation.

I only have about 4 years experience, but I've never understood this mindset. I see the value of having a primary toolset for a language, but don't see the value of having onw and only one solution. Can someone please explain to me its value?
Why does equality require a loss of chivalry? Equality does not mean we pretend people are completely uniform.
The Mill CPU Architecture – Switches (11 of 11 and more to come) [video]
Thank you for sharing this. These are exactly the types of pain points where Mozilla could distinguish itself.