skysight-inc/HackerNews huggingface dataset:
The article made a great point about TV Everywhere and the inconsistency of app logins. This is something we encounter with apps like the History Channel app, for example. it wants us to log in, go to history.com/activate, but doing so brings up a blank screen or some bizarre error message. I've been trying to authenticate with DirecTV Now, which should be supported and is on the list, but it just sits there. Is it a problem with pihole? unlock origin? Safari? Tried Firefox and Chrome, and same issue. Not a good user experience.

Logging in with a friends credentials for a tv provider she cancelled over a year ago still worked, oddly enough.

Netflix has been way more attractive, even with the slight price hike. Hulu as well.
Reminds me of this quote:

“Perfection is achieved when there is nothing left to take away.” --Antoine de Saint-Exupéry

This principal should be applied more to programming languages.
The thing you have to keep in mind is that once you start cutting ties with legacy systems, breaking changes will keep happening. Today, it's key-up events. Tomorrow, it'll be something else. And eventually, the new and shiny subsystem you introduced today will be considered legacy code by someone else, and it too will be tossed out and replaced.

In the end, you'll be choosing between a platform that requires you update every piece of software you maintain every six months and a platform that doesn't. And while the former might seem better from a pure-ideals perspective, the latter is vastly preferable for actual usage. (That's why so many people use Windows, and it's why I now run Linux on my MacBook.)
Not that I am supporting Tesla, but anyone telling me they themselves build a team of 225 people in 6 months is full of crap.
A lot of observers, especially on HN, worry about the balkanization of video streaming content and see it as hindering Netflix's growth. In my opinion, I don't really see it. When the dust settles I think we'll see Netflix and Amazon as the duopoly of this era of video streaming.

I don't think Disney's streaming service is out to compete with Netflix directly, to me it's more of a play to leverage the Disney brand and ensure they still have a 1:1 relationship with the consumer. Look at it this way, dozens of journalistic outfits have gone by the wayside in the era of Facebook and Google, but the New York Times and Wall Street Journal are not trying to compete by being aggregator platforms like Facebook and Google, instead they are leveraging and monetizing their goodwill and reputation by putting up paywalls, I see Disney doing the same for their content. Also, Disney (smartly) is going to hedge their bets and continue to put new original content on ABC, ABC Family, movie chains, etc. They are not playing the same game as Netflix. The same can be said for Hulu, yes Hulu has more original content -- but at the end of the day Hulu is mainly a channel for the traditional networks to get their hit shows on a streaming platform ASAP from original air date.

As long as Netflix keeps their debt under control, they will continue to grow and have a lot of room to keep raising their prices. Netflix is still drastically cheaper than the cheapest cable bundle, even if you combined a Netflix subscription with Amazon, HBO, Hulu, etc.
How do you use TF on mobile? via google.colab?
Bunk. A water heater is a purely dissipative device. You cannot regain the energy, and it dissipates or is wasted if not put to good economic use. At best, it can be turned off when demand peaks, as lack of hot water won’t kill anyone. At worst, it dissipates during excess supply. What inefficiency is that highlighting?
"What I find interesting about this is the way he did codegen by passing in mock objects that just emit llvm it in the simplest possible way and that it actually works while being incredibly succinct."

It's interesting, but it doesn't work in general, which is why you don't see the technique in common use. The problem is that it only catches methods called on objects, but it can't catch anything that isn't a method called on an object. Unfortunately, that includes for loops, if statements, some aspects of exceptions, and just generally "all flow control".

So rather than being a powerful and general technique, it's a powerful, but very very specific technique that only works in certain toy problems. Unfortunately, once you leave those toy problems behind, it doesn't even help you solve the problem because the paradigm this forces you to operate under makes easy things easy, but medium things hard and hard things pull-your-hair-out impossible. You're better off writing a real compiler... or doing this in a language that does expose enough of what's going on to make this technique work, although you tend to end up in either a Lisp or Haskell, which come at this from very different angles but both have the capacity to make this work. (Lisp via syntax tree manipulation, Haskell via Free Monads and other similar techniques.)
Having the skills of being able to bring new ideas into existing software stacks, without forcing the business to lose money with yet another rewrite of the month, is exactly one way of being more competitive in the job market.
Whenever I fullfill a dream I feel empty. So I don't pursue dreams, I live life, and try to get the best of the present, as long as it exists, I know not for long.
Perhaps such precise manual application can also be an upside.
Thank you! You're quite right that seems to match my description the best.

Unfortunately I seem to have amalgamated two different presentations in my memory then, so I'm still missing one. Similar ones that were good?
Typescript right now requires basically two compilation steps, and it doesn't have decades of compilation optimizations behind it that JS has. If types or typescript itself, were directly supported, things would be so much faster.
As with “elementary” you have to see this in the broader context of Quantum Mechanics, a truly weird and Byzantine theoretical architecture. Anything that isn’t pages of bra-ket notation with occasional words “naturally follows from...” is elementary. Anything that isn’t just a load of linear algebra, but includes the odd diagram is a “picture book.”

Quantum Mechanics, it’s amazing, but it’s hard to wade into.
Microsoft Cripples Windows 7 Media Player to Spur Windows 10 Upgrades
> Hence , I will never get why tech industry believes so much it must be so « inclusive ».

Because being exclusive on the grounds of race, gender or age is against the law? All of those are illegal in the UK where the speakers are based.

More diversity in the workplace also makes them more enjoyable places to work. They may also bring different experiences and points of view in how a site or piece of software may be most useful, leading to more success in the market. A market where women occasionally buy things too.

Same for conference speakers. I want to hear perspectives that I cannot have had. There'd be no point going if everyone had my white middle aged male point of view. I want to understand and see the opportunities I'd otherwise miss, the UX, marketing or expectation differences between generations, gender or regions.

I'm surprised we still have this conversation, sadly.
Ironically though, using _.get or _.set makes that code virtually impossible to type.
Vue.js color picker for humans
How about tf.keras though?

Im just starting with TF and found keras quite useful to begin with. TF itself feels like assembly language and I'm sure it will evolve to something higher level such as keras in the near future.

I have never used PyTorch though, will check it out. I would appreciate your thoughts on tf.keras vs pytorch.
Ben and James talk about this on their podcast. I'd recommend giving it a listen to see them extrapolate on your thoughts.
Its only natural to speak a native language between interlocutors who share it because its the most effortless way to talk between them. I don't think it is rude, especially if you're not part of the conversation and you're in your own cubicle within earshot even if its an open office. However, if you are right bang in front of them and not a stranger to them, it would be respectful to speak in English, so you don't feel excluded.

Being able to speak another language apart from the common language (e.g. English) to anyone in the office provided it does not exclude those who should be excluded because of work or social activity/event is in the spirit of diversity and inclusion. The opposite is not.
Can anyone think of an equivalent expression in software?

(Genuinely curious here. Many software solutions are derived from ecological phenomenon and agricultural practices - this seems like a neat one to mimic.)
What happened to the 90,000 cars a day the viaduct carried before it closed?
The difference between Promise and optional chaining is that you can (and should) redesign your code not to need deeply nested data access. The pain of doing deep null checks everywhere is a code smell in itself, and optional chaining just covers it up. Making a bad thing easier to do is bad.

You can't redesign your code not to need asynchronous callbacks. They're fundamental, given the constraints of the language implementation. Given that, it makes sense to make them as painless as possible (and I'd argue async/await is... well, it's not good, but it's better than Promise alone).
Ummhhh, except here I think that this will lead to powerful people dominating the lives of everyone else. I don't see the similarity to gun control - with guns individuals end up having power (or getting shot - I tend to agree with gun control), with surveillance they end up under the thumb of some plutocrat or politician.
You are using itch wrong. It's like Netflix: you don't use it with a movie in mind. They won't have it. Instead, you go to it to find something new that they are recommending.
For most casual consumers piracy is an inefficient way of getting content, even in the hay-day of piracy I'd bet that most consumers were getting their content via normal channels. A slight uptick in piracy may occur for the technically minded, but most consumers will pay for the convenience of streaming.
Looking from the grid side it looks the same, you just shift the timing of the consumption. This can be done to limited extent.
Cool stuff!

But, complete tangent: given the words "chaos" and "self-prioritizing" together in the headline, I was expecting something else.

Concept pitch: a to-do list manager with 1. generational garbage collection and 2. probabilistic LRU cache-eviction.

1. Generational GC: Tasks have a "re-evaluation deadline." Depending on the type of task (short-term, medium-term, long-term) that deadline is either a week, month, or year. When a task hits its deadline, you must choose to either renew it for another period, or throw it away. When you renew a task, its deadline grows to the next period size (short-term -> medium-term; medium-term -> long-term.) And all tasks other than short-term tasks must be broken down into subtasks.

2. Probabilistic cache-eviction: you can set a (soft) size limit on your task list. Once you hit your list-size limit, every new task entered will evict an old task from the list. So, every time you enter a new task on a "full" list, the list software will select a random subset of your oldest tasks and force you to choose one to evict one in order to replace it with the new task. (So your newest tasks are highest priority, and your oldest tasks sort of "rot" and fade away. But you can "bump" tasks at any time to manually move them back to the top of the list. A task is also "bumped" when it hits its re-evaluation deadline and you choose to renew it.)

Basically, this is the personal-productivity equivalent of how Red Tape Reduction laws work :)
Love this post from Sandi, it nicely articulates the problems with naive DRY interpretation/application. The comment section on the page exhibits the stubbornness (although well intentioned) of those who perpetuate this anti-pattern.
I have a feeling I'm walking into a very dumb question/obvious answer, but here goes.

If you're putting getFoo at whatever level of scope that you'd run it over multiple bar objects that don't have it bound, why is it conceptually different than writing it as

getFooOfBar(this_bar:hasfoo) => this_bar.foo

(If you get my drift from the terrible notation; and you could drop the type-safety and just take an any obj if we're being more literal to your pseudocode)

I had honestly not seen the bind operator used in at least the last decade, so perhaps the dissonance is just whatever corner of tech I work in having a distinct style/idioms.
My takeaway from Birdbox is the old adage: "Any observed statistical regularity will tend to collapse once pressure is placed upon it for control purposes."

Sure it got tons of views because of all the advertisement and the tons of focus on viral media advertisement on every single platform. But the reaction from people watching it before me when asked if it was good was "Well I mean, I did watch it to the end, but i wouldn't call it good". Personally I didn't care for it. It was a huge and expensive stunt by Netflix to show that they could game viewer numbers for a one-shot thing. And I get that this is an important thing for them to do, but it's in no way sustainable or valuable either to them or their viewers.

If they did more stunts like bird-box throughout the year, most would quickly start to completely ignore them with an attitude of "Oh sure I head about X, and it's "blowing up on facebook" but that's always the case with Netflix focus pieces, they aren't worth watching though."
> Back in the day "RAM doublers". Because you may laugh at the idea of paying for software to pretend to increase your RAM rather than just actually buying RAM, but remember, "fix the damn problem". Nobody wants to hear about it being impossible, I want software that doubles my RAM, now write it...

Some of those products actually worked. They compressed RAM instead of paging it to disk. Which was a net benefit back then, and often still is.

Similar techniques are in use in modern Windows, macOS and Linux.
This is quite possibly one of the best critiques of YAGNI that I've ever read.

I grew up in the waterfall (as opposed to agile) era of the 80s and 90s. Back then, it was top priority to catch mistakes as early in development as possible. This is the top article I could find on the concept, which seems to stir a lot of debate:

https://developers.slashdot.org/story/03/10/21/0141215/softw...

The gist of it is that if a bug costs $1 to fix during development, it costs $10 to fix during testing and $100 to fix once it's in production. Maybe someone can find the original quote.

Had I been working on terminals in the 70s, I would have been the annoying person in the back of the room who raised their hand and said "what about key ups?" There would have been a lot of muttering, much debate about how to store keymap bit arrays and what might happen if they get out of sync, every edge case would be explored, and in the end my opinion would be noted somewhere and character streams would have moved forward as the "simpler" implementation.

But it's not simpler, because perfectly valid use cases were excluded. Basically, their decision meant that we couldn't have video games in the terminal. Kind of a big deal, if you ask me.

After so many decades of this, it's hard for me to drink the Kool-Aid on new frameworks, even if they're ones we use every day like C++ (operator overloading was maybe a bad idea in hindsight), git (can't store folders without .gitkeep), Angular (two way binding - oops), React (front end PHP), even HTML/CSS/Javascript (difficulty encoding our own tags as components/nondetermistic inheritance across browsers/mutability). These frameworks are great, but it takes a certain level of suspension of disbelief to buy into them.

Give me 5 minutes with any technology and I'll find the conceptual flaws and bugs that impose major hurdles on its conceptual simplicity, utility and reusability. Basically everything I touch breaks. It's like a knack that makes me a good programmer, but also a Debbie Downer.

https://www.youtube.com/watch?v=MZF6EK7x4Dk

P.S. The workaround for the keyup thing is probably to set the key repeat threshold and repeat delays to 0 and check for repeated keydown events each main loop, setting the keymap entry to true if the key is still down (false otherwise). It's not perfect because it can't easily detect multiple keys down or modifier keys, but that was one of the ways we did it in classic Mac OS anyway.
Link-> relationship
Agreed, and I think Steam's perception is eroding but still there. If a AAA dev released on itch, I think it would get instant elevation in status. But the way things are going, they're opening their own stores instead.
A canvas for a streamlined approach to creating landing pages
FWIW, Netflix will no longer be able to license Daredevil shows from Marvel / Disney. I think a lot of folks signed up for Netflix to watch that catalog of films and shows specifically, including the latest Avengers and whatnot.

I think the more likely scenario is Hulu goes away and we're left with Amazon, Disney/ESPN and Netflix. And HBO, of course.
I would only speak anecdotally and from what I've observed from people I know. Thus I don't try to infer anything at all, but at least locally I've found it remarkable: in a couple of years, Netflix has become synonym of streaming in their mind, it has really become a thing. They are watching Netflix movies and series a lot, mainly because there are on Netflix, good or bad, indiscriminately, and even more surprisingly, they are discussing about them. It seems to me some people really like Netflix, the service, like some people like Amazon Prime, the service. Netflix seems to have succeeded in building a relationship with them.
Try PyPy. IME it makes normal Python code 5-10 times faster.
Thanks, those sound like good techniques. I said something similar to what you say in your 5th paragraph, about responding to variations, in another comment in this thread, about making yogurt. Good stuff. Will check out the book too - had read about it a while ago somewhere, and had it on my radar.
Meanwhile, I'll just keep using Common Lisp and get the benefits of a higher level language AND have all of my code run 15-20x faster than equivalent Python.

And I'll still be able to manually generate LLVM IR if I really want to (but I don't).
"with undefined behavior, anything is possible!".

How is your exposition not a subsumed by that statement? C pedants? Right we get it, nobody needs the excruciating details you and your kind delight in. It's noise.
I honestly don't think a Disney streaming platform should scare Netflix that much. You can get the entire classic Disney DVD back catalogue for ~£200, why would parents buy a streaming service for £10-20/month for years on end?

And that's the whole classic catalogue - when you bear in mind that kids will happily watch the same old Frozen DVD over and over again, I don't see it as a huge compelling offering. Even adding all of Marvel, I still believe people will prefer to pick and choose their favourite individual media over an expensive subscription.

It's the continuous flow of new and unique TV/movies that is really working for Netflix. Disney just don't output anywhere near the same content hours to make a subscription worthwhile, and kids probably wouldn't care even if they did.
My takeaway from Bird Box is that if Netflix wants to make any of their original content one of the most-watched media events of the year, they can do it, regardless of the quality of the content itself.

All it takes is for them to slip it in to people's "custom, curated" lists at a higher frequency, and maybe do a little subtle social-media engineering on Reddit/Facebook, and bam: instant box office smash of a derivative film with a 66% on Rotten Tomatoes.

That's a huge "flex". Big studios could pump hundreds of millions into a decent film and still have it flop. Netflix can take a B-movie and make it a sensation with relative ease. No wonder every game in town is trying to break into this model. Why invest millions on a potential flop when you can engineer one with 75% accuracy whenever you wish?

(though maybe I'm being just a bit too paranoid here. I have to admit some of the Bird Box magic stems from its intriguing concept. guerilla marketing doesn't work so well if what you're selling doesn't seem too interesting)

edit: people are debating the idea of "box office smash" here. I didn't use that phrase to emphasize direct earnings as a result of the film (which is "free" to watch if you pay for a subscription). The article addresses this:

> Secondly, and relatedly, Netflix is counting on subscription revenue. To that end, producing a piece of content that 58% of its subscriber base viewed in a single month is by definition a triumph (and yes, worth ~$700 million).

The idea is that Netflix was able to coerce more than half of its subscribers to watch this film. That's crazy. The result, as we see in the article, is a tidal-wave of Bird Box achieving near-meme status. How does that feel to someone who does not have a Netflix subscription? What big joke/story are they missing out on? For only $14.99 a month, they can win social acceptance by being "in the know" of the current big thing.
It is Python in the sense that the solve_linear_system() function is unmodified. At first it runs with Python objects, and then it runs with LLVMCode objects.

It's a form of metaprogramming which some would call staged programming or multi-stage programming:

https://en.wikipedia.org/wiki/Multi-stage_programming
Give me an example of their real work they have done while at Buzzfeed.

That person is also not on this list :v
Regular cc merchant accounts will do the same if they believe their risk threshold has been met and this will vary depending on your merchant bank. But I do think that PayPal's threshold is much lower than most due to the higher level of fraud and the fact that no human being seems to work in their customer service and risk management departments. It's all bots, all the way down.
I agree, but I also think that you can harmonize DRY and "Don't abstract everything" by observing that repetition is a higher bar than it may first appear.

A common DRY failure is when you abstract one function, then you find another place you can put it if you just add one more parameter, then you find that if you add two more parameters it fits here and here, and repeat until you've got a 12-parameter monstrosity loaded down with if statements and conditionals and block of code whose sole purpose is to preprocess the optional arguments into something the rest of the code will take... but what got you there still isn't the DRY principle, but that the repetition was actually never there in the first place. In the worst case you can end up with two or more things that should actually be entirely separated functions.

I've personally done that once myself; tore one of these functions up into two functions literally by copying and pasting the lines of the original into the two new functions... and there was virtually no line that went into both the new ones. Post simplification the sum of the two new functions was about half the length of the original. And it wasn't anybody's "fault"... it has just grown that way, one commit at a time, over dozens of commits.

DRY is still really important, but there's a lot of complexity/wisdom in what the true meaning of "repeat" is.
Assuming you leave the jar uncovered? Or do you close it?
This is the best overview article so far: https://ndportmann.com/system-threading-channels/