skysight-inc/HackerNews huggingface dataset:
My team also uses feature branches, with a squashed merge commit. They used the argument that it's easy to revert that commit.

But I didn't want to lose the detailed history either, so our squash commit message contains the complete list of squashed messages, and we keep the old feature branch alive forever on a separate remote.
CoronaAct
Vimium – The Hacker's Browser
Indeed, it is another level of indirection, and I’m all for it (having introduced a custom service mesh based on envoy into the company I work for having ~100 microservices, though it took more like 2-3 months of me working solo).

It’s a great way to get a uniform metrics and troubleshooting experience.

Most important though, especially if you have strategically compiled binaries as microservices, a service mesh lets you roll out improved routing logic easily because it’s all abstracted away, not encoded in client libraries in X number of languages. Same for tracing. Wanna add a field to all traces being generated? Go recompile and redeploy a 100 services... or change one service mesh config.

Other than that, envoy can usually withstand much more traffic than the service it overlays, so you can use it to provide DoS protection in depth, by limiting on service proxies everywhere. Saved us a couple outage escalations already.
While Go interfaces are usually checked at compile time, this doesn't have to be the case - you don't even have to use reflection. Consider the following program.

package main

import "fmt"

type Dog struct{}

func (d Dog) NumberOfLegs() int {
return 4
}
func (d Dog) Genus() string {
return "Canin"
}

func main() {
var dog interface{} = Dog{}
fmt.Println(dog.(interface{ NumberOfLegs() int }).NumberOfLegs())
fmt.Println(dog.(interface{ Genus() string }).Genus())
fmt.Println(dog.(interface{ Happy() bool }).Happy())
}

This fails at runtime, as `Dog` doesn't have `Happy` method.
Thanks man
<3 I love scott
> Tree-like heirarchy of dune files confused me since it wasn't really explained anywhere.

It's explained in project layout [1]. And it's not a tree like, it's basically flat, since it doesn't matter how deep in the file system your dune file is buried.

It's like `meson` in its concept.

> Does `dune` handle dependencies

It doesn't, and so neither do `meson`, `cmake` and most other build systems. As you may want to use various ways of installing dependencies: native packages, manual compilation, opam, esy.

> Can I load an interactive shell with the definitions?

Yes, you can run `dune utop ./path`

> If you look at other projects, you'll see they use opam files differently from one another.

Dune is independent of opam, opam file is needed to publish your package to opam. You can specify packages with dune without creating an opam file, see [2]

> I tried `opam install --deps-only`, but it complained sometimes about the state of uncommitted files.

If you use opam, you can do `opam install --deps-only`, or `dune build @install`, which would suggest a command to install missing packages.

[1] https://dune.readthedocs.io/en/stable/overview.html#project-...

[2] https://dune.readthedocs.io/en/stable/concepts.html#package-...
Isn't that animation at the top of the page just awesome?
Filing claims by suing is protected by law; filing claims on YouTube is not.
I don't get all the hate here either. Some of these are very pretty.
Also not in XP. I eventually came to like standup meetings, but with one caveat: no management (including project management) is allowed to attend. Otherwise it becomes a status meeting rather than a "How can we get past our current blockers" meeting. Management glazes over all the technical talk -- the very thing that we need to speak about if we are to need a meeting at all.

I'm going to say this rather rashly (and maybe regret it sometime in the future): any "Agile" process that includes a status meeting for developers is broken. Status should be determinable from the artifacts that have been produced. If management can not see or understand the artifacts, then your process is broken. If they prefer not to look at the artifacts, then your management is broken. If they need status on something that is "taking too long" then you haven't broken up your tasks enough. If you have broken them up enough and it's still "taking too long", then there really isn't much to say other than "this blew up on us" -- which is obvious.

What a standup is good for is casually checking with your teammates that the approach you are taking is reasonable and to discuss other strategies. It's useful for asking for help, swapping pairs (or getting one in the first place). If you find yourself doing the "This is what I did yesterday. This is what I'm going to do today" dance, then you are not getting much value. It should be blindingly obvious what you did yesterday, because code was written, reviewed and hopefully merged. Possibly you may want to say, "Hey, can you review my code?" It should be blindingly obvious what you are going to do today, because you grabbed a card/task from the backlog. The only thing you need to talk about is, "I'm confused. How do I do this?" and the like.

/end rant ;-)
Maybe I was holding it wrong but in my experience ANTLR’s performance (on JVM) was abysmal.
Excerpt:

"While you may know the chemical formula of neodymium magnets as NdFeB, or Nd2Fe14B, they are mostly iron and neodymium.

By mass, they’re roughly two-thirds iron and one-third neodymium. Only a tiny fraction is boron, plus a few other elements."
Soooo, probably a lot of energy wasted for nothing?
They all got served food by the ship's crew, who still shared bunk beds and weren't really quarantined.
The Startup Turning Utah into a Surveillance Panopticon
It's not a mess at all, very clear actually. We enforce commit messages to be prefixed with the ticket number which makes it easy to query git log for all changes related to any PR with full history of who, when, and why each change was made.
This idea has been looked at - https://copyrightalliance.org/ca_faq_post/tweet-protected-co...
Seems that if you posted an original joke it should be copyrightable.
Though in that case, correct me if I am wrong, the old coastline was actually further inward.
Interviewing skills are a thing like everything else. A good candidate should jump to the opportunity to explain why she can't trust even herself to do it right (let alone other people, including her future self!). Brining (or making up plausible) examples from experience, etc.

Yes, sometimes it's silly, but there is the harsh reality of how interviewing is executed, especially by those companies who want to base the assessment mostly on the judgement of peers as you said.

If you're really senior, in most cases, you can't expect that the majority of people in the company you're applying to is going to be as senior as you. You'll need to do a lot of convincing and explaining of things that might be obvious to you even after you join, on a daily basis. As with everything, the interview can be a good place to show you can do it.
Capitalism goes as far as making sure there are at least two competitors in a space, and with all of the companies going at self-driving trucks there won't be a problem there. Other than that, the goal of capitalism is to give consumers [big box stores] the best possible product [Delivery trucks] at the lowest possible prices [not having to pay a human 50k/yr].
The data breaches we should expect in 2020
Would Uber be happy to be classified as a taxi company?
Also, no sharp lines or objects. There is a lot of geometric abstract art in a continuum from organic (Pollock) to sterile(Rothko) and everything in the middle.
How CEO of Stasher Is Redefining the Way Businesses Value Space?
CNCF Survey 2019 [pdf]
What SARS-CoV2 sounds like
Immigration Solicitors UK
I run a Saas business solo, for eight years now, netting six figures, and I've been on Heroku the entire time for just under $1,000 a month. Monolithic rails app on a single database, 300 tables.

Sometimes I feel teased by 'moving to EC2' or another hot topic to save a few bucks, but the reality is I've spent at most 2 hours a month doing `heroku pg:upgrade` for maintenance once a year, and `git push production master` for deploys and I'd like to keep it that way. I just hope Heroku doesn't get complacent as they are showing signs of aging. They need a dyno refresh, http/2, and wildcard SSL out of the box. I honestly have no idea what the equivalent EC2/RDS costs are and I'm not sure I want to know.
The Apple Maps screenshots book and 9-eyes.com are two projects that really stood out for me. Neither was intentional and both involved curation, which is perhaps what is missing from this (and similar) projects.
He's making this case against one of the least gate-kept stores in the ecosystem and is writing this from the perspective of the power user, and it is obvious to him and you (and me for that matter ) that users due diligence is non-substitutable, but in a corporate vendor context whether of a browser or OS this effectively makes a case for an ios-style walled garden and ripping the inherent benefits of revenue and ecosystem control.
Indeed. I did not see it in my account but those limitations are still a nogo.
Apple, Samsung and Sony among 83 global brands using Uighur Muslim forced labour
This is actually the advice I’m giving every new systems engineer that joins our organization.

Learning how Kubernetes works is much easier if you first get a firm grasp of the basics and then start bolting stuff on like istio knative and all the other cool stickers “modern architects” wet dream about.
Subtle Ways Startups Fake Growth
That is so, so hilarious. Any one of those things individually is funny. Together; glorious.
It was unpopular because it didn't examine ad blockers and provide apis that allowed them the functionality they have in a safer way.

It instead proposed a very hobbled alternative.
Actually would love to tune the ranking of search as it is biased towards ancient stuff and I always need to switch to sort by date to find the article I actually vaguely recalled seeing recently. In Elasticsearch I would probably add some function scoring on dates, points, and number of comments. Also comment search is indeed not really a thing currently and there are some nice opportunities to find related stories, likely duplicates, etc. that might help people when posting new stories.

IMHO the default HN ui has many quite obvious UX issues on mobile with e.g. tiny click targets that are positioned close together, long threads that are hard to navigate, low contrast colors (grey on grey), etc. It's clearly not been designed with mobile in mind and even on desktop it's not all that good. Brutalist/retro is the best you can say about it and that looks like it's intentional to me.

If you read HN on the way to work in an area that doesn't have great mobile coverage in e.g. subway tunnels, etc. offline support would be pretty nice.

There are various Android clients that do some interesting things with the UX (e.g. thread navigation, swipe to upvote, etc.) and offline usage. However, most of them fall a bit short when it comes to things like commenting or other features. Most of the clients I tried did not cover all the features.
France recognises Uber driver's rights in blast to 'gig economy'
The real question is should Uber drivers get the same rights and protection as employees, and the company contracting them be held to the same responsabilities. My answer to that is yes, of course.

Wether they are or are not 'employee' according to some last century definition is an uninteresting question.
No, lucky me. Either I'm doing mobile and don't care wether it's an actual server behind those APIs or a hamster going crazy in it's wheel. Or I'm doing backend, in which case I only do serverless.

One colleague of mine did end up using his own server to run daily data processing and numbers crunching jobs for work though. It also served the internal analytics web UI. Apparently went on for years.
It’s all about redundancy.
lidars do help though immensely if you integrate it in your ML algorithms currently
Yeah I can't see your average C/C++ programmer pulling in a parser generator written in Java to get their job done in place of flex/byacc, I suspect most would rather roll their own parser ahead of that. Maybe it happens, but I can't picture it.
I imagine last-mile driving on regular roads might be as big a hurdle here as it is for parcel delivery.
Same. I think people just have different ideas of what "long lived" means. To some it might be a few days of work, to some weeks.

We actually merge the master into our long lived feature branches first. Then run all the tests on that branch, if it's good it can be directly merged into master (master is locked, and you need permission to commit anything to it).
Halbach Arrays II
The CDC has a strong reputation and this would be a rare disappointment.

I think they still deserve benefit of the doubt for now but also owe the public a clear explanation, especially when professional epidemiologists are also puzzled by the situation.

The misstep if true would be particularly regretful for a couple reasons. First, the underlying technology isn’t complicated: PCR [1] is for molecular biology what the hash map might be for software engineering, not simple per se but well understood and widely used. The coronavirus test requires a variation to detect RNA instead of DNA [2] but that still isn’t rocket science. Second, the article points to alternative tests [3] that could probably have been performed safely by many labs in the US if they had the approval.

[1]: https://en.wikipedia.org/wiki/Polymerase_chain_reaction

[2]: https://en.wikipedia.org/wiki/Reverse_transcription_polymera...

[3]: https://www.who.int/emergencies/diseases/novel-coronavirus-2...

(Edit: It should be noted that PCR can be finicky. But given that labs around the world have been sharing which primers they use, I would hope that the CDC had access to that information, could test those primers in parallel, and pick the ones that performed the best.)
Related Video:

"Visualizing the Magnetic Field of Halbach Arrays"

https://www.youtube.com/watch?v=1KLzU178d1E
A long time Google cloud customer who migrated away to DO recently. Here are the things Google gets completely wrong

- They are way behind compared to AWS in terms of stability and features, even then they always demand similar premium (ref. recent incedent: https://www.cbronline.com/news/google-cloud-down)

- Tax issues in foreign countries are never resolved. Due to Indian laws, we must pay TDS on our business payment and google has to refund them to us. It takes almost a year to get those refunds from Google. Not startup friendly.

- No support!! If anything goes wrong, AWS or DO solved issues even technical ones at times even when you have no support plan purchased. Google literally is useless when it comes to support. They carry that attitude from their search business.

- I see someone mentioned egress charges. In reality, cloud providers get super cheap bandwidth and they charge 9-10 cents for egress which is outrageous. It's not only Google but AWS as well but Google being new in market could have done better job here.

- DO Kubernetes is free and as someone mentioned, control plane downtime does not matter until workloads are not affected.

- In a nutshell, if I need stability, I will go to AWS, if I need better price, DO is not a bad choice. I am not sure where is Google positioned.
I know its really bad form to complain about downvotes - but can i ask if people are disagreeing with me or if there is something else objectionable in my comment? If its the former, i'm confused as its trivially easy to google the definition of recursively enumerable, if its the latter I am honestly curious.
Is this not how your friends use Instagram stories?

My friends will mostly post one or two amazing photos from their trip/event/whatever, then post various stories showing lots of casual moments along the way.

Some people put a LOT of effort into their story, but from watching most of my friends, and what I myself do, it's usually pretty casual.
Why Techcrunch can get away with such obvious GDPR violation. First, by default I am opt-in to being tracked, secondly I don't even have a way to opt-out. I can only say ok or "manage" my permissions, and managing throws me inside endless loop of screens that does not have opt-out button anyway...
We need a corpus of story, generated of course
It wasn’t immediately apparent but there are tabs on the bottom E.g. click canvas to see the control and the sidebar to see that again etc.
Ex-Uber self-driving head owes $179M to Google in contract dispute
> This is a newbie question, but why is the lidar/radar necessary?

It's not, in theory. It is, in practice.

>
> Is it solely because computers aren't yet able to extract as much information from video as humans can from sight?

Yes. Currently, you cannot, for any amount of money, buy a camera that has equivalent visual acuity to the human eye.
Master should be the known-good version. Not the version you're deploying right now, but the version you deployed yesterday from a release branch and nobody screamed. That makes it much less likely that your teammates will rebase onto a bad commit that needs to be rolled back in prod.
> you can use docker-autoheal or something similar to automatically restart those processes

I consider it sloppy to accept that a process will crash and become unresponsive as a normal fact of life, and that subsequently they have to be automatically restarted. A process should stay put at what it was designed to do. Reasons for the crash/unresponsiveness should be investigated (memory leaks, race conditions etc) and not swept under a carpet with an automatic restart.
Last I checked, the interface between lex and yacc (resp flex and bison) is by mutating static global variables. Is that still the case? It always struck me as exceptionally bad design.
> After reviewing your dispute, IMG has decided their copyright claim is still valid (response to a dispute)

> The claimant can request that your video be removed ... if they believe their claim is still valid (response to an appeal)

Question: Does it seem strange that YouTube has the copyright claimant decide on disputes and appeals of their own copyright claims?

This seems like a court in which the plaintiff is also the judge. How can this possibly work?

If I were a troll and just wanted to make life for people needlessly hard, could I submit claims for random videos and simply reject all disputes and appeals - and if someone tried to sue me, say I was just playing by the Content ID rules and didn't invoke actual copyright law at all? What would happen?
Farewell, John McAfee – America’s light is a bit dimmer today
What features aren't available on the website that are available in the mobile app?

I've seen some news stuff that isn't I suppose, but not much actual functionality.
Its also more common now to add on 3rd party functionality like a service mesh, various serverless implementations, secrets management, logging frameworks, etc. Making it even more complex. Not disputing some of these add value, but the number of moving parts is high.
Why hasn't anyone just started a YouTube competitor in a jurisdiction with no copyright law whatsoever?

It seems like such jurisdictions can quickly become havens for innovation.
> Can you even imagine the quality of code that was written and fixed for 30 years?

Total nonsense. Bison is very reliable, Flex can be a bit finicky to set up but is also reliable.

PostgreSQL uses bison ...
Depth from stereo gets worse at distance, while LIDAR and RADAR read depth directly.
Usually you don't agree to contracts that let you be fired for the sorts of things that don't end up with you in court. Buyers, being reasonable, refuse to sign contracts where they can't fire you for being a criminal.
Can you give more details on this? Anecdotal is fine

I loosely follow AWS, GCP and Azure but I always get mixed opinions on them, especially the last two
Why is PSS so important?
In high school our math teacher introduced a problem that could not be solved, which involved a TV-show game where the contender would choose one of 3 doors, and if there was something behind it, the contender would win it. But the show host would remove one of the doors without something behind it, and ask the contender if he/she would like to switch door.

I simply simulated the game on a computer one million times which revealed that changing the door after the host removed a empty one had a 66% probability of winning. (rather then 50%) but the teacher wouldn't believe me...
If the employee has other oportunities
Can the PR still show all the individual commits when you come back to it? If so, are they still in the repo with some keepalive tag or are they persisted outside of the repo along with the PR-comments/metadata?
You can search previous comments: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...
Tips to Define and Build Your Brand Voice
I just want to add TypeScript to the list of structurally typed languages. It works delightfully well in TypeScript (arguably better than it does in Go).

I love how you can just return a custom object literal from a function and TypeScript figures out the type, without ever giving it a name. This lets you explore with pretty much the same flexibility and speed as with dynamically typed languages, and only after you shaped your code sufficiently well, you can decide whether you want to name some of the types and make everything a bit more "solid".
The paper[1] claims that MIP* = RE. At first I wasn't sure whether that was true, because the paper is too long and complicated for me to verify.

But then I found a series of questions and answers written by this quantum guy Scott Aaronson[2] and by this other quantum guy Kenneth Regan[3], who both know a bunch of quantum stuff. Each one of their blog posts makes me more certain about MIP* = RE, to the point that now I'm 99.9% sure it's true, even though I could never verify it myself.

[1] https://arxiv.org/abs/2001.04383

[2] https://www.scottaaronson.com/blog/?p=4512

[3] https://rjlipton.wordpress.com/2020/01/15/halting-is-poly-ti...
Last time I checked ANTLR, it sucked, and after a quick skim now, it still sucks.

- no way to specify operator precedence explicitly (instead, it’s based on ordering of alternatives)

- no explanation of conflicts / ambiguities in the grammar (again, ambiguities are silently resolved based on ordering of alternatives)

- might, or might not, properly handle left recursion (by “handle” I mean, that the parser always halts)

TL;DR: LL parsing is a dead end, don’t use it.