skysight-inc/HackerNews huggingface dataset:
Since you're into geometric constructions... I've been learning CAD with SolveSpace, which is GPL and has a constraint solver. This is very interesting code to dig into. When you apply constraints to a drawing (midpoint, point on line, parallel, perpendicular, etc..) It creates an internal algebraic expression for that constraint. You end up with a system of equations (internally only) that are constantly enforced as you manipulate a sketch. It's a hybrid approach where the constraints are represented as equations but the solutions are all computed numerically. I think you'd appreciate it.
DNS is a problem for censorship resistance. The solution is not to identify people by their IP address, but to identify them by a unique token which cannot be forged by anyone else (a public key).

In place of DNS, you have distributed gossip protocols which map public keys to IP addresses, and where the messages in that protocol are digitally signed using the private keys for that public key, such that you couldn't have the equivalent of "DNS spoofing".

You can also use the same public keys to perform an authenticated DH key exchange and then have all of your communications encrypted and MITM resistant.

A public key would be like a phone number. You give it out to the people you want to have it directly.

We're effectively in an arms race right now where one side is determined to tightly control internet traffic like the Chinese firewalls, and the other side is developing distributed protocols which resist these censorship efforts. The latter has had a significant boost with the invention of Bitcoin, which can now be used without an internet connection, over SMS, satellite, radio and whatever else. This isn't going to be a trivial thing to shut down.
Useful review. One caution I have while reading posts like this, is that the author does not distinguish between the testing effect, and the spacing effect.

While the value of testing (and especially spaced testing) is well established [1], the value of spaced restudy (e.g. you see both the question and answer together) is less established (but see this Bjork paper [2], which argues there is some benefit to spaced restudy).

[1]: https://journals.sagepub.com/doi/abs/10.1177/174569161771887...

[2]: https://journals.sagepub.com/doi/10.1177/0956797615617778
You can't press charges yourself. You can go directly to the DA with your evidence and hope they press charges, but there is no role for you as a citizen to instigate a criminal preceding.

https://blogs.findlaw.com/blotter/2015/12/pressing-charges-w...

You could sue them in court.
Don't need to own them, check your local library. Books delve deeper than blog posts or even series of them, without distraction.
I build some rather complicated things using Flask. Maybe 5% of total programming time in the last 6+ years has been spent writing code for a framework.

Now, Flask is a microframework, sure. But I see this in other work I do. Perhaps it’s the way I intentionally architect/design to have as little coupling of application with framework, but it’s an exceedingly rare event where I have to bother even thinking about the framework. At most, with a web project, it’s maybe when accessing a request or a session. Otherwise, I don’t write for a framework. I write applications that get a framework-powered web frontend, but all the work is in framework-agnostic code where it belongs.
I don't see why they can't both be important signals. I would hazard a guess that a combined approach is what humans do.

I'm not a linguist or anything, but it seems like in practice people may pronounce "peanut butter" a little differently when they say the two words together. Something like "peanubutter". Or maybe they convert the "t" in "peanut" into a glottal stop.

Anyway, if the "t" is absent when you're talking about peanut butter but present when you're talking about two separate items, I don't see why you shouldn't feel free to use that signal. But I also don't see why you shouldn't use probabilities as well.
This is a great application and I feel it deserves more eyeballs. Early in the development process is the time to make suggestions which may influence the direction of the project.

I have always thought it would be great to read articles in an application in which I could track progress, add annotations and make comments on those annotations.

Some applications get close, but there isn't much out there for reading AFAIK. Most seem to not get much love.

Thanks for the great work!
Monochromatic – A different kind of blue filter android app
New York's Low Apartment Turnover Hinders Affordability
If you scroll to the bottom you'll see that this is a lead generator for attorneys, who are notorious for using "advanced" advertising techniques. They bring in a hot lead, like this site seems well designed to do, and write a letter for $X+.00, and maybe repeat as whack-a-mole goes.
Before I can get to the opt-out page it loads a "Webchoices Browser Check" and it fails because I block third-party cookies? Is this a joke?
I've found it's best to let other organizations be the guinea pigs and get the kinks out, or disprove it, before our own org adopts it. Too many get carried away with "new ideas" and dive in the deep-end blindfolded. Let it run "five years in a similar organization" is my time-proven rule of thumb. Unfortunately, I lack rank to enforce this rule.
The "paradox of meritocracy." Meritocracy is seen, universally, as a good thing - the people who work the hardest get the most. But at a certain point, if you want to stand out at anything, you have to basically put every waking moment into something.

There was a really interesting article on Polygon recently[1] about how making video games is basically impossible now. There are so many developers making so many great games. Studios with 3 hits in the past go bankrupt off of a 4th game which is (only) alright.

But what's the alternative? We go back to a world where connections and your parents determine how far you can go? That's no good either!

The scary thing about the efficient market hypothesis is that it basically guarantees a feedback loop of people pushing themselves to the edge, farther and farther out, in order to do what they like.

[1] https://www.polygon.com/2018/9/28/17911372/there-are-too-man...
If you're starting a new project you can force yourself by running mypy's strict mode in CI.
I did more research and still came up blank - I saw a number of headlines talking about "boring company caves in" - but they use it as a metaphor for them abandoning plans to extend the tunnel significantly. Not an actual cave in.
Did Alexa figure out how to tell when I'm saying "Computer" to it vs. one of my friends?

I want to be able to talk to my computer like in Star Trek, dammit.
If someone is that far into writing bad code, computer science textbooks are the last thing they need. Algorithmic awareness does not result in readable code, and cyclomatic complexity has only a very loose relationship with computational complexity. In fact, code written by computer science professors is routinely some of the messiest, gnarliest stuff I encounter.

Books like Domain Driven Design are helpful for people who don't know how to program cleanly, but the most important thing is really mentorship from a good programmer. People need code reviews that are firm and guide them in the right direction.
You can buy into a fund that holds spacex shares from previous investment rounds.
Yeah, and it was a dumb protest because he misunderstood what the actual bill was about:

http://sds.utoronto.ca/blog/bill-c-16-no-its-not-about-crimi...
> I strongly object to the language that's commonly used around fusion research.

To appropriate some jeering from the other side of the political aisle, what kind of snowflake nonsense is this?

Look, power plants are a commoditized thing. They have costs to build, costs to run, costs to decomission, and they all produce exactly the same product metered in the same ways, perfectly interoperable and measurable in uniformly recognized units.

There's no squish here. Either they are worth it or they aren't. Fusion isn't. Maybe it will be someday, but it's not yet. And it certainly isn't incorrect to point that out.

> an energy source that would change the future of human civilization?

Dude... it's electricity.
>Sounds like gradual typing, which I've found a nightmare to work with in practice - all the pain but very little of the gain.

1) How is "gradual typing" any worse than (at worst case) dynamic typing? And even more so "a nightmare"?

2) What's the big pain ("all the pain") in static strong typing?

3) How is catching 95% of type issues "very little of the gain" of catching 100% of them?
It depends. If I'm enunciating clearly as I tend to do when I dictate to voice assistants, I'm going to tend to tend to distinctly pronounce the "t" at the end of peanut and the "b" at the beginning of butter which tends to produce something of a pause between the two words.
A cellist at a top city orchestra might make more than that, but those spots are few.
Does glitter cause injury?
I know there's still a difference in length, but don't let English orthography fool you, English likes big compounds too: "high voltage electricity grid systems engineer team supervisor" is structurally the same as the unspaced German monstrous compounds. (I.e. the real difference between English and German in this area is just a matter of orthography and not actual linguistic structure.)
He is a university professor with tenure, has sold how many millions of copies of 12 Rules for Life and has had the Patreon income for some time.

I think it's safe to say that he is financially independent, and he doesn't strike me as the "can't ever get enough" kind of greedy.
The villain has a point: "The reason why nobody has achieved this level of functionality is because today’s software is not good enough to predict the future. It’s still nowhere close to matching the instincts of human drivers, which is the single most important factor in road safety."

For any model that makes predictions (be it an SVM, deep network, or 50ksloc of threshold functions written in C++), there are some set of parameters that one can use to tune the tradeoff between expected real-world true positives and false positives. SDC engineers have purposefully picked threshold values to favor conservative driving behavior and avoid crashes.

See for yourself:

In this video, the Waymo isn't avoiding a crash so much as potentially causing a rear-ender: https://youtu.be/vJovT6nsxB0?t=14 I am no Waymo engineer, but the car is clearly mis-predicting the behavior of other threats in the intersection.

Waymos tend to be "scared" because they're simply biased against being confident in their predictions about how clear the road is in front of them: https://www.youtube.com/watch?v=6itruDO57bk

Same with awkward lane changes. Waymos (and many other SDCs) have issues here because their engineers have convinced themselves via extensive manual testing and debugging that the cars would be less safe were they more "confident" in their predictions.

The "villains" of self-driving know what's going on. The best we can do is to try to out-compete them; let them make us stronger. Passion for technology and passion for society are largely orthogonal. We want the winner to be somebody who gets both right.
The issue isn't "learning frameworks", it's don't waste your time learning how to use frameworks only. Learning how different frameworks are implemented, their goals, etc, is pretty valuable.

I would say the same thing about databases. Don't just learn how to use PostgreSQL, or Kafka, or Dynamo. Try to understand how they're implemented.

I've found that sometimes, you do need help. Getting some nice user documentation will get your feet wet. But I've found that the best books tend to be more general topics, like "Designing Data Intensive Applications" for databases. (Note: I haven't found anything like that for frameworks - would be a great topic though.) These tend to cover not only "patterns" but give you a nice survey of the theory - so you can dive further into details yourself.
Well, what is it?

I imagine lists with post-specifiers are near impossible to parse too:

Coffee, instant
Custard, powdered
Sugar

Bit contrived, but still.
It was placed in clear view and wasn't in another box so thieves could see it was an expensive(ish at ~$250) and desirable piece of electronics.

Also it's very unclear exactly how long any of this took there's no timestamps on any of the surveillance video. Could have been months.
No camera or motorized glitter-whipper on this though. Being able to see your victim's face and reaction is what really makes it.
> The article read more like a rant of "I PERSONALLY HATE THIS"

Given the entire premise of the post is that he's written a list of things he hates about Python as an answer to his friend's question as to why he hates Python, I'm not sure why you think there's some ambiguity here.
> burned himself out

I'll say. hits blunt
You: meet the new boss, same as the old boss.
Right, he doesn't have to believe what he stated - "lie" was one of the possibilities I listed. But you can't claim the gesture is meaningless.
They're going to skip a version and go straight to 9.0

maybe
Well, it sounds like this author's employer required their devs to use multiple minor versions at once:

> I was advised by one teammate that I needed to configure my environment so that everything uses the Python 3.5 base. This worked great until I started on a second project that needed Python 3.6.

Might be an issue specific to that company of course.
Wait... is he actually saying the site has nice design, or was that a joke?

I thought it was a call back to praise being dismissed and thought less intelligent.
Depends on the team and the project. I've used Express, Loopback, Golang+Chi, Rails, and Flask for API development; Rails, ASP.NET MVC, and Elixir for web. Not all of those were frameworks that I chose to learn, some were already chosen or already in use when I started.
The cops may care when someone steals from a retail business. They don't care when the same person steals from you, an individual.

The reason why I know this should be self-evident.

I might also mention that if you know someone in the prosecutors' office, your experience will be very different from the majority of theft victims. Cases that never get referred to the prosecutor due to lack of evidence, due to lack of looking for evidence--or lack of taking the evidence when handed in on a silver platter--are not included in the prosecutors' caseloads.
Well, I'm exaggerating (a little).
> Frameworks are there because [...] people want to avoid writing boiler-plate

This really depends on how the framework was designed.

Some frameworks are really good at getting out of the way, and focus primarily on providing a library-like syntax (e.g. Flask for Python) with very little bundling of libraries. You can use a Flask instance inside of a desktop app as a library rather than piping to it Apache requests if you so need.

Larger, more structured frameworks exist for the developer to focus on the business logic and not worry about the context (networking, auth, sec, data store, etc.). They bring together multiple standard libraries that everyone agrees on and bundle them in a context instance the developer can confidently rely on. This, too, is a great tool.
A lot of these "problems" are things I love about Python.

I complained about the whitespace thing back in 2002 before I really loved Python too.

And trying to make out poorly named projects as a Python issue? Please.
Every value in Python is a reference to an object. All function parameters are such values that are passed as they are. You get the same references to objects that the caller passed.

We could call this "passing references to objects by value."
I believe you are misinterpreting my point as discussed in another previous reply. To be clear, I am not calling “gotcha” on Walt Mossberg, I am supporting his statement.
The author listed a bunch of software ENGINEERING books. I could list a couple important books more, but I think there is one fairly good summary and it's this:

The SWEBOK: The Software Engineering Body of Knowledge

https://en.wikipedia.org/wiki/Software_Engineering_Body_of_K...

It's both a good summary and a good reference. Includes stuff about software engineering, computer science, processes etc.

Highly recommended.

I don't think it mentions any frameworks.
>What are people's thoughts on if this is staged?

Well one, he's not a prank channel. He's a serious professional that even showed video of people stealing his package that started the whole idea. He then went as far as to machine parts, have a custom pcb manufactured etc. Then he contaminated cars and residences with glitter, yeah good luck talking random friends to let you bomb their cars and houses with glitter.

I mean, the dude worked for JPL for almost a decade and has his work on Mars, he already gets tons of views and has a history of deep-diving projects. He's also a tv host. He's also a former TED speaker.

Guy has better things to do than stage videos for YouTube.
Completely agree. I think it would be okay to pick up a book on React or whatever, but only after I've had some real-world experience with it so I can actually appreciate the concepts.
That's exactly what made me think it's staged. Despite stating contrary, he seemed incredibly eager to drive to an unknown location, and hop out of his car without scouting the direct vicinity. How could he have known the thief wasn't still hanging around? Someone willing to steal might also be willing to mug and/or physically retaliate against the person who just glitter bombed them coming to pick up their package.
How two friends changed careers, learned to code, and built a startup
Maybe it's just people being emotionally invested in Nate Silver being right (because they defended him publicly before for example), so they interpret any criticism of Nate Silver as a personal attack.
And if you did, I imagine you could perform the task just fine without advanced knowledge of sorting algorithms.

I find the idea that the OP’s computer science background was a “help” hilarious. I’m sure those he was helping sort Christmas decorations with are all wondering how they ever managed to do it in the past, alone, without the Christmas miracle of sorting algorithms...
May be ebook or .pdf or some online. The point of a book is to dig deeper.
The space is irrelevant. Consider the sentences:

The black bird ate seeds.

The blackbird flew at mach 3.

Your brain thinks of these two words completely differently and it's only through conscious effort that you think of them together. They are different words even though they sound and are spelled the same, regardless of the space.

A better example I think is "bear feet" vs "bare feet"
People confusing this terminology is one of my pet peeves. And it's not a petty one. It often impedes the conversation they're trying to have.
Nobody is throwing away legal processes.

I guess I still dont understand. Why should a private company be required to support a cause they dissagree with?
I don't disagree that you might spend 5% in flask, but you also have auth, you have a data abstraction layer, you have session management, data persistence, tooling, and sec. All those libraries together is called a framework.
>Meritocracy is seen, universally, as a good thing - the people who work the hardest get the most.

This is not what meritocracy is about. Meritocracy is about achievements, not just working hard.
"Securities traded on a national stock exchange, regardless of price, are exempt from regulatory designation as a penny stock"[1]

Blue Apron is on the NYSE

[1]"SECURITIES AND EXCHANGE COMMISSION 17 CFR Part 240"
https://www.sec.gov/rules/final/34-51983.pdf
No, I was being earnest.
Let's draw straws.
What's the crime? Stealing something that is less than $1000? They could have stolen that from the front of a store and if they weren't detained by a store cop, the police won't do anything typically.

If they plead guilty, they probably would just get a small fine, not worth the time of a detective to make the case.
I would like to agree with you from the opposite direction. I work with a team of basically all PhDs and write several patents a year. We have a regular scientific paper reading list. (I work developing commercial software, not in research.) My job requires some understanding of at least some graduate-level math.

Every year since my first year, I wrote on my self-evaluation form "I really need to learn more about (GPU computing/differential geometry/hyperparameter optimization)". And every year, I got told "be nicer to people, show your work, thoroughly explain your algorithms, double-check". (Well, different things every year, but all in that list.)

The fact is, intellectually challenging work doesn't exempt people from, well, doing work. Keeping records, using processes, talking to people. There's no market for heroes who only want to pull the sword from the rock but not get any blood on their shirt.
No worries. HN is a tough crowd and sincerity or sarcasm can be hard to interpret over text. I have seen people using /s to reduce confusion here and I try to follow that convention when I can’t resist revealing my jaded and cynical side.
I really hate this meme because it misunderstands how learning takes place.

If you are learning basketball and only did the fundamentals you would be practicing drills your whole life. Drills are important but don't teach you everything you need to know. You need to practice the fundamentals in the context of a game or you will not get good.

Learning frameworks can definitely be detrimental too but for a beginner, a framework is often a real world example of how some fundamentals work. Einstein said "Learning is an experience. Everything else is just information." Learning fundamentals is just information. Practicing them in a real life situation is learning.

So I like to learn new frameworks to figure out how principals I've never used before work. Sometimes I'll continue using the framework and sometimes I don't. I think it is definitely prudent to limit how many frameworks you learn but it is wrong to throw them out totally.
I think we can talk about this in a non-gotcha sense, so for what it's worth, it is interesting that he felt the best way to reach his audience with this message was the platform he's leaving.

If he had a better way of reaching his audience, why not use that instead?
Regarding reason 3 (syntax), I don't mind significant whitespace in itself, but it has knock-on effects which can be problematic. It's the direct cause of Python's `lambda` limitations [1], and IIRC the lack of an explicit end-of-block marker is also the reason for Python not having `do-while` loops.

However, what would be the alternative to significant indentation? I really don't think C-style syntax would work for Python...

[1] https://www.artima.com/weblogs/viewpost.jsp?thread=147358