skysight-inc/HackerNews huggingface dataset:
For one and two: in what world is any of the software in repos like apt or yum up to date?

Every time I set up an ubuntu machine for using at work, I end up compiling a few packages from source, a myriad of packages that are installed from app images or curl | bash installed binaries (like docker, ugh), and more PPA's than I care to keep track of and clean out. And now there's flatpack, snapcraft... packaging on linux is a mess currently.

Honestly, on workstations the rolling release model is the only one that makes sense.

But for python, with tools like pyenv, virtualenv, or even just using LXC/docker/vagrant/whatever, versions in the 3.5-3.7 range are a non-issue.

I agree the quotes thing sucks, though. I wish there was more enforced discipline on that.
I learned from Nextdoor, that a neighbor of mine put cat litter in an amazon box, and later found out her car's driver side window busted in and the litter dumped on the seat. I now just have packages sent to lockers and UPS/FedEX access points, and I know a few who have packages delivered to their office.

The crappy part is that she captured clear detail of both events but police couldn't be bothered. Nest and Ring have been doing their part to fight back, allowing people to publicly post and set up neighborhood watches against porch pirates et al, but there's still a ways to go before security camera footage can be sent to the PD and automatically identify the offender via facial analysis.
I make the start: Big Brother Mouse [0] in Vietnam

- [0] http://www.bigbrothermouse.com
> I regularly find myself wanting to write something of the form do_x() if a.y() This is stupid, but I still kind of want it since do_x() if a.y() else do_y() is valid

cough maybe you should be programming in Ruby ;)
maybe steal -> get caught -> go to prison -> no longer homeless?
I think a simpler language would also have more potential for speedup. The effort PyPy has invested is herculean! Grumpy, Cython, Unladen Swallow, etc.

Python has fallen to my second or third most commonly used language now and speed is definitely a reason.
Which makes no sense. You pretty much have a criminal case ready, there's video evidence. They will likely plead guilty without going to trial.
This is newsworthy, although for atypical reasons.
Totally agree. The author needs to read the Python docs.
He wrote that as a final message to his followers on Facebook. Seems reasonable. You can see the full message here: https://www.facebook.com/waltmossberg1/posts/101610600969250...
It's more of a side effect that the class can define these properties of the same name. The real goal is that in the following example, the private property #x is not affected.

class A {
#x = 100;
}

const a = new A();
a.x = 200;

On top of this, you should be able to define private variables and methods in derived classes without interfering with the base class private properties:

class A {
#x = 100;

getA() { return this.#x }
}

class B extends A {
#x = 200;

getB() { return this.#x }
}

const b = new B();
b.getA() // 100
b.getB() // 200;
"I wouldn't have to recommend Python to beginners any more, and be on the hook for explaining e.g. why default values are mutable, or why nested generator comprehensions behave differently than nested list comprehensions."

Maybe those scoping gotchas are not beginner topics?
The solution that TC39 voted is based on requirements that can only be satisfied by having the ugly `#`.

Namely they voted for encapsulation / hard-private [#33] as well as comparing private properties of two classes [2], which as a result makes the only possible syntax the one with the `#`.

Unfortunately this comes at the price that once browsers implement this it will become history ( same as the `with` statements [3] and `labels` with `continue` [4] ). Because of backwards compatibility these will never be removed.

Maybe in 2022 TC39 will decide that "use static-type;" will be a mode, such as strict mode, where you can write statically typed JS ( great idea, btw ), where this
proposal will make no sense. Another "use class-inheritance;" mode would also finally end the abuse of prototype inheritance with syntax sugar. In this future the `#` will be just a huge annoyance.

#33 : https://github.com/tc39/proposal-private-fields/issues/33

2 : https://github.com/tc39/proposal-class-fields/blob/master/PR...

3 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

4 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
Amazon requiring signatures wouldn’t much help in preventing the problem. They’d just get a signature from the thief “just returning home” in the front yard, find out later that it wasn’t a match, and then... nothing, really. They’d know the buyer wasn’t liable, I guess? Doesn’t do anything for them, loss-prevention-wise; they still owe the buyer the thing they ordered.

What Amazon is doing is much more clever: whenever possible, they’re now recording the serial number of the product they ship to you. This way, if the police find it when busting a fence, they can (hopefully) get the fence’s providers out of them and then actually bust them, too (because now they have real physical evidence—along with testimony—that that particular person stole a particular thing.)
I just put them in a heap.
Feels real to me generally — actors are usually easy to spot, and these would be surprisingly good actors.

The police are not going to do anything in my experience.

I literally caught someone in the act of stealing a package and the police specifically told me to do nothing and file a report. I submitted clear video of a face and apparently this was a known thief to others in the neighborhood, so I even gave them the person's name. They're still stealing packages 6 months later. The police tell me there are warrants pending.
>Poor food may mean many things and most of them are not malicious.

I honestly feel the same about poor service. I'm usually accommodating and understanding, but I'm no monk. Of course there are times when I feel either the poor food or poor service merit some mention.

Most of the time, however, I think "they're human, going through human things. No big deal."
I had a similar challenge when the first iPod came out. I got one on launch day in late October 2001 for my wife as a Christmas present

Two HP towers, each with two optical drives, I spent nights and weekends ripping her CD collection. I just barely got it all done before Christmas. She still has no idea how much work that was.
Learn Redux in 2019 with this React Redux Tutorial
You are assuming that there are advantages to it being illegal. There are not. Legality hasn’t been shown to increase consumption, necessarily. I assume that’s your major false assumption. Next, it’s clearly demonstrable that prohibition creates a variety of massive harmful effects, whereas treating it like a normal business with regulation and taxation has benefits for society.

If you think the government is going to prevent people from smoking cannabis it making it illegal, that policy has been clearly disproven by 40 years of failure. It’s ludicrous to dispute, but some vested interests and clueless people still try, I suppose.
But JS isn't aspiring to be a functional language, it's adding new syntax and changing itself to better solve the problems that it is currently being used to solve.

Some of that is pushing it in a functional direction, some in a "classic OOP" direction.

Much like classes in the first place, this is a feature added to the language to stop the proliferation of stop-gap solutions and standardize on one implementation for most.

Sure, I won't be using this feature, just like I won't be using classes at all in most cases (React components being one exception), but many will, and if this isn't added, they will continue trying to solve problems with solutions which are more complicated, slower, and buggier than this. All the talk about how it's not the "right" solution doesn't matter.

To use an over-the-top metaphor: People are jumping out of planes, and you aren't going to stop them, so the very least you can do is give them a well tested parachute and a map of where to safely land.
How I Used Data Science and Machine Learning to Find an Apartment in Amsterdam
The biggest failure I see with Docker is people not using the signal system in POSIX. Want to stop a container running a java application? You hit ctrl-c and send sigterm to the bash shell...not the java process.

Or the default settings in Docker, you have a long running job in your java appliction, and you execute docker stop, which sends the correct sigterm, but after just 10 seconds it sends the sigkill signal. sigh
Electron is roughly equivalent to SpaceX's Falcon 1. Falcon 1 flew its first (and only) commercial flight in 2009. That's ~10 years, by my math...
Probably because they think they won't get caught. Having things doesn't necessarily mean you also have morals or ethics; it just means you have more to lose.

Stealing a package might not even be the worst thing they did that day. Maybe they also fired all their company's in-house maintenance staff, and replaced them with contractors that cost half as much, in order to get a one-time bonus of $500. Maybe they pitched a censored and backdoored search engine for China, because Google backed down on that (for now). The world is full of heels.
There's a great graphic I've seen in the past but I can't find that illustrates why there's nothing we currently have that can service Hubble. Hubble is 150 miles higher in altitude than the ISS. The closest thing we could put together would be a Soyuz, Dragon, or Boeing capsule attached to a Centaur stage a la Gemini Agena, but none of these combinations currently exist in any real sense. While we could theoretically glue enough rocket pieces together to perform missions the Space Shuttle (or Apollo and Gemini Agena for that matter) could accomplish, the fact is we do not have those capabilities ready to fly. That is the advantage the Space Shuttle had. It had both the capabilities and the sign off to perform these missions.
Some things will seem very innocent though. Having a video call with a family member while sending out data under the noise floor.
Absolutely disagree. People have a tendency to think forecasting is simply making a binary prediction: something will happen or it won't. That simply is not the case. It's more than that. It's quantifying uncertainty. In actuality, reducing a prediction to a simple "X will happen/won't happen" statement throws away information. I can predict the sun will rise tomorrow, and can also predict that the Denver Nuggets will beat the Dallas Mavericks tonight, but the probabilities associated with those predictions are vastly different.

The quandary that FiveThirtyEight and Silver are in is that the general public is stupendously bad with probabilities. Prior to the the 2016 election, Silver was personally being attacked, in some cases by major media organizations like the Huffington Post, and accused of tipping the scales towards Trump (for some inexplicable reason), since their models were giving him approximately a 1 in 4 chance of winning. Then, in the months following the election, the narrative somehow switched, and the fact that Trump won despite only being given a 1 in 4 chance by FiveThirtyEight meant that Silver was now a hack and the model was wrong.

So now, fast forward to this year's election, Silver is doing his best to drill into people's minds that, yes, their model showed a Democratic win in the house as the most likely outcome, but that absolutely doesn't not mean their model says it is an absolute certainty, or that other outcomes would be unusual. It isn't "covering his ass", its educating the public on how probabilistic statements work.
I meant, how can we say 'they don't help me'? We may already be taking them.
The 1973 GAO report[1] mentions the same issues. It does not reach a final judgement, but recommends Congress should examine the planned missions carefully.

The recommendations and conclusions sections is a relatively short and easy read. I get the impression (though it could be my bias) that it is written skeptically.

[1] https://www.gao.gov/assets/210/203748.pdf
> I think you're speaking more about event-sourcing than CQRS

True. I was reading to the comments here and yes, most of them were focusing on the Event Sourcing part of Wokenkit, not the CQRS so my mind got tricked.
I’m not totally clear on how his posting on Facebook invalidates his message (assuming that’s the argument being made by posting this comment). Facebook is, for better or worse, one of the best ways to get a message out to many people, especially if they are friends or followers. I don’t think it’s unreasonable to post a final “I’m leaving Facebook” message there so everyone sees it.
I was never a fan of this version, it seems to spawn the little S shape almost constantly :(
As far as I can tell, nobody creates new code for PostgreSQL 9, but we drag it along because nobody's ported the needed code to PostgreSQL 11. At the official PostgreSQL web site, their documentation is actively maintained and available for PostgreSQL 9.4, 9.5, 9.6, 10.6, and 11.1 -- because they can't decide to give up on the old code. PostgreSQL is like the zombie of relational databases -- the dead just keep walking on.
> Maybe those scoping gotchas are not beginner topics?

They are the second one of your beginners trips over them. Especially the first one is fairly easy to encounter and really vexing.

That said, Python in my experience is an excellent beginner language, and I'd still recommend or teach it.
> And Python? It uses spaces. If you need to define a scope for complex code, then you indent the next few lines. The scope ends when the indent ends.

Curiously, I never see the indent scope complaint about, say, Haskell. It's always just Python. I've wondered for a long time why that is. There's the obvious one, that Python is just far more popular, but I'd expect experienced people to have used or at least seen another language that does it.
Good point.

There's plastic free glitter[0], which I've seen used at environmentally considerate festivals. He should use that for his pranks.

I hope campaigns against single use plastic become more mainstream soon, and that will not happen without it being talked about more, so thanks for raising the point.

[0]: https://www.ecoglitterfun.com/the-eco-bit
Assuming you were ripping to video files, you might have better luck creating a disk image for the DVD, mounting it with something like Daemon Tools, and playing from there.
This is mostly shallow advice masquerading as deep advice by disparaging “shallow” frameworks. The main thrust of the article seems to be “learn design patterns” plus a list of books. That’s a fairly thin amount of information for an entire article.

My own input to the debate is this: learn frameworks. Do not learn bleeding edge new frameworks, only those that are proven and have significant market share, or unless your job requires them, or you have a personal interest in them. Expect that these will change every few years and that you will need to pick up new ones, but hang on to the ones you already know until they’re effectively deprecated. On top of this, know good practises ala clean code etc. and design patterns.

I really don’t know how I could spend 80% of my time learning the fundamentals and 20% learning frameworks. Am I just supposed to keep reading the same basics again and again instead of learning technology that is actually new?
Really? I put my name on the waiting list in the first couple days and I didn't hear anything.

Looks like they offered it to people who already are "SoFi Members" first.
How to Use Brad Feld's Rule of 40% to Value Zendesk, Hubspot, and Salesforce
Right, the difference is to some degree syntactic, but then, so is most programming ("it's just math").

The most significant difference, as it appears to me (note that I've done only a bit of research into refined types, and practically none into dependent types), is that dependent types means building top-down whereas refined types means building bottom-up.

Dependent types: everything is proved, by hand, by the user, who has to build up the whole program from basic blocks. Usually the "foundation" is taken to be some kind of type theory, either Martin-Löf Type Theory or more recently Homotopy Type Theory, which has some complexities (e.g. multiple types of equality) and limitations (e.g. languages cannot be Turing complete) that I don't really understand. "Pi types" abound. I'm not sure how much of this description really is fundamental about Type Theory, and how much is just due to the specifics of the implementations I've seen (Coq, Agda, Idris).

Refined types: start with a program and add some assertions about the values (and possibly functions, but this can then get more complicated) in the program. The idea is that many of these can ideally be proven by automated SMT solvers, which support some "theories" (e.g. natural numbers, real numbers, bitfields (i.e. machine integers and floating point numbers), algebraic datatypes) and can prove some statements in these theories. As you mentioned, "linear arithmetics", along with "real number algebra", are complete and decidable theories, so in theory you should be able to prove anything about them, but I'm guessing that in practice you'd still want some timeout parameter on your SMT solver (like in type systems, where there are exponential edge cases, that thankfully don't arise often in practice), but they aren't very useful, so hopefully you can prove more than that, using the heuristics embedded into SMT solvers (e.g. you should be able to prove many non-linear properties of two-dimensional loops by lifting integers into reals). If the solver is unable to solve something, the programmer can still add hints (but this quickly gets complicated).

A concrete difference would be, in dependently-typed language, you define a list type as

type List a n =
| Nil : List 'a 0
| Const : a -> List a n -> List a (n + 1)

in a language with refined types, you can add length afterwards:

type List a = <... whatever ...>
property length : List a -> Nat

And then the type checker/SMT solver will treat `length` as an uninterpreted function that always maps the same array to the same integer, and use it to prove things.

Not sure if this makes a lot of sense, I haven't looked into this in a while and am also not aware of the most recent research in these fields. Hopefully someone can explain better!
> there are ... tons of creative products that you ... would truly love, if only you knew about them – music, art, stories, and more. The problem is that you don’t know about them yet ... This “discovery” problem is one that no platform on the web has really bothered to address in a meaningful way

Pandora attempted this, and for me, it worked. I think Pandora succeeded because they took the effort (in the Music Genome Project) to understand how to categorize music, so they could build a really good recommendation engine.
Ha ha.
https://en.wikipedia.org/wiki/Extraordinary_rendition
In societies with a rule of law, that would easily fall under incitement to crime, which is a crime. We have legal systems which can and do deal with this so that a bank does not need to take upon itself to make politically charged decisions.

In societies without rule of law, then I think it's fair that a bank could cut off access for another, but we also have a legal framework for dealing with this, the UDHR and the ICJ.

We built these legal frameworks specifically for the purpose of ending the witch-hunting mentality of our medieval ancestors. It's a shame that so many people want to undo centuries of developing frameworks that protect them for their quick virtue signalling.

The real question the far-left needs to ask themselves is, if we throw away legal processes in favor of witch hunts, then who is going to protect them when the tide changes?
Author forgot to mention:

- The GIL (global interpreter lock), which can in some cases reduce your multicore CPU to a single core CPU.

- No multiline lambdas. You can't write a quick anonymous closure and pass it to another function, unless you manage to fit the whole thing in one line.
> ... and 3% computer science

But getting a job is 90% CS based on all the LeetCode interviews companies give.
If that were true, my question would be even more salient.
If you want to make German look bad, sure, but a "better" translation of car insurance would be Autoversicherung.

I mean, "car insurance" is much better than "motor vehicle liability insurance" too.. ;-)
If the point is to write legible, explicit code then the extra 4 characters of "this->" over "m_" shouldn't be a deal breaker. It also has the advantage to save space and reduce noise in locations where you really don't need to make it explicit (like declarations in particular where you obviously don't have the "this" but you'd need to add the m_ prefix).

If the point is to write super dense code for some reason then don't use anything at all.
Is any of this data actually valuable? Or are these just more puffed-up business models that will fade away as the hype bubble pops?
There's a lot of ways around it; there's been several MIPS OoO cores.

It's just a pain and adds complexity to exactly the parts that are hardest to get right as it is. For instance the state unwinding on hardware exceptions and the like.
or you are an expert in some rare domain

Being what the OP advocates, i.e. good at seeing patterns and applying common sane practices etc, i.e. basically the good old being wise instead of knowing a lot (useless things usually) isn't that rare of a domain. And even if it were you could still be hired by any proper hiring process which looks beyond the 'how many frameworks do you know' and values your general skills, thereby recognising you could learn whatever framework you want if needed.

Not saying knowledge has no use, there are indeed expert skills which require somehwat more knowlegde than general programming, but if that 'book-knowledge' isn't combined with knowing how to properly apply it in a way your app has a sane architecture on all fronts you're still nowhere.

Thinking that you will get by because you are an expert in the fundamentals is just wishful thinking.

Is it really? Learning my first programming languages in depth took maybe years. But after I got the hang of it a new language, even when syntax is rather different, rather takes weeks now. Apart from me knowing fundamental stuff by now, what else would contribute to that?
Each new framework is a reset or reboot. We should be building on previous efforts, not throwing them away! Imagine how much more productive we could all be if React allowed you to use Angular libraries, which in turn was backward compatible with JQuery plugins.

Too much re-inventing the wheel, not enough extending the wheel.
For those of us who don't follow closely, how diverse is the membership of TC39? Are Mozilla, Safari, Edge, or other facets of the community well-represented, or is it just a front for the Chrome team?
Not a lawyer. Consent to recording does not need to be made by written contract.. Simple transactional agreement, like saying "OK" on the phone, or by purchasing a device intended to record you, is sufficient.
IMO the best way to become a better coder is to maintain an open source project.

Even if you never get a single Github star (just don't mind the stars, really), you will try to keep to current standards, and you will learn SO much about the traits of good software.

This will also enhance your self confidence, rid you of the backseat coder mentality, and gain recognition by co-workers/clients.
Apologies if it was unclear. My intent in posting his message was to summarize the article and because I personally found it concise and inspiring. I do not think it is unreasonable at all for him to have posted it there. In fact I think it’s a powerful statement.