skysight-inc/HackerNews huggingface dataset:
This game costs 3,50 Euro and it took me around 15 chilled hours to play the "main missions" (up to level 19 right now). I think I never had that much fun from a game that cheap.

I also like how the game evolves over time. First you are mainly thinking about how to create specific shapes, while in the end it's all about optimization and how to get more output from your "machines".

Love it, clear recommendation!
A normalised SQL DB will have zero redundancy. It would also easily handle these data set sizes. The only reason Excel was chosen was because clearly some clerk just felt more familiar with the tool and didn't have the experience to know better.

The reality is though for storing this kind of relational data -- it's a solved problem -- SQL would have been the correct tool to employ.
The GDPR, the EU Privacy law, allows processing personal data if the person consents to it. Consent can be withdrawn, and, as the law says, “It must be as easy to withdraw consent as to give it”.

That simple formulation is easier. “It must be as easy to cancel a service/subscription as to sign up”. Able to sign up online? Then it must be possible to cancel online
Yes they do. And it is frustrating. Specially frustrating when you ar the new guy and the history of the code does not tell what happened.
I always squash my commits and at my current place that is even enforced via phabricator
Show HN: Collaboratively Edit Diagrams in VS Code with Draw.io
I think a lot of people don't realize how fragile GPS/GNSS/satnav actually is:

> When satellite navigation was jammed at Israel’s Ben Gurion[0] airport last year, only the skill of the air traffic controllers prevented serious accidents. The jamming was apparently accidental, originating with Russian forces fighting in Syria, but it highlighted just how dangerous interruptions to the global positioning system – better known as GPS – can be.

[0] https://www.bbc.com/news/technology-48786085

AFAIK, the only viable alternative seems to be (e)LORAN, as anything else would be basically creating something from scratch:

* https://en.wikipedia.org/wiki/Loran-C
A database running from a FAT disk partition for example.
Still remember sleeping some nights on the beach in Nice, awesome days.
“Make invalid states unrepresentable” is a type of fool’s gold. You don’t care that invalid states are unrepresentable, you only ever care that a specific instance of your running program is very unlikely to enter an invalid state - and the difference between formally disallowing invalid states vs. test coverage that proves a reasonable likelihood of avoiding invalid states is huge.

The extra code and conceptual complexity spent to make type designs that disallow invalid cases is a liability, it comes with its own bugs, maintenance and huge risks of premature abstraction and brittleness in the face of changing requirements.

If it takes anything more than a simple enum-style menu of permitted options, then it’s a code small. Things like Scala case classes (especially with sealed behavior), or pattern matching against type constructors, or phantom types - these are all very bad ideas, where the costs far outweigh the benefits.

Most of the time you can just ignore enforcement of assumptions, and add a few assert statements plus lightweight unit tests and integration tests that generate an abundance of real world example cases - and achieve all the safety you need for a fraction of the code & conceptual complexity and tech debt incurred by false promises of enforcing correctness with type system designs.
Merge commits are noise, a clean history is has no merge commits
"You're not worse off if you didn't spend anything and you are half-way towards your goal of having a house. "

Contractors hate taking over someone elses' half-done work, as they now have to deal with someone else's shortcuts without knowing what they are.
Have Startup Layoffs Leveled Off for Good?
According to the article, this is based on "Crispr gene-editing" technologies.
I am no gene-specialist, but apparently it "latches on to a set of letters of a gene carrying the signature of the novel coronavirus, highlights it [with] two blue lines [to] indicate a positive result".

I feel like none of that sounds like it's got much to do with gene editing? CRISPR itself is just a system of DNA, right, but in itself has not got much to do with gene editing?
With the release of version 1.0 today, the Draw.io integration extension for VS Code got many new features. One of those features is the advanced support for liveshare. Besides content synchronization, cursors and selections of participants are synchronized - this is crucial for collaboration.

A detailed list of all changes can be found in the changelog (https://github.com/hediet/vscode-drawio/blob/14209ad462028cb...).
DOs and 5 DON’Ts of a New Manager
Is Chinese more advanced than English?
I built an on-demand remote browser product[0], and safe link opener[1], that hasn't generated any revenue. It took lots of time to create and I made it open source[2] but paid license and no one paid.

I know people are using it because of the binary, npm CLI downloads, and use of the demos, and I had some inbound interest but mainly people who seemed to want to not pay, or were just prospecting tools for future possible features.

I think an issue is that these products are mostly for enterprise and big orgs, who mostly want to buy from established brands or connected people. I tried posting on gum-road and using my linked in premium trial to message possible customers, as well as cold email, but I guess this "product" is not meant to be.

That's OK since I was only releasing it to fund me as a layer of a larger product I'm building.

[0]: https://browsergap.dosyago.com

[1]: https://isolation.site

[2]: https://github.com/cris691/OuterShell

I know this is supposed to be about generating revenue but some others posted without revenue so I thought it's OK to share.
This stuff has been studied over and over and over, and the conclusion is that children spread less than adults. See 'Top 10 Epidemiological Papers on Transmission' here:

https://dontforgetthebubbles.com/evidence-summary-paediatric...

At this point, a study which concludes the opposite has to bring the proverbial extraordinary evidence.
Interesting, I was led to believe this kind of research could only happen when we let drug companies gouge us for obscene profits.
What about the notes that you add to the books? For students they can mean failing a course.
This looks great for running WhatsApp for bridging with Matrix through https://github.com/tulir/mautrix-whatsapp
If you use Pull Requests with squashed commits, you can do exactly the same process as described here by isolating the issue to a PR then restoring the branch and bisecting from there.

It seems like a small price to pay for a clean history, given the rarity of occurrences like this.
I don't think having a history full of "Fix the shaver, maybe yaks don't need 6mm trim" with subsequent "Fix shaver again, yaks need as low as a 3mm trim" with some more intermediate commits help understanding what happened either.
I don't see how squashing or not would have made this case hard to find. Once you find the bad case "squashed" one, one could always reset HEAD^ and just checkout files back and forth til you find the failing change.
There is no problem that the information on past offenders is searchable.

There is a bit of a problem that information on non-offenders is sucked in as well, but even that is moderately ok as long as anyone can see what the system has on them (currently it's not the case), who accessed it and why.
New portfolio site must check
Long time no see Cloudef! Did you actually any of it for the Open Pandora?
In an era of team science, are Nobels out of step?
In some sense yes, but it is real instead of based on a script.

It is actual reality TV without any manufactured drama, and with an actual resistance to manufactured drama.
I feel like any discussion of squashing or not is only half the story - people need to write good commit messages. A lot of people I've worked with commit too granularly for that single commit to be useful, so squashing gets things grouped more usefully. However, if they still make low effort commit messages, then the history is useless. But it always was useless, squashed or not!
Squash renders git log and bisect nearly unusable, that should be common knowledge, but I guess not. Normally there's never a reason to squash, small fixes can be done with git commit --amend for last commit or git rebase -i using the fixup keyword, but again only for really trivial things like typos and such otherwise same problems with log and bisect.
100% I would. It's pretty easy to show damages, and I would take the contractor to court. Also, I believe these contracts have breakout clauses that define exactly how much I would get, too.

(This goes both ways, of course - if I back off the deal and have the contractor stop all work, I usually have to pay in full anyway.)
Nobel Prize for Medicine awarded for Hepatitis C discovery
CA law around non-competes is great and all but:

1. It's not like CA doesn't have NDAs, trade secrets, anti-poaching, IP restrictions, etc.

2. It's not like everyplace else in the world (or even in the US) you're an indentured servant who is never allowed to move to another company (occasional man bites dog headlines about a fast food worker notwithstanding)
That's exactly the point :)

This is why no-code solutions have never become popular.
> it's difficult to conclude that children are the "key" to superspreading

Not only does the study not show that, the press release doesn't even claim that - it contains two separate claims, that superspreading is important, and that children are involved in spread. It's only the use of a comma in the headline that - through incompetence or dishonesty - suggests that!

Mods, could we have the title changed, please?

EDIT: Mods changed the title already, thanks mods!
Cloudflare in front of S3 and Google storage for me. Interesting that is so slow. I did some CF performance tuning while I had a page on HN and found tweaks improved the outcome hugely. (How to get the caching mechanism to actually properly kick in) so I’d want to check the cache hits and misses. Apologies if I missed that in the article.
Rare all-white shark found
Top Security Applications for your Mobile phone
"Semper necessitas probandi incumbit ei qui agit"

Means "The claimant is always bound to prove: the burden of proof lies on him." For anyone who can't read latin (and doesn't want to have to google a latin phrase in an english conversation).
From the paper Epidemiology and transmission dynamics of COVID-19 in two Indian states [1]:

> Although they are not the wealthiest states in India, Andhra Pradesh and Tamil Nadu are among the states with the largest healthcare workforces and public health expenditures per capita, and are known for their effective primary healthcare delivery models. Both states initiated rigorous disease surveillance and contact tracing early in response to the pandemic. Procedures include syndromic surveillance and SARS-CoV-2 testing for all individuals seeking care for severe acute respiratory illness or influenza-like illness at healthcare facilities; delineation of 5km “containment zones” surrounding cases for daily house-to-house surveillance to identify individuals with symptoms; and daily follow-up of all contacts of laboratory-confirmed or suspect COVID-19 cases, with the aim of testing these individuals 5-14 days after their contact with a primary case, irrespective of symptoms, to identify onward transmission.

A low/medium income region with good healthcare infrastructure is a rarity and may potentially provide unique insights.

We have seen very different transmission patterns in high latitude versus subtropical regions. I wonder if a third pattern will emerge in tropical regions.

[1] https://science.sciencemag.org/content/early/2020/09/29/scie...
> without polling or incurring system timer interrupt delays... which is precisely what his description of the problem required

Except sometimes polling is your only option. Your scenario works great, if the hardware supports that use case and you're not using some intermediate software layer that prevents you from taking full advantage of the hardware.

Other scenario is when Windows is being used to control something time critical. I fully agree one shouldn't do that, but sometimes you just have to. The new timer change really hurts here.

In other words, we don't live in the perfect world, but still need to get the software working.

I also feel like we're somewhat talking past each other.

> It's kind of bizarre to see you trying to interject into it to argue with me as if you know his situation better than himself while even contradicting his descriptions in the process.

I do know highly similar cases I've had to deal with. Not audio processing, but similarly tight deadlines. It was very painful to get it working correctly.
I find the individual commits on feature branches to be more noise than signal after they are merged. They can be useful during review, sometimes, but mostly I want a cleaner history.

> they really would like a complete story, not 20 gargantuan commits that contain 3 years of development

That sounds like maybe we split up work differently. 3 years of development for me or my team would likely have hundreds+ of merge/squash commits, not 20 large ones.
It seems like a needless price to pay, since the whole point of keeping history is to help analyze problems and past states.

The author has only used bisect for a head-scratcher once, but I've used it often, sometimes to pin down bugs in code I'd never even looked at before.

That's not feasible if the commits are huge.
What would be the value of using this over OneNote in Teams?
What’s a traveler to do during a global pandemic? There are many ways to answer that question. “Despair,” though, is not one of them.
Expeditions are led by National Geographic experts or expedition teams, and feature world-class accommodations and experiences, including special access to sites and field researchers. Most activities and meals are included in the expedition cost, which ranges from $1,500 to $4,500 per person. Email natgeotraveln@gmail.com

When you book a National Geographic Journey, you’ll receive all pre-trip information electronically, including destination-specific stories and information prepared by National Geographic.
I squash commits. Well, I rebase so that changes are logical rather than historical. This is because when people read the commit history, which actually happens regularly, they would actually like a complete story, not 15 commits of "fix audit", "fix review" and "fix typo" - let alone refactors where previous work in the PR is thrown out, which you can by definition never care about.

Commits so small that they're nonfunctional also break bisect.
Uber sells stake in its freight business to private equity
You can always land with `--merge`. That is what I do if it actually makes sense to preserve individual commits.
CRISPR is more commonly paired with Cas9. The CRISPR part is the bit that latches onto a specific DNA sequence, and the Cas9 part cuts the DNA at that particular location. So CRISPR is key to gene editing, but can be used in other things like this.
Terminology is often not adopted universally and immediately.

But different concepts need different terms.

Yours also need different terms. We will find out eventually what the world decides things will be called.
>Do people out there actually squash commits?

Depedends on the git flow being adopted by the commiters.

HNers constantly espouse how clarity is more important than cleverness. It may be the case that a single commit offers more concision than multiple commits which could be perceived as just more noise.
git log --no-merges
That's an odd complaint. We are talking about static website hosting. Stuff that only changes once per deployment. If your static site cache expires after less than one minute then the static site hosting provider is just bad at his job and can't even get very basic settings right.

Low expiry only makes sense when you are caching dynamic content like hackernews or reddit. You want caching because reddit is a high traffic site but you also don't want to delay content updates too much because your expiration time is too long.
At my workplace we generate ~150 commits every week or two. There are a lot of trash commits and the history is completely unreadable.

I'm sure that's barely any compared to large companies, so I really question the value of commit history unless message guidelines are well enforced.
Except that the new Kindle DRM is very hard to remove and this plugin won't work anymore - it's a constant arms race where us customers are always the losers.
The Microsoft Surface Neo website disappears down the memory hole
So if you're a criminal, just regularly check whether your data has been accessed and why?
That's hardly a general effect of all landlord-constraining frameworks. It's certainly not a tenant-favouring framework.

If the law said landlords could not require those kinds of references when advertising a tenancy, that would be a legal framework hostile to landlords without the reference problem you described.

(Admittedly there would be unintended consequences. Maybe the reference problem would continue surreptitiously.)
I squash, but it's not something I do regularly.

In my case, it's generally because I'm preparing training material.

When I do that, I have two branches: dev and master. master is the one that is exposed to students, and dev is the one I use for prepping, testing and staging.

Sometimes, I may even have the dev branch in a private repo, or one that is associated with a different GH ID, like so: https://24ways.org/2013/keeping-parts-of-your-codebase-priva...

The main "gotcha" for me, is to make sure that I merge the master back into dev, after doing the squash. Makes life a lot easier, for the next squash.
"Workers" are abundant. It's the human capital associated with the workers that's expensive. Engineers moving to California should be considered like other capital flows: there are unlikely to be major flows into places where their flexibility is unduly impaired by regulations structured to favor existing, powerful incumbent interests (in this case, the noncompetes).
It's probably more the web server configured to only allow x MB maximum for file uploads. Or since the government has been shown to be incompetent, maybe it's the maximum size for email attachments..
Andy Miller on Negotiating with Steve Jobs
I ️ JavaScript
Yes -- thank you -- incompetence rather than dishonesty on my part. Sorry!
The YAGNI (you aint gonna need it) principle overrides the DRY principle imo.
Why Git and GitHub are a terrible choice for most dev teams
You do keep the history in the branch, it's just out of the way unless you really need it.

Also, the method I described has nothing to do with commits. PRs and small commits aren't mutually exclusive.
Good question! A lot of our users like how easy it's to start using PerfectWiki compared to OneNote. Secondly, we have much better integration to Ms Teams. Lastly, we have ability to lock content from editing and powerful full-text search.

Many of our new users surprisingly migrate to PerfectWiki even form Confluence :)
In the UK, only 2.7% of tests are returning positive results. At the end of July, this figure was 0.4%, which puts a floor on the specificity of the existing testing technology at 99.6%.

If a test with only 98% specificity were used in the UK, the test would have a positive predictive value (the chance that the positive test represents a true positive result) of about 50%, far worse than existing technology.
In a given team, mandating the squashing of commits essentially means admitting that pull requests' branch histories tend to be far from semantically valuable.

Which can be perfectly fine, as it's hard to ensure that all developers use Git in an optimal way (I'm thinking of intentful use of interactive rebasing), uniformly.

The only problem I find is when squash proponents claim their choice is superior. It's not; it's only superior if you aren't willing to maintain great history as you work on a given branch.

Of course there are also added benefits to a fine-grained history, as the article mentions.

My experience having maintained a production app with a fine-grained semantic history for 5 years is overwhelmingly positive. Understanding root causes, confidently reverting things etc becomes a much quicker job - particularly important when production is red.
What’s funny is that for me in NYC metro area, all of the Free and Enterprise ones come from the closest location to me (EWR), but the Pro/Business ones are a wide mix, some EWR, some ORD, some YUL. The ones on the Toronto hosted pop are by far the longest ping time, yet the owners of said accounts seemingly paid for the privilege of slower response times. What am I missing?
I squash commits on large PRs on a case-by-case basis, especially when they have a lot of very small and silly commits (fix this, fix that, wip, ...) but implement a very specific feature which required a lot of experiments that didn't end up in the final PR. And yes, I use the commit history very frequently, so it's important for me that this doesn't contain too much noise.

If I need to bisect a bug that was introduced by the PR I still can do this in the original branch.
Why not? Google doesn’t sell or make available the collected data. It just uses it to make a better targeted ad system, which Google then does sell.
FWIW, I am doing something similar right now and I can tell you that making thousands of overlapping divs sucks for performance already on desktop, and is even worse on mobile. I can see why the canvas thing is in use.

Most JS game engines should support firing native events of some sort, like you should theoretically have the ability to call window.confetti() from canvas-rendering game code in response to a victory screen or similar.
I have 10 ms to 1.1.1.1 in RO/RDS on wired. I blame their idiotic pppoe.
If you always work in feature branches and commit often (which you should IMO) it makes perfect sense to squash on merge. It gives you a nice history that only contains relevant commits instead of having a bunch of “added tests”/“fixed XYZ”/“remove debug log”/etc commits.

With some discipline this makes the commit history actually worth reading and makes git blame a useful tool.
>Which is why Silicon Valley is in California, and why attempts to create a startup culture elsewhere have mostly failed.

FWIW, non competes aren't enforceable in much of Europe unless the employer pays the person who left. This is known as Garden Leave in the UK.
I have no idea why you're getting downvoted, what you wrote is true.
Artillery is another one.

https://artillery.io/docs/http-reference/
Sounds nice for apps such as WhatsApp that i only need on special occasions and that will spy on me as much as they can get away with.
I thought it was senators

https://www.bbc.co.uk/news/election-us-2020-54401186
> This sounds great until you read the FAQ:

This is great exactly for that reason. Although it may seem strange, many of us would use Android just because they're forced to use that one or two apps, not because they need the whole system. In my case, I have absolute zero needs for Android, except for opening Whatsapp like 3 times a week for a few minutes. Since Whatsapp web is a joke that would force me to even keep a smartphone around, I'm currently keeping home an Android tablet just for that app I use a few minutes per week, which is also less than optimal.
Hopefully one day the Pinephone (I'm seriously considering to purchase one) will allow Android virtualization, so I'll be able to move a minimum virtualized Android system dedicated to Whatsapp onto that phone and ditch the poor tablet for good.
How Cannibalism in the Womb May Have Made Megalodon a Titanic Terror