skysight-inc/HackerNews huggingface dataset:
In my experience GraphQL can be much nicer to implement than REST, and it offers a good structure around things that many REST APIs implement in particular ways (like selecting which fields you want). The pain you'll experience depends heavily on your data model and the abuse potential that brings.

I think the biggest problem with GraphQL is the JavaScript ecosystem around it, and all of its implicit context. It seems to be built entirely on specific servers and clients, instead of on the general concepts.

Relay[1], a popular client-side library, adds all kinds of requirements in addition to the use of GraphQL. One of those is that until version 8, it required all mutation inputs and outputs to contain a "clientMutationId", which had to be round-tripped. It was an obvious hack for some client-side problem which added requirements to the backend. Somehow it had a specification written for it instead of being fixed before release. This hack is now in public APIs, like every single mutation in the GitHub API v4.

GraphQL also includes "subscriptions", which are described incredibly vaguely and frankly underspecified. There are all kinds of libraries and frameworks that "support subscriptions", but in practice they mean they just support the websocket transport[2] created by Apollo GraphQL.

If you just use it as a way to implement a well-structured API, and use the simplest tools possible to get you there, it's a pleasure to work with.

[1]: https://relay.dev/

[2]: https://github.com/apollographql/subscriptions-transport-ws
> Are you considered a bigot for not wanting to date someone who doesn't have the genitals you prefer?

The range of different beliefs among humans is so vast that almost any question of the form 'Do some people believe X?' has the answer 'Yes', even for quite extreme values of X. But that doesn't tell us much about the beliefs of typical people. This is especially true when there are folks going around emphasising the most extreme beliefs in groups they disagree with in order to produce a counterreaction.
Huawei Cast+ Kit – Hardware Partnership Journey
Yes, exactly this.

The reason for writing this article is that I know I often do it wrong.

I'm trying hard to make sure that the comments I do write add value to future readers of the code (including me), and are not just be a by-product of another deficiency in my coding style (such as poor variable naming, to use one example).
I don't know if this supposed to be an argument that acquisitions are good, or that they're bad?
Whaaa? There is no equation for it. Unquantifiable cultural trauma that has been passed-down from one generation to the next combined with treatment under slavery, lynchings, KKK marches in DC, Jim Crow segregation, crack epidemic/War on Drugs, genocide by police, and so forth. How would you feel if you were constantly treated as a criminal, as a threat to others, and the police could murder you whenever they wanted for no reason?

Also, Jane Elliott's blue/brown eyes exercise should be a requirement for all elementary school children. It can't be left to chance whether or not to teach kids a lesson or two about empathy, or we risk raising a nation of selfish psychopaths who completely ignore homeless people.

https://en.wikipedia.org/wiki/Jane_Elliott
Hasura is one example of a graphql server that uses the SQL joins pattern to optimize graphql queries. See https://hasura.io/blog/architecture-of-a-high-performance-gr.... It automatically generates graphql queries based on your own schema and translates it to efficient postgres sql queries. The post I linked also briefly discuss the Dataloader pattern for batching graphql resolvers to avoid the N + 1 problem.
Even in the lines you quoted there were several lies. But you know that topic is verboten for people like me. I'll leave it at that.
I fully agree with all of what you said. There's a big difference between "hey can you dump this VM for me please" and "hey please implement this paper to dump this customer's VM" and it provides cloud providers with plausible deniability when law enforcement comes knocking. It's certainly useless once your threat model includes grad students with lots of time at their hands.

The "trusted hypervisor" approach is actually what my company is working on, with SEV just as a convenient attestation mechanism and nice defense in depth.

Yes, with SEV the guest OS has to assume that the emulated hardware is untrusted and I'm quite sure that no OS was built with this threat model in mind. It's not as bad as proxying syscalls from SGX to the host kernel because there's a lot smaller attack surface, but I bet you could find a hundred ways to compromise a stock Linux kernel running in SEV.

I'm more optimistic about unikernels written in say, Rust, which would still be a much friendlier API than SGX.
The answer to this is complex and nuanced.

First, most reasonable people do not shame anyone for their body preferences- period. It is often more about how than what. You may prefer someone who is taller, shorter, larger, thinner, etc. But if you talk in absolutes, like "Tall people are ugly" then certainly you'll receive criticism.

And this of course leaves people feeling hurt. When I was active in dating, I wanted to date women who were attracted to thinner or average men, while I'm overweight. It hurt, but I accepted it.

That said, there are some, very tiny minority of trans people who are upset that in not being eligible for dating someone based on body preference speaks to their being perceived as their gender. "If I'm a ___, why would you not date me as such?"- and their answer is "Because you do not percieve me as my gender presentation".

Sometimes these people are loud and aggressive in their objections.

At the same time, it's also a fact that this is a tiny minority of people, a very tiny minority, and it's used largely as a way of amplifying a problem that largely does not exist- it's a strawman argument which does exist to some extent, but is much smaller than it's being portrayed.

Like I said at the start, it's complicated, but it's largely a justification to be hateful on JK Rowling's part.
FWIW, I'm trans, and I don't believe you're a bigot for not wanting to date someone who doesn't have your preferred genitals.
I want to be a Software Developer at SpaceX
That's part of the problem. Even a hyper optimized Electron app will consume a non trivial amount of RAM. The other factor is that Electron is accessible to people who don't have experience with developing desktop applications. They make some mistakes with a big impact on the user experience. Additionally, the NPM community isn't exactly known for producing few large profile high quality libraries. Instead you just cobble something together by using thousands of small packages with little to no accountability.
I was not aware of Hungry House. but you're right! They purchased them too [1]. Yeah it feels like a "screw it" lets do this type of move from Takeaway.com/Just Eat. From my research it looks like Just Eat are threatened by competition and re-entry into the market from Amazon. $500m investment could really push Deliveroo on. I see similaries between Deliveroo and Amazon in wanting to provide very quick delivery service.

https://www.gov.uk/cma-cases/just-eat-hungryhouse-merger-inq...
You just change some config file and that's it.
Hey.com -might- be doing something similar? They list a bunch of stuff they are working to fix, but they are very vague about the actual implementation so who knows.
What blatant lies?
"On one occasion, I absent-mindedly ‘liked’ instead of screenshotting. That single ‘like’ was deemed evidence of wrongthink, and a persistent low level of harassment began.
Months later, I compounded my accidental ‘like’ crime by following Magdalen Burns on Twitter."

That's crazy. I follow all kinds of people on Twitter. I certainly don't agree with all of them. Maybe I should be happy that I am not a public figure...
Good channel I found it through my interest in making cider.
He made an apple scratter which works fairly well ( https://youtu.be/htT-gZ7ck64?t=147 ) but having done more research I think Claude Jolicoeur's (renowned cider maker) is better ( https://www.youtube.com/watch?v=JuEqqSgoGcQ ).
You can see how superior the latter is in the videos
which because of its "wedge angle" has no need for a hand plunger to force the apples between rotor and the stator
Wow this is timely for me. Just ran into this issue a few weeks ago when my mother's refrigerator needed a filter. I bought the bypass kit and figured I'd switch the RFID chips in eventually, but I haven't had a chance to due to everything going on at the moment.

Stuff like this is trash. So often you only find out you have this technology after it's too late and own an appliance with it.

I am not a fan of more regulations, but if large companies are going to insist on acting like unprincipled jerk-ass immature children about things, more regulation is exactly what they're going to get. And I'll gladly vote for them.
If companies show again and again they can not act responsibly without regulation, I don't have time to listen to them whine about it any longer.
That's great that German police are trained to react that way. But American police are not. American police are trained to prioritize their own safety and survival above the safety and survival of suspects or even innocent bystanders. There's no consideration of intention or what information people are acting on - if there's a potentially lethal threat to the policeman, it must be dominated and suppressed.

So yes, with a practical understanding of how American police train and operate, this outcome is completely expected.
Heartily disagree. If I see a method/variable named something like "ci", I will reject it in code review.

Descriptive variable and function names make code easier to understand, not harder.
I agree with you but I do wish for something that can improve on rest in ways GraphQL at least purports to.

Query chaining/batching and specifying a sub-selection of response data seem like solid features.

The graph schema seems to make good on some of the HATEOS promises.

I like the idea of GraphQL but the downsides have me worried.
which is flagged
It's the first time I hear that haskell has awful package management...
"One thing above all else will restore order to our streets: an overwhelming show of force to disperse, detain and ultimately deter lawbreakers"

Killing is what the military does.

Trump has declared that the protests are lead by terrorist "Antifa".

The police were already gassing, shooting and brutalizing protesters.

I don't know what other conclusion to draw about what "overwhelming force" and "dominating" would mean in this context besides murdering people.
Too much talking.
The idea of eliminating double click seems reasonable.
The main problem is speed. Windows became very slow and big.
The author has a point that comments may be superfluous when going through a code line by line.

However, that's not the only sort of code-reading. Comments can sometimes be better to get an overview of a complex program. Not if it is your own code, sure, or even in a code-base you work in. But faced with a huge amount of foreign code, over-commenting can be very useful (at least for me).

This should not be an excuse to write bad code - here I agree with the author. But given that, I see little downside in good comments.

It's an extremely challenging task to think about how others would perceive our coding. Perhaps the reader isn't familiar with a technique or function that seems obvious to you? It's the same as trying to give a lecture on a subject. Pedagogically, it's preferable to have more comments than less.
If a company bars you from working for a competitor, it should be forced to continue to pay your salary during the blockade.

That way, the non-compete actually costs the company something, so they don't just apply them as a blanket, and the employee doesn't have the risk of not finding a job due to the non-compete.
I've had an iPad 2 on my wall for home automation which I just removed because we are moving. Now I'm afraid to open it and see what the battery did after all those years on a charger.
And then decided to ditch it for its own version: Hack!
It’s designed to allow functions to have “two faces.” One face is the one presented to the caller, and the other to the function, itself.

The idea is to maximize grokability. The function’s purpose and argument list is clear to the caller.

It’s an attempt at that old “philosophers’ stone” of “self-documentation.”

Almost all the code I encounter has little to no method interface documentation. This is supposed to address that.

My experience is that many people circumvent it by using the “wildcard” (_).

I use it to add “in” prefixes to my parameters, like so:

func churn(butter inButter: String) {...}

The “in” prefix means nothing, outside the function context, but is an indicator that it is a function parameter, inside the function.

However, outside the function, the parameter name makes it clear that what is to be churned, is butter, as this is the published signature:

func churn(butter: String)

It also allows us to use parameters that are published with the names of class properties, without name collisions.

For example:

init(butter inButter: String) { butter = inButter }

Where using just “butter” would mean we need to do this:

init(butter: String) { self.butter = butter }

Small stuff, but Swift has a lot of these types of considerations.

But what is really cool about function parameters, is that we can “skip” optional parameters, like so:

func add(numberOne inFirst: Int = 0, numberTwo inSecond: Int = 0, numberThree inThird: Int = 0, to inTarget: Int) {
return inFirst + inSecond + inThird + inTarget
}

We can call it like so:

let result = add(numberThree: 4, to: 5)

I write about that sort of thing, here: https://littlegreenviper.com/miscellany/swiftwater/swift_fun...

It’s an enormously flexible language, and can be used to write almost inscrutable code, if we choose.

However, it can also be used to write extremely readable code.

I think it’s a sisyphean exercise, trying to get programmers to write readable code, but we keep trying.

Like I said, Swift is a bit like C, where it can be used to write obfuscated junk, if the programmers want.

My experience is that “idiomatic Swift,” as prescribed by many authorities, is starting to look like that.

I’m not exactly sure what you mean by “escape an opening paren.”

Do you mean inside of strings? That’s a direct inline shorthand that is similar to `...` in other languages. Totally optional.

For example: print(“There are \(numberOfSheep) sheep.”) is direct, as opposed to print(“There are “ + numberOfSheep + “ sheep.”), or print(“There are “, numberOfSheep, “ sheep”).
Yeah... training almost assuredly won't happen sadly. Especially for cops.
About Bounded Contexts and Microservices
Deep Learning: What are activation functions? An overview using Python
What would the precedent be anyway ? It's not a major victory to have some national emergency exception for DMCA.
You have the resources to do anything or create anything and enact real change without having to worry anymore about rent or food from your walled country estate.

Yet this is how you spend your time? Arguing with people on a glorified Internet forum?

Twitter is not the real world, but Attention Addiction is very real and seemingly anyone can fall victim.
Looks like you’re assuming you have some kind of access to any part of the internet you please. I envy you because most tools just work in this case.

Not so on enterprise networks.
Just Eat was a UK based company which was public on the London Stock Exchange (LSE). It was then bought out by Takeaway.com (Thuisbezorgd.nl) based in the Netherlands and the company is now on the LSE (in the FTSE 100) and Euronext Amsterdam.

Just Eat was originally founded in Denmark but moved to the UK

Just Eat was founded in 2000 in Denmark, then moved to the UK in 2005. It floated on the London Stock Exchange in 2014 and acquired by Takeaway.com (Thuisbezorgd.nl). It's now Just Eat Takeaway.com and trades on the LSE and Euronext. The head office is in Amsterdam now as well, but the whole UK engineering team is still in London and Bristol in the UK.

So the parent company is Just Eat Takeaway.com but then it's Just Eat in the UK (and much of Europe), Takeaway.com in the NL (well, Thuisbezorgd.nl), and a few other names around the globe like Menulog (AU/NZ), and Skip the Dishes (CA).
Here is the article, in case anyone is interested:

https://webcache.googleusercontent.com/search?q=cache:xy3Gbf...

> There is no current evidence of his present existence, but to deny that he existed in his Grecian heyday we need to assume that there was no good evidence for his existence available to the ancient Greeks. We have no reason to make this assumption.

I would certainly be very surprised if the ancient Greeks had found a widely-used, accepted and accessible proof for the existence of (a) god, and no one of the classic philosophers even mentioned it in passing.
Or maxMultiSpeakerSampleRate since one of the lessons from the article is that good variable and function names remove the necessity for comments. Naming things, unfortunately, is hard.
As far as I know Gian-Carlo Pascutto is not among the original authors of Stockfish, though he did work on chess engines.

Perhaps you were confused because Leela Chess Zero was forked from Leela Zero (neural network Go engine by Pascutto) but it includes Stockfish's move generation logic.
Misleading numbers, and wrong calculations. The TPU and CPU cost them almost nothing as they use and build them anyway, and renting them out for this PR stunt just cost them the missed rental time, if customers would really pay that much. Maybe around 20.000.
Energy cost? I don't see much additional costs as those machines run all the time, regardless if improving the model or doing something else.

I bet the much higher cost was the PR team, including the film team, press support, TV team, travels, inviting the expert Go players, building the stage, and such. Estimated 100.000.

Not counting the man hours, they were just doing their normal job.
ah yes, come for the news, stay for the censorship
Fastmail has a feature it calls "subdomain addressing" [0], where instead of "me+thing@mysite.com", you use "thing@me.mysite.com", which is much better supported.

Other hosts (e.g. Mailbox.org, the host I'm with now) can support the feature as well, with some configuration.

[0]: https://www.fastmail.com/help/receive/addressing.html
The article actually addresses that. The precise number is not the point but the ballpark is:

"In terms of actual cost to DeepMind (a subsidiary of Google’s parent company) to run the experiment, there are other factors that need to be taken into account, such as researcher salaries, or that the quoted TPU rate probably includes a healthy amount of margin. But for someone outside Google, this number is a good ballpark estimate of how much it would cost to replicate this experiment."
The Cost of Reading in Prison
> 1) Make your code as terse and dense as possible so you can see as much of it at one time as possible (see code written by Arthur Whitney).

Why? I don't want to see as much code as possible. I want to see the code I'm interested in. If I can read 4 lines of code and understand what it does, I spend less time and energy than reading 20 lines of code and trying to reverse engineer it.

> 2) Make your variable names abbrevations or acronyms, like instead of 'convertInt', call it 'ci'.

That makes no sense, it's gross and has only drawbacks.

> 3) Comment every function and keep each function to only a couple lines.

So you need one or more comments for two lines of code?

> 4) Because your functions are so small and dense, you'll never need to modify them, only throw them away.

If you're only writing them to throw them away, why not optimize and never write them in the first place?

> 5) Bam, your comments and never out of date because the functions you're writing never need to be modified, only deleted.

This is sarcasm, right? I feel like I've been trolled.
That is precisely it: for a hardcore capitalist the idea of having to compete only on price and quality is horrifying.

If you can't have maintainable moats, rent-seeking environments, or bought regulators/lawmakers, what's the point?
How Google started out: Run servers from a shack, using commodity PC hardware

How modern startups start out: Spend $50,000/month to run hundreds of microservices on a managed Kubernetes cluster
With this, devices that use NRF52 chips are now open to investigators. I think we'll learn of more vulnerabilities of BLE devices whose shitty implementations are hidden in those SoCs. I'm more than excited about the next post about Logitech Pro G mouse.

Making things open is a good thing on society's security.
Wear levelling and error correction are pretty different problems.

Error correction is well suited to hardware, whereas wear levelling in my opinion is not.

My ideal design would have basic hardware error detection and correction (hopefully configurable for how many data bits Vs ECC bits), and maybe with a few heirarchical levels. Wear levelling and management of data layouts would all be done in software.

You could imagine a "bulk read" API which is given a block number to start at, with a bunch of ECC parameters, which would DMA a large block of error-corrected data to RAM, together with information about the error rate in each word/block read.
Connoisseurship can make about anything interesting!

That said I love fans. I especially love those big old fans that seem to have a speed setting of 'menacingly slow'.
I just got rick-rolled at 30LY.
I don't think this really makes much sense. In my experience people who heavily comment their code don't put much effort into making the code itself all that readable. People who eschew comments are more likely to focus on writing self-documenting code. (Yes, there are people in both camps that go the other way, but I find those less common.) Hiding the comments will just make the difficult-to-read code harder to understand, and will make it more likely that changes to the code will ignore the comments, and they'll become out of date.
There is a rising extreme in the range of American viewpoints which is no longer a question of existence of a rare belief but an almost-theology around various social justice causes and accompanying zealotry. It is somewhat difficult to process in a population accustomed to much different kinds of familiar fervent actions which were based around many conservative ideologies.
The US cannot even prevent its own law enforcement from maiming innocent citizens, so I would not hold my breath for any healthcare reform.
Amazon launches two new Kindle Paperwhite colors
I understand that you're arguing it's legally their land to sell, but I'm not truly sure about that, once these sites are gone, they're gone forever.

Other people in Australia or the world may also object to losing incredibly interesting sites like this, so I'm not quite sure I agree with this black and white thinking to the problem.
I agree entirely that this isn't anything new, I hope I didn't imply it was. This is simply my own reflection on how to improve my coding style.

> "Every line of code can be hidden behind a function, is that productive, acceptable and lean?"

I've seen some advocate for that exact thing, but I certainly wouldn't go that far. I don't think we have to have one or the other, there's a middle ground in my opinion.

If the code requires a comment to explain it, then maybe a well-named method/function is a better option. If the code is obvious in its own right (looping over a collection to add 1 to everything, to use a dumb example) then I don't think abstracting it is justified.

I certainly don't have any objection to single-line functions to add readability per-se.
(with the caveat that a compiler would produce the same result either way, or otherwise the performance of another function call isn't an concern. I'm talking purely about readability here)