skysight-inc/HackerNews huggingface dataset:
I'm a street / documentary photographer so I have more experience than most, but I keep my iPhone 6S in my left pockets and operate it one-handed a lot of the time.
Apple’s Secret Monopoly
> There's quite a bit of "no true Scotsman" in there?

Only in your head. I'm not trying to claim unit tests aren't useful, or that any particular unit tests aren't good. The only fallacy in sight here is strawman.

> Mocking is for exercising all inputs to a method

How useful is that if they're values that the real version of the mocked component can never return? As I said right at the start, this kind of validation has value when changing code later, but that's a lower priority than validating that the whole system as it is today does what it's supposed to.

Doing unit tests right is valuable, but is much more of an art than most people realize. A good unit test should cover inputs and paths well, but not constrain implementations. Most unit tests I've actually seen - quite a lot BTW - are the exact opposite. People need to stop thinking in terms of depth (adding mock after mock and implementation-specific check after check for a few obvious scenarios) and think in terms of breadth (lighter weight validation of more scenarios) instead.

P.S. If your "inputs" are results from functions that have to be mocked for testing, it's often a sign that the code has a backwards control flow. When that happens, it's better to fix the control flow than to add more mocks.
> I hope you have a wide enough monitor to read this.

Perhaps they're merely unaware of how their website looks?
They have and they called in npm.
If you'd like to learn how to productize your digital marketing services (or any other digital services), I recently wrote a free book: http://www.productizebook.co -- Launching a course soon as well :)
> it's generally not possible to tell which exceptions a given function might throw

That's a valid concern. I've seen attempts to document the custom exception types that classes can throw but it's never discoverable. It's compounded by the fact that uncaught exceptions bubble up.

I don't know that most people would sift through all the possible exceptions and write selective catch blocks to handle them. I think in general they will either catch all exceptions or none, if or until they need to handle a specific scenario that presents itself in production.

My perspective though is primarily of LOB Apps or Integrations and not widely consumed public code or apps.
As an embedded engineer, I have to be familiar with my target systems, but that doesn't make them good candidates for being host systems too.
> Now, the biggest sunk cost are obviously RDS and EC2.

I don't understand how something you pay for every month is being considered a sunk cost? Am I missing an up front charge, or does the writer not understand what it means?
Why do people feel the need to add overly dramatic vi-iv-i-v music to everything?
I don't think it's a dump, I think it's live, but I could be wrong.
1. Not everything is an web app.

2. That stuff is deep inside the web frameworks you use, in some way or another.

3. There you go, bud: https://www.techempower.com/benchmarks/ The first non-micro framework is ASP.NET Core.

Personally, I don't think performance is everything. Spring (Java) is #221 in that ranking and I'd bet it's used in almost as many places as everything above it combined.
- Open a medium URL.

- In your toolbar, click the site settings icon (might need to edit your toolbar if it's not there).

- Check: "When visiting this website [X] Use Reader when available"
Everything has become more abundant recently - clean water, vegetable, meat, fat, sugar, even clean water.

And less hunger too. I remember yawning repeatedly / feeling faint when I was younger but didn't know what I hungry until my mum pointed it out.

So you can't point to one or two food groups and claim their current abundance cause obesity.

Well, except white sugar lol.
> I see why Vue was created, but I don't see why it's still around.

React does not have low barrier entry. you can't just open notepad, edit blank index.html, include react.js via script tag and tinker with your html in 10 minutes to create simple widget - you need additional tooling, typescript compiler, etc. Vue is for people who used jQuery before and want to go reactive in shortest time possible.
This part also tripped me up since I _was_ on a large monitor but the width was tiny.
Part of me still wants to create a database called MondoDB. Tagline "The Gnarly database for all your Righteous data!"
You're the first person I've ever met that isnt entirely sure of what the difference is between a credit and debit card.
I always see people complain about the narrowness of Medium and think they're overreacting, but this site is pretty extreme. I could fit 3 of these side-by-side across my 13" MacBook Pro's screen.
The Animal Origins of Coronavirus and Flu
You are definitely right that it is a fast moving target and hence can be frustrating to work with at the moment, particularly if you are trying to get it running on-prem. It is still relatively early days, and there is plenty of distillation to come, before an easy predictable set of patterns emerge.

Not wanting you to go to the pain of trying to recreate your original post, but of interest, what kinda of things were the primary areas of pain from your work?
'Adolf' on the other hand went basically extinct.
Why do the images on my website load so slow. How to make them load faster?
I had one of those original G4 PowerMacs. It was my first Apple computer and I've used Apple as my primary machine since that day. For a similar price as the Microsoft/Intel machines, you got the far better performance (though Intel caught up quite quickly) and a case that was fairly stylish (at the time) yet was amazing for its flexibility and ease of access.

The new one: it doesn't appear to offer any performance advantage at its price point. The case appears to be great for flexibility and ease of access, but it is clearly overstyled for the purpose of being as expensive as possible.

It really isn't as impressive as the original.
I find it absolutely astonishing people would pour half a billion into a fintech company which puts real money transactions on the same platform as a betting game and even worse, a betting game which claims it's some sort of digital money. (bitcoin) I never used Revolut because of this and never will. To be fair, I never used Revolut because I thought bitcoin is a scam but since last November I know better.

http://jpkoning.blogspot.com/2019/11/bitcoin-11-years-in.htm... and also https://www.aier.org/article/bitcoin-as-a-novel-financial-ga...
Ask HN: I would study English, but I know only JavaScript (Vue) and Ruby (ror)
Hello there.

I have 3-4 years experience with web-development. But i would improve my English. Main reasons: 1. i want to read books and understand them more deeply, with all context. 2. i want to communicate with English speaking, and maybe stop to repeateadly say only two phrases yes or not.

I know that hackernews is not dating site. So, my offer i can for example help you with tests (capybara, rspec, bdd if needs) but you are going to take me to your daily standups or something like this.

btw: sorry for possible mistakes in the text)
It'd be really interesting to see if T5 could be made to perform a reading comprehension or summarization task where the source article is in a different language from the question and answer. Seems like a potentially interesting application for a model as flexible as this one.
Or they use some special monospace font where 157 characters at 16px could somehow fit into a 544px wide column (well, that still got nothing to do with monitor width, though).
Webase looks like engineer.ai
The custom-made computers powered by pepperoni pizza
Jah Cure
A16Z – All about the Coronavirus
Virtually every router on the Internet has the built-in capability to block DoT with a single configuration change, but you can attempt to create a blacklist of DoH resolvers to try to stop that, so they're totally equivalent. That's the argument you've got.
That's basically the patreon/authors pay model and doesn't work for anything actually trying to run a business or make money using a website. Also it's kind of limited in scale because eventually hosting costs are going to catch up to a point individuals are able to pay unless the community is very small or you're only hosting text.

I get the nostalgia for the pre Endless September internet but the cats out of the bag on that pretty much. There's some small efforts to remake it with peer hosting and federated networks like Peertube or Mastodon but they'd crumble if they got as popular as the Youtube or Twitter they want to replace.
A problem on the hardware side is that Intel's IOMMU TLB is tiny (64 entries), so using huge pages for all DMA-accessible memory is absolutely required to get a good performance out of it.

We've done some benchmarks here: https://www.net.in.tum.de/fileadmin/bibtex/publications/pape... (Figure 9 on page 10)

Only a very basic benchmark, working on more...
SwiftUI has defaults because nobody knew what UIKit's were supposed to be. Some of them were fiddly secret layout guides in Interface Builder, and some were accessed through the magic "-" in a VFL constraint, but overall it was very difficult to actually know how much spacing things should have. And on Apple's platforms, this matters: users know what things should look like, and if you're off you just look out of place. And if they change in the future, which they have on occasion due to new iOS versions or hardware (iPhone X, anyone?) you might end up off even if you didn't change anything in your code.

SwiftUI intentionally abstracts all of these things away from you so you don't have to deal with it, or even know about it. You're used to programming on the web? Well, the web has no standard. And anyways, people looking for magic defaults is how "8" and "44" show up seemingly randomly in iOS apps. Let the system decide for you…if you really need to override it, you can add your own explicit value.
That refers to a <pre> block with no carriage returns, which ordinarily wouldn't wrap.
HealthIT startup create an app to assess the health based on a voice sample
On public websites I would agree, but all our mail clients have auto-completion. So would we need to turn that off? Would probably disable half the company.

I don't know who Ashley Madison is but that sounds far beyond sensible protection. Given, auto-completion is restricted to employees plus some locally saved contacts. It is just the standard outlook-exchange setup.
I don't know why you're arguing this, it's all verifiable.

From https://www.tvlicensing.co.uk/check-if-you-need-one

The law says you need to be covered by a TV Licence to:

watch or record programmes as they’re being shown on TV, on any channel

watch or stream programmes live on an online TV service (such as ITV Hub, All 4, YouTube, Amazon Prime Video, Now TV, Sky Go, etc.)

download or watch any BBC programmes on iPlayer.

This applies to any device you use, including a TV, desktop computer, laptop, mobile phone, tablet, games console, digital box or DVD/VHS recorder.
I'm not defending the US healthcare system, which is deeply broken, but the particular statistic on infant morality rate can be deceiving. For example:

"...very low-birth-weight infants who are at high risk of dying within the first day tend to be counted as live births. In countries where the health care system does not place the same emphasis on neonatal intensive care, the outcomes of such pregnancies are not likely to be recorded as live births. Hence, it appears that the more resources a country's health care system places on saving high-risk newborns, the more likely its registration will report a higher IMR" [0]

[0] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4193257/
It amazes me how people are tolerant on the crap answers on StackOverflow but think that the toxic culture could somehow be reformed.

Maybe it can, but often when I am programming I want one answer, the right answer, not 20 different answers, some of which are wrong, some are half-right, and the comments may or may not give a clue.

Seems to me that the first thing to do is radical curation of StackOverflow questions and answers: one question, one answer, unless there is some special reason why two or three are competitive.
Some laptop hard drives have a firmware password you have to enter at the BIOS stage to boot it.
The logistics of space -- not outer space, just, like distance -- are pretty damn tricky. Most of the time there is no way to deal with it other than "brute force" aka haul stuff long distances. Maybe you get a tunnel or pass through a mountain, maybe you get easy access to iron or oil, but otherwise you're a prisoner of logistics.
“This is an industry ripe for disruption via total transparency.”

A lot of industries are ripe for this kind of disruption. With availability of more and more data there is a growing asymmetry between companies and consumers. Just yesterday I looked up something on Amazon. Sent the link to my girlfriend. She saw a price that was $10 more. Same often happens with flights. And in US healthcare the patient doesn’t even have the slightest idea what things will cost or what discount the insurance gets.

To have functioning markets both sides need information but with all these algorithms the information gets very one sided.
Optimizing rust code: Zero copy, XXH3 instead of fxhash and avoiding allocations
How insurers determine your rate is generally available online [0]. That being said, some of the documents are almost unreadable.

I recently tried to figure out how I could optimize the amount of renter's insurance coverage I got from State Farm for the premium paid (I'm currently paying the minimum premium that they'll charge for any renter's insurance policy; $125/year) and their posted document was so dense and filled with jargon that I couldn't do it [1]. The document only contained the changes made since the previous approval. But I couldn't actually find the previous approval. So I was missing quite a few critical pages.

[0]: This is for NY: https://filingaccess.serff.com/sfa/home/NY

[1]: The overall filing package (https://filingaccess.serff.com/sfa/search/filingSummary.xhtm...). The rate document is named "NY HO 2019-05-01 Pages Changed.pdf"
There aren't that many DNS names out there. Eventually we should be able to just replicate the entire DNS database (or large parts of it) to routers or even local devices. Then your lookups don't go outside of your network.
In the UK, they literally are.

The law says you need to be covered by a TV Licence to:

watch or record programmes as they’re being shown on TV, on any channel

watch or stream programmes live on an online TV service (such as ITV Hub, All 4, YouTube, Amazon Prime Video, Now TV, Sky Go, etc.)

download or watch any BBC programmes on iPlayer.
> also hard to support to shared libraries

why?
If I might just gush here. The work made available here by Émilie has been just so damn valuable to me over the last few years. From simple but effective circuit design, to very efficient and easy to follow DSP code. I would never have fallen so deep into the eurorack rabbit hole without it. Whatever it is she ends up doing now, I hope she shares it with the world the same way she did with MI!
Doesn't Lenovo do that already? When you say "Thinkpad", people think of indestructible laptops that pass a bunch of military tests.
This Will Make You a Command-Line Ninja
Looks like ZFS does? (especially now that it does have native encryption)
It looks like it's based on the Monaco/VSCode editor, where you have CTRL+click on links (CMD+click on Mac).
I agree that reaching out to whomever's being criticised is a courtesy and, sometimes, even legally required. But I don't think it's right to not critique. When a company blatantly uses doublespeak, that should absolutely be critiqued.
Is SwiftUI only compatible with the newest iOS versions? Will using SwiftUI mean only people running iOS 13+ can use it?
Ugh what about our 5 yr old project written in angularjs by about 20 different devs - most of whom are no longer on the project - and is still getting new feature requests that get pushed through the development pipeline and no one has any time to figure out how to begin integrating Vue (regardless of the Vue expertise).
Ask HN: How can I transition Data Scientist – Engineer?
I'm a Data Scientist from an academic background in AI with 4 years experience, working mainly in geospatial analytics, with some basic DL (and a lot more cookie-cutter import sklearn style ML). Lots of spark & bigger datasets. However recently I've started to feel limited by my future options in DS, and have realised I actually enjoy building things more than I enjoy tuning models and playing around with data. I want to transition to more of a dev role perhaps via some kind of ML Engineer position, but I'm not quite sure how.

I think it's definitely doable- i wouldn't want to claim my engineering skills are up to a fully professional standard but they are definitely better than 90% of the other DS people I've worked with. In past roles in small companies I've had more of a wide ranging role and have written APIs to serve model predictions, written tests, worked with CI/CD etc. I think given a couple of months in a dev role I could get myself up to scratch. It's just getting that role that could be difficult. I think there may potentially be opportunities in my current company to transition to a more Data Engineer style position but it would probably mean a big salary cut and the projects in the pipeline don't sound that thrilling. Anyone made a similar transition or wants to share their thoughts?
There are definitely a few things it does that are weird, and this article hits on a few of them.

But, I'll call special attention to the whole "adaptive padding thing" as a broader signal for something I feel that SwiftUI does very, very right and more UI frameworks need to start thinking about. Its made to design iOS apps. iOS has a design language that (1) is relatively consistent, (2) changes over time, and (3) changes across the many devices Apple supports.

In this era of many, many devices (don't just think Apple here; think any device; think VR, think TVs, etc), we need to operate at a higher layer of abstraction than most UI systems operate at. Most websites are pure garbage on 35" ultra-ultra-wide displays. It took a decade before mobile web entered the "generally useable" state it is in today. Ever tried to enable an ultra-high DPI setting on, say, Ubuntu or Windows?

All of these are getting better, but they only get better because the underlying technologies are becoming more generic.

> If I forgot to put padding between HStack elements, well, shame on me, there should be no padding! All mistakes are mine.

Wrong, and Apple has the data to prove it. When you release a poorly designed app to the App Store, the mistake is your's; your customers suffer because of it; and, it hurts the optics of application quality on the App Store, and thus Apple suffers.

This is relatively easy to draw a comparison to, say, manual memory management in C++. "If I forgot to properly bounds check a memory segment, well, shame on me, there should be no bounds checking! All mistakes are mine". Sure; and now your customers are vulnerable to hackers. You have a higher responsibility than just your Pride.

The defaults should be Safe. There should be options to override them when I feel confident I know what I'm doing (and SwiftUI has this, not the least of which being, you don't have to use SwiftUI, you can mix-and-match SwiftUI components with traditional iOS components).
When that developer leaves you will still be saving 50%. It should pay for itself over the long haul.
... How did that make it into Wikipedia? How has it not been removed!?

Edit: Oh, that's an old version. My mistake.
Managing kindle highlights with Python and GitHub
You need to build a container. How would you implement "func deploy" in one command?
Ideally, one would only need to do this level of IOMMU for externally attached devices (i.e. Thunderbolt.) However, the problem is that the vast majority of kernel drivers in most OSes were not written with malicious devices in mind, so they often do things like e.g. putting kernel address space pointers in device-writeable areas.

For instance, XHCI (USB3) has an "address" field in its buffer descriptor structures that often it allows drivers to put anything into, and it will copy that into the "transfer finished" message. Some USB3 drivers just put the kernel address space pointer of the bookkeeping record in there; or worse, allocate the bookkeeping records along with the physical buffers themselves, so a malicious device could manipulate those if it knew where to look.
> I propose disrupting the space with even more aggressively Darwinian design.

I'm curious what you'd do to make these apps more darwinian than they already are.

I'm only going to use Tinder as an example since I think it's the most market-efficient by far, and I'm going to assume for the sake of argument that the stereotypes about gendered market forces are true. A few hypothetical ideas, in order of extremity.

1) all women get gold features (see who likes you, unlimited swipes, etc for free)

2) only men are subject to double opt in (eg women can message without having been liked by the recipient)

3) double-opt-in is based on something ELO-ish. The height of the contact initiation barrier is proportional to your attractiveness as determined by the crowd (although this creates some extremely perverse incentives for large-scale deception).

I think all of these rules would exacerbate the existing dynamic, and I'm unconvinced that's healthy for either side. As others in the thread have pointed out, I don't know any single women who are having the time of their lives on dating apps, despite the 80/20 hypotheses etc. They may have a huge statistical selection advantage, but in practice that seems to be like hunting for the single best meal of your life on a 10 mile long, all-you-can-eat buffet of food you mostly don't care about.

Which is the source of my pet hunch:

All dating apps are effectively identical, having converged on a pitifully vanilla product that's easy to monetize and scale, and that prioritizes volume over fit. This is good for companies, but bad for individuals. Large scale online communities erode the advantages of actual individuality in favor of performed individuality in a way that ends up feeling dehumanizing for everyone.

Look at reddit: the popular subreddits have a monoculture that's predictable, uninteresting, and easily gamed, and so people game it, making it worse, until it's parroted itself into a tired caricature. Meanwhile, tiny subreddits exist with smaller tribe dynamics and have much more robust, varied, and interesting experiences.

IMO the thing we actually need is subreddits for dating, so that people can self-select into smaller, higher-signal tribes, rather than pretending that everyone should have to card sort everyone in their metropolitan area.

In a way, this is a different kind of darwinian: encouraging finches to lean into divergence.
Getting good in almost all games is based on understanding and mastering the fundamentals to the extent that you can make consistently correct (or at least a high degree of 'correctness') decisions based on them. This is true for all esports titles, and probably all games in general.

Mastering the fundamentals will make you 'good' to a level that very few people ever reach. It's not until you reach a level where everyone around you has a mastery of the fundamentals, that the meta comes into play.

source: coached and managed professional esports players, in multiple games, who have competed in the world championship of their respective titles.
I feel like you could start with manually calling the function, and then introduce callbacks as a way to get your code to run in response to some event. A callback is no different to a regular function after all.

If your way works, then it works though I suppose.