skysight-inc/HackerNews huggingface dataset:
I feel like we read different articles.

They do make mention of being actively engaged on SO, but this didn't at all read like a marketing piece for getting more SO users.

The key point seemed to be one I've seen echoed repeatedly elsewhere: a lot of good developers write and share a lot. It doesn't have to be Stack Overflow.

"Good" in this context I take to mean holistically good. Not just good on purely technical skills, but soft skills(particularly effective communication), organizationally dynamic, etc...
I guess Minecraft is so well known that this could work.

Are there any stats on how many Android games are playable with such a controller?
For practical reasons, it's under for me.

The roll doubles as a coffee cup holder. If it's spooled over, and I pull a sheet, the cup winds up on the floor.

If it's under, and I pull a sheet, the cup is restrained by the wall, no harm done.
One of the main reasons why OOP is popular is not even talked about - the ability for AUTOCOMPLETE in the IDE to work extremely well.

For example, I have an object... what do I do with it? So I hit the '.' on my keyboard and read the list of things that the object can do.

This is why OOP is popular, it allows better tooling. If people want to move beyond OOP then they need to think about how the new style integrates with the IDE so that the programmer can hit the '.' or equivalent and get a list of useful things to do with the object in question.
The whole reason Steam exists is because Valve pushed it with high-profile content, over a decade ago - initially Half-Life multiplayer (To a ton of community backlash), followed by Half-Life 2, as Steam exclusives.

It's only been the past several years that Valve has completely stopped making games, and started working on other things.
Almost all the engineering magic and weight is at the bottom: nozzles to handle very high temperatures, high-pressure high-speed turbopumps, and so on. The falling Falcon stages have the aerodynamic stabilisation of a shuttlecock, and their low center of gravity helps them be stable on fairly small legs.
That's exactly what I look against on interviews. Slow SQL queries tend to work fine for some time, and as data grows, they start failing.

I'd want to hire a professional, who knows the perfect way of doing that, so for them it would be as easy to make it right, as to make it ugly.
I don't think the argument is that you could never make a keyboard appear with WebGL. It's that the speed increases and improvements you're seeing are due to the fact that there are about a thousand edge cases and alternative environments that these WebGL-based replacements have never considered. Anybody can make a demo that's faster than the DOM. I can make a native framework that's faster than GTK if you let my demo ignore all the things that GTK has to care about.

The problem is that by the time you've finished building a WebGL layer that has the same accessibility features and component-level controls and custom shortcut support and extension APIs as the DOM, it will no longer be a snappy, fun, fast experience. What you'll end up with is a second implementation of a web browser that runs on top of a web browser, and that has to be downloaded fresh every time you visit a new website.

WebGL and Canvas frameworks are fast because they allow you to build an interface that does fewer things -- that only worries about pushing pixels to the screen. They allow you to avoid adding the overhead of app-agnostic universal UI components with predictable behaviors, or accessibility layers, or custom font support, or universal shortcuts for scaling, or responsive layout support.

And sometimes you don't need that stuff. Sometimes you do only care about pushing pixels to the screen, or you're doing something very specific that allows you to avoid thinking about edge cases. But if you're going to universally replace the DOM, then you do need to care about edge cases.

Keep in mind, Firefox is also running in C/Rust and rendering webpages using OpenGL. It's operating on the same bare-metal layer. The DOM is already written in low-level languages and rendered out with OpenGL. It's not slower than Canvas because they used the wrong tech stack, it's slower than Canvas because it does more stuff.

I'm very excited about WASM as a replacement for Javascript. And to their credit, that's what the Rust team is doing. For the most part, the direction that Rust is actually going isn't towards WebGL, it's towards getting good DOM access in WASM.

The future of Rust/WASM mostly looks like people writing code in the language of their choice, with speed improvements based on the fact that the language isn't high-level or garbage collected, and then using that faster, more comfortable language to manipulate the DOM, just like we always have.
I think I'll publish it, and I'll share my learnings.
Letterboxd is indeed a great source!
Under places the end close to the wall and other potential sources of contamination when you reach for it. Over is the one true way of the TP. This under crap is perpetuated by interior decorators who think hiding functionality is a virtue.
And Telegram.
Well, for one it's not actually new. Protocols are interfaces, sets of messages.

Hmm...that would be message-oriented programming, which is what Smalltalk for example has been all about. First equating OO with heavy use of static typing and inheritance (which wasn't the idea), noting that that doesn't actually work (surprise!) and then "inventing" POP...sigh.

https://blog.metaobject.com/2015/06/protocol-oriented-progra...
It would be more helpful if you included a link or two. I don't have time to read "all major HIG". It might not be reasonable from your POV, but from mine it is - if I ask you "Do you know Michael Jordan?" and you answer "Cancel" I would've thought you're nuts.
Ask HN: How are researchers working during lockdowns?
I think the reason a lot of people reach for inheritance is because they're never really taught how to decompose a system into smaller moving parts through analysis. At a high level every watch tells time and date and has complications. But the devil is in the details of what watch we're talking about. And I think most classes on OOP would take it as a trivial example and start with a Watch interface and subclass it. But they never really explain how a Watch consists of a Time and Date, with zero or more Complications and a Face.

If you focus on the compositional relationship you get a lot more mileage out of OOP which is the real revolution over the past 15 years. And the decomposition is how you arrive at the Single Responsibility Principle and Encapsulation. Suddenly you can work only with the set of all Complications, or the Face, or Time or Date without worrying about which Watch you have.
The problem was uncertainty about the inputs, not insufficient computational power to crunch those inputs. If computational power were the bottleneck there would have been a mass spike in server purchases and a run on compute capacity, but clearly there wan't.
Google is launching a copy of TikTok with Youtube branding. Directly competing with them.
> China stopped testing ages ago

You seem to be pulling this out of your ar*e, since it is inconsistent with all U.S. reporting I’ve seen as well as second hand knowledge from acquaintances in China (in and out of Wuhan/Hubei), including medical professionals.

According to aforementioned sources, tests are administered for anyone who either show any symptom or are hospitalized for any reason. Some companies apparently also require testing — which is widely available now — before resuming work (reported by NYT[1], haven’t been able to confirm this myself). Recently a new cluster was discovered in Wuhan, and now they’re planning to test all 11 million residents.[1] I checked with two acquaintances in Wuhan (only got two, so unfortunately can’t provide a fuller picture), and this is apparently already underway, with one of them tested yesterday and one scheduled for tomorrow.

[1] https://www.nytimes.com/2020/05/14/world/asia/coronavirus-te...
Wondering how much of this is convenience bias? If you want to make a podcast about great developers you’d probably start with the people you know, which is going to tend to be people with a substantial public presence.
Thank you for that, it's uplifting.

It does appear to be available on the net, although in remarkably few places:

https://www.google.com/search?q=%22The%20need%20of%20our%20c...
Using artificial intelligence to discover new treatments for superbugs
Hey Cesar, that's great to hear. Mind shooting me an email at aking@interviewboard.io? Would love to run through some questions to get product feedback if you have the time.

Stay well!
I had a conversation with a company a few weeks ago about this. What they told me aligned with other things I've heard. Basically they're seeing customers giving preference to open source software and they believe (rightly or wrongly) that using one of these non-compete licenses will give them the marketing advantages of open source without the potential business model downsides.

Of course, they also likely don't get the development model advantages of open source but anecdotally these companies don't much care about that. (And TBH a lot of single-company products/projects don't get a lot of outside contribution anyway.)
Somewhere between a nothing burger and covid19 stimulus big.
It’s a rough direct competitor imo before. Now they’re copying TikTok too. Already been announced.
Sort of.. But the way this was done in C is still done and was evolving long after C++ split.

IMO classes as false separation is the reason we kept C++ and Java out of Oses. ABI compatibility, dynamic loading, etc are all from the duck philosophy. It is no one's business if your duck thinks it is a duck.
The author sold "95%", not all, for what it's worth.

I am not an economist, or a professional investor - I am a complete amateur and mostly ignorant, but it bothers me that folks are treating "14.7% unemployment" as if it is the same metric as _actual unemployment_. That number is so high right now because _people are not allowed to work_. It's true that literally lots of folks are not working right now, but that is a completely different metric than a huge lack of supply of jobs.
It's fascinating to observe how little fuel is left in the Falcon Heavy lower stages when they're jettisoned. That reentry profile really gets to take advantage of atmospheric drag to sink all that kinetic energy.
Sex isn’t binary, and we should stop acting like it is
"Toilet paper hung in improper overhand fashion" https://www.youtube.com/watch?v=CQod276-7Mo

I used to feel pretty strongly that "overhand" was correct, but that was when I was younger and thought I was right about everything and had the charming affect of correcting people's grammar unsolicited.

I often wondered whether the writer of that Simpsons joke took a stab at trolling, which is to say they were saying the "Popular" way was incorrect. I know someone who hangs it underhand specifically because they consider it to be contrarian.

Having cats is a good reason to hang it underhand, else they'll unspool the entire thing. I recently adopted a dog who thinks it's hilarious to grab the entire roll off the spindle and run away with it, so now we have to keep it hidden away in the cupboard. ¯\_(ツ)_/¯
If you ever used a toy rocket as a kid, the engines had a long hole down the middle. Apparently the Space Shuttle uses the same idea:

https://www.siriusrocketry.biz/ishop/images/EstesStandardEng...
The main lesson I’ve drawn is that the real problem is dogma: OOP works fine if you aren’t trying to follow some One True Way™ rather than adjusting based on your needs, problem domain, and resources. The same is true of most other styles: FP is prone to getting a certain brand of immutability fanatic who will cause problems until they learn more about computer architecture and get a more nuanced position.

In every case, focusing on dogma avoidance and having reasonable technical debt levels seems to be far more important than the specific language and paradigm.
Nooo!! You're going against the JS BAD narrative! Stop that right now!
It wouldn't have been life-changing money for you, it would have been a minor bonus. Usually, only the founders make life-changing money from big deals except in very rare instances, like Microsoft and Google. I doubt any but a few very early employees did well at Shazam. Meanwhile, I'm sure what you learned at the startup you joined was far more valuable than whatever the bonus was. You made the choice with the information at hand.

Equity for employees is trash value. You would do well to just pretend it doesn't even exist when factoring decisions about where to work or if to change jobs. I never ask for equity, I never care about equity. I care about the salary.
> "The author seems to be implying that we have a hard choice ahead of us with no middleground: We can either accept object oriented programming, or we can turn to pure FP."

I disagree. I dont think that is what the author was saying at all, not even a little bit:
"100% pure functional programing doesn’t work. Even 98% pure functional programming doesn’t work. But if the slider between functional purity and 1980s BASIC-style imperative messiness is kicked down a few notches — say to 85% — then it really does work. ... It’s possible, and a good idea, to develop large parts of a system in purely functional code. But someone has to write the messy parts that interact with the outside world."
Yeah, it sounds like they were working on a "it works, ship it" approach. That's not good enough when there are security implications to what you're doing.
I had the same thought. Although it looks like Signal uses a proxy for GIPHY requests [1] and has at least thought about the privacy implications of GIPHY support [2].

[1] https://github.com/signalapp/Signal-Android/issues/9628

[2] https://signal.org/blog/signal-and-giphy-update/
If I may proffer an opinion, HFT is more morally problematic. It's basically eavesdropping or civilian wiretapping, only done at scale and with the leverage of millions of dollars.

How could "making people click ads" be worse?
Happy Friday!
> That's exactly the point. This whole data-hiding thing has way too many downsides.

The usual argument against OOP that I hear is that implementation inheritance is brittle. That, I understand and agree with.

But data hiding being bad? I'm not persuaded. The whole divide-and-conquer aspect of breaking modules into smaller parts requires not exposing unnecessary details as interfaces.

You have a starter motor in a car. If it's only connected to the motor via a couple wires, then it's easy to design a better one and install it. But if it has dozens of wires connecting to every which part of the engine, improving it is much harder.

> Also in most web apps: Your data will escape your precious objects (mostly as JSON).

My "precious objects"? :( Can we please discuss this subject without getting into a flamewar?
Does the fact that it is integrated into iOS keyboard have any implications? WlWhat kind of data does this have access to when I send gifs from iOS keyboard?
Data Visualization of Countries with the Highest Crime Death Rate
Have you seen https://janet-shell.org ?
Swift did not introduce "Protocol-Oriented Programming". As misinterpreted and broadly applied, it's been present in (among others) Java and Objective-C forever.

As actually intended (listen to Dave Abrahams clarify what he meant on John Sundell's recent podcast) it has much more to do with parametric types and functions that operate on them, and is almost directly inherited from ideas that have been in C++ since the STL.
As Matt Levine puts it, investment banks are kind of like socialist collectives run for the benefits of their workers.
If you want to take away the glamour of programming, telling people it's technically and ethically complex is exactly the wrong way of doing it. Fun does not mean easy. For some people, fun is only possible if it's technically complex, which can help people overlook ethical complexities. As shocking an idea it may be in our very cynical world, there are people out there that do the jobs they do because they enjoy it, and programmers are likely overrepresented in that group.

And ethically complex? Oh boy is that fun. Nothing we like more than morally grey grey hat hackers and people just barely toeing the line of what's right, of antiheroes that think the ends justify the means. And if what they're doing is technically complex, then oh yeah that's awesome. Misunderstood geniuses! Something everyone sees themselves as. The title here really just plays up the glamour and glitz that the article says we should be avoiding
This, a thousand times.

As a fun exercise write a CSV-like spec but using those ASCII chars.

table = [row.split(unit_sep) for row in data.split(rec_sep)]

There's your ASCIISV decoder.
This. My e-mail in the breach is a LinkedIn specific email. It has to be part of the clue to attribution. Social media scraping, possibly from multiple sources seems to be more likely than another LinkedIn breach.
A natural question that arises in this context is: “do those who join the field after the consensus to forget X ever happened behave any differently than they would have if X really hadn’t happened?”
Thanks for building this! It infuriates me that they have a widget that does display the lyrics but keeps switching to random trivia every 5s. There's an open bug on spotify to have it always show lyrics but doesn't seem to receive any love.
Thanks a lot moonfleet! Actually the reactions motivated me to complete at least a first version. I'm not a good frontend dev but the UI is important in what I want to do so I'm going to developing myself for now. But I'm keeping your email, in case I'd want to upgrade the UI/UX!
Despite Rust is way cleanly built, superior in almost every aspect than Go can ever dream to be, I doubt it will really take off really in the cloud business until there is:

1. official gRPC support

2. official Kubernetes API client support

3. official cloud vendor SDK support (AWS, GCP, Azure, etc...)

4. Faster build times, it's frustrating to wait for cloud CI/CD to finish in 40 minutes for a single release build
And lord was it annoying as fuck to get off Microsoft store. It was something like a 50gb download and it could get version desync, the only way to get around was (in my experience) was to completely wipe it and reinstall. But completely wiping was ALSO super hard to do, because it was saved in like... $APPdata or some weird hidden folder.

All this on top of the fact that my c:/ drive is tiny and I want to install my games on an external harddrive. In fact I think I had a double install going at one point.

Long story short the microsoft store sucks.
In the fall of 2016 I had a lengthy email exchange with an industrial automation vendor who didn't understand this issue. I even mailed them a short Python proof-of-concept snippet that slept a few milliseconds between the write() calls and in response got back my code "fixed" with the sleep removed.

In between the emails I googled a bit and found the changelogs for the RTOS they were using. Turned out that it was a bug in the upstream HTTP server. This also meant that the platform they were using had all the security holes from those five-plus years. The bug was later silently fixed when they acquired a newer release from upstream.

Currently I'm having a similar issue with the very same vendor. This time they don't understand why client-side authentication means no authentication at all and why passwords must not be stored in plain text in the database that can be remotely backed up from the device.
I can’t believe this is even a discussion. Over makes it definitely easier for dexterous one handed operation — for both toilet paper and paper towel rolls.

While we’re in the mood, I’ll have a side of Emacs, and tabs with that. Thank you very much, anything else?
When I learned C, it was drilled into us that the proper way to implement all the data structures and things was with abstract data types.

https://www.edn.com/5-simple-steps-to-create-an-abstract-dat...

And then you have nicely "namespaced" functions that operate on those abstract pointers and your code is isolated from the implementation and you don't accidentally depend on some implementation detail you shouldn't.

But ultimately this is all just informal OOP. Objects/classes are just a natural way to organize programs.
If you do want that, then SCTP will provide it.
Acceptable Flaws
Project Lana EA build now available (Java2D on Metal)
I mean, you're not wrong, but starting the post off by insulting PHP is childish and doesn't inspire trust that the rest of the report is worth reading.
Call me old school but I have to look up almost every single emoji. I find them frustrating /creepy
He had a bit of a point there till he lost me at "But the foolish (i.e. people writing @JavaScript / @typescript in the first place) keep going."

Oh great, another blowhard trying to tell me that the language that powers the modern web is bad because checks notes there are too many config files. Yawn.
Well again I would like to point out that popularity and merit are not the same thing. One thing I have found is that because my comments, answers and open source software has not been popular, I have stopped attempting to share. However, I know that some of my least popular projects have had the most merit.
Setting Up Authentication and Authorization with Apollo Federation
Several subcultures adopted this word in the US decades ago, leading to it being commonly used by people who had never heard of the book.
> But what about large files, such as videos? Surely there is a latency penalty for receiving the first byte, but shouldn’t it be smooth sailing after that?

So the articles (unstated) conclusion seems to be that, as long as there isn't network congestion, it is smooth sailing after that.

But that congestion reduces bandwidth. But of course, that applies just as much to a national backbone as to last-mile.

So I'm curious: where does most packet loss occur? Is it last-mile, at your ISP, or along major backbones? Because that has major implications as to whether caching video content closer to users actually results in higher-quality video (e.g. supporting 1080p instead of 720p) or not.
Over is certainly preferred, but if you have a cat (or a toddler), under is a necessary evil.
As a developer I had the same thought. Revealing the rules tells them what they can get away with.
Asyncio rocks. It’s so easy to create performant little apps that can get put up without a web server in front of them.

Type hinting rocks. Use it properly everywhere and you can a lot of confidence and speed when refactoring.

I use attrs (I know there are alternatives) to get legit type checking on object fields. Yes it is runtime type checking but if you write tests, those errors will pop up before you ever run the app.

Honestly I think the priority with Python should just be around digging deep into the implementations for performance gains. I’m very happy with how the ergonomics of the language are now.