skysight-inc/HackerNews huggingface dataset:
The point is not the content but the connection graph as you mentioned

> Deriving the connection graph is not an issue exclusive to federated systems.

No it is not, but with a single large entity there is only a single entity that you have to trust. If facebook doesn't look at or leak the metadata then you're save.

In a federated system there are so many people operating the system that it is much more likely that parts of your communication metadata gets exposed.
J for C Programmers
If recycling is profitable, then recycling companies will go out of their ways to get recycleable stuff in their hands. So they will go to the consumer.

And waste disposal costs money, so consumer should have economic incentive to recycle instead of throwing everything in the bin.
This most certainly is not fear mongering. Helium is a non renewable resource. We used to discuss this all the time in the laboratory I used to work at.
I found this book very useful and read it multiple times over a period of months. That, meditation, exercise and talking to people helped.

https://www.goodreads.com/book/show/13623836-fear
I want to note a separate issue of defensive coding that comes up in the writeup:

> GitHub's forgot password feature could be compromised because the system lowercased the provided email address and compared it to the email address stored in the user database. If there was a match, GitHub would send the reset password link to the email address provided by the attacker

The logical flow is:

1. Get the email address from the forgot-password request.

2. Get the email address from the database for the same account.

3. Check whether they match.

4a. If not, we're under attack -- refuse the request.

4b. If so, all is well -- send a password reset to the email address.

Of course, we know the email address twice -- we asked the user for it during the password reset process (step 1), but we never needed to do that because we already had an email address on file for the account. We retrieved that email address in step 2. We know that the two addresses are the same, but, if you look at the semantics behind the variables, in step 4b we're choosing one of these two "equivalent" options, depending on which variable we use for the email address:

1. Send the account password to the account owner.

2. Send the account password to a guy who doesn't know what the password is.

And these have very different risk profiles. Choosing the first option instead of the second would have prevented this attack without needing to worry about unicode case-translation issues. You never want to trust information you just received from an unknown user when you already have the same information from a more authoritative source.
Java 9 was a huge roadblock for upgrading since a lot of libraries were using internal apis and that mess took a few years longer that it should have.

Now the only supported Java version is 11, so a lot of companies have moved to 11 the last year.
One of my colleagues (a PA, not a developer) has a "Rollermouse Red" which costs $400.

It's an easy sell when the doctor says "you need this to avoid time off work" or similar. More developers should take a preventative approach and invest in ergonomic hardware.

(I'm pretty sure my desk is about $500, and the chair probably similar.)
It is not in either of those platforms’ interest to allow others to interoperate with them, or to allow users to leave their apps and use those of others. Instagram goes so far as to ban links in everything except one field on your bio.

They intend to own your connections to your friends and customers, and extract rent over it. It’s a terrible thing.
It sounds like you got locked in.
> Distributed systems are hard, avoid them until you can't.

thank you. May I borrow this?
I swear software's biggest problem is that developers prioritize their own ergonomics over actually producing functional code. Imagine if auto engineers just decided "safety is hard, let's just make deathtraps". I know the current narrative is that the 737 Max failed because of MBAs but it's a really big indictment that out of all the complex and hard to engineer systems in an aircraft it was poor software that caused the crash.
> I had someone tell me that programming isn't real work before

Haha, I don't even understand what metrics the person was using to consider something "work". A pilot sits throughout the flight but I think it's fair to say their working...
They haven't rethought chess though. They've merely invented a game called chess' and the suggestion that it opens up "new possibilities" is because it's a new game. Of course every micro-variant of chess is going to open up new vistas, the challenge is this, is it better (how do we define better?) than the original chess? I think they're confusing novelty for the qualities their seeking.

The better chess has already been invented and it's called go. And the top human player of that has called it a day in the face of machine learning advancements (wrongly I think). Also I think go is a much more obvious and flexible game to tweak, if you so wanted.
Almost all features in the Java language are guaranteed to be copied from other languages because it is in Java's "charter" not to introduce features that haven't been tried in other languages first, and then copy only those that have shown a good cost/benefit. The question you should ask is not which features are copied, but which ones aren't.
How exactly is it a pain in the ass?

- If you are hosting a simple static page or blog, your hosting provider probably has Let's Encrypt plugin.

- If you have your own VPS, Caddy has you covered with file serving, fastcgi support for PHP, and proxying to (g)unicorn/nodejs/Go/.NET, and has HTTPS enabled by default.

- If you have more advanced setup (e.g. containers), traefik supports HTTPS with just a few lines of configuration.

- If you are big enough to afford cloud, it takes a few lines of Terraform code to provision certificate for load balancers (speaking for AWS, and assuming others have similar solutions).

For other cases (e.g. lots of traffic with custom haproxy/nginx/etc. setup), you are probably smart enough to find out how to enable Let's Encrypt support.
> Now you've shipped your thing that lasts forever. If it's a mechanical object, maybe you can get continuing revenue from spare parts, but those will bring in less than the original purchase.

This might be bad for a tractor manufacturer; but an everlasting tractor would be great for society, right?

The incentive now is to innovate in order to create a better more efficient product. E.g.; a more fuel efficient tractor which increases productivity - then you'll get another sale.

Deliberately hobbling your product so that it needs repair or replacement disincentives innovation and is a form of rent-seeking https://www.investopedia.com/terms/r/rentseeking.asp and as such should be treated as a market failure. (I.e., legislated against)
>But at least you have a brand new customer: Henry@gmail.com. Since you do not lowercase the email and do not recognise him as henry@gmail.com which he used in his last order

You may not like it but this is fully standards-compliant behaviour. RFC 5321 states:

>The local-part of a mailbox MUST BE treated as case sensitive

I'm not saying this is a good behaviour and the RFC also discourages exploiting it further.

There are more ways an email address can be equivalent though :-). Since we know it's gmail in this case we know the email address is both case insensitive and dots don't matter. Comments are also allowed in email addresses (in both the local part and the domain part). Here's a couple examples from RFC 2822:

pete(his account)@silly.test(his host)
c@(Chris's host.)public.example

[0] https://tools.ietf.org/html/rfc5321

[1] https://support.google.com/mail/answer/7436150

[2] https://www.ietf.org/rfc/rfc2822.html#appendix-A.5
And they conveniently left out that that is exactly what the law has been ruled to say - if there are available suitable shelters then you can criminalize sleeping in public areas.
How about keyset pagination instead of limit & offset? https://use-the-index-luke.com/no-offset
Imagine if there was an initiative to research the use of cryptography in crimes, because obviously cryptography does have an impact on public safety. Also, as you know, there's powerful people that would love to see encryption regulated in ways that aren't in the public interest.

That's how gun people feel about researching gun violence.
If we mine the same amount of gas, and discard the natural gas part, then shouldn't the price of helium go up?
Locked into Java, yes. At some level it's unavoidable, you have to choose some kind of stack. And of course there are different kinds of ways to get out of lock-in. One of them is being able to convert to a common 'lower' language.

I've not used Kotlin but I would be more likely to if I knew that avenue was practical.
Regarding the reuse of previous harvest's seed, the lobbying of Monsanto and Co have also managed to make it illegal until recently.
It would be a start if people had an easy way of comparing the pollution caused by each product when they're shopping. Like they can compare calories or fat in food, or the energy efficiency of light bulbs.

Of course, if such a system were in place, it wouldn't be a big leap from there to slapping extra tax on each item depending on the amount of pollution.
Kotlin really shines when it comes to async programming. This is some code I wrote using Vert.x with Kotlin extensions :

router.get("/api/article/:id").coroutineHandler { ctx ->
val news = newsRepository.get(ctx.pathParam("id")) // no need for await
?: return ctx.respondText(404, "Not Found") // can still use basic code constructs
ctx.respondJson(200, jsonObjectOf("news" to news)) // actually an extension method i wrote
}
I don't think it is that contrived. I've contributed to a project that had bots build every GitHub pull request and post build+test logs in the comments.
RFC7807 for JSON errors instead of everyone inventing their own schema https://tools.ietf.org/html/rfc7807
One thing I find a bit disappointing is the focus on language features. Most of the effort in Java goes into the VM and libraries, while keeping the language conservative. This is because VM/library features have a much bigger impact on application quality, and more directly impact the application's users; moreover, it's a strategy that's proven quite successful -- HN notwithstanding, most developers don't like too much change in the language. Still, many developers focus on language changes that affect them, rather than major changes than can affect their customers and their business. Recent versions have seen major improvements to the GCs, startup time, and there's an exciting new Java Flight Recorder (low-overhead, deep in-production profiling) feature in 14 that allows streaming flight recorder events.

Also, the bit about LTS is problematic. While the multiple LTS update paths have their place (although the widely in their offerings and intended audiences), they are not less risky than the default path. The default path is designed to be the cheapest and easiest, but requires a little bit more agility. The effort required to update to a new feature release is not much bigger than the effort required to update to a patch release, especially as some of the LTS programs have major new features in their "patches." An LTS program should be chosen only once it's been established that the default, recommended update path is not right for your organization, and even then you'll need to compare the different LTS programs, as they differ from one another in about as much as LTS differs from the regular update path. LTS should not be the default choice.
It misses higher-kinded types and for-comprehensions. So you cannot generalise List<X> as L<X> nor pull out its values with x<-lx.
If they can find enough now, with unemployment at multi decade lows, then it seems that you could find them anytime.
"keeps coming up", pun intended?

I agree that it's unaffordable for birthday parties, but the side effect of littering rubber waste for birds to choke on is arguably a more serious reason to forego party balloons.

What I'm more worried about is a replacement for liquid helium in cooling. CERN depends on cryogenics for keeping superconducting magnets cold. Helium's a lot safer than hydrogen. What other alternatives will there be for supercooling when there's no helium?
Except for device-specific fuel gauge / type sense pins. Some devices won't run with arbitrary baterry unless they can successfully communicate with the IC in the battery.
Look at embedded Debezium. https://debezium.io/docs/embedded/

Very similar to what you are doing but instead of Websockets you can decide where to send your data. The core-debezium sends it to Kafka.
I think an issue is a different mindset. I haven't done OOP for a long time. After Haskell, Scala feels a bit verbose and actually rather complex. I had a go at Scala a few years ago, it felt like a breeze after Java and C++. I think I can confirm your perception that that's a question of familiarity.

I'm now embracing the JVM, and Frege is not an option. It'll be a mid-term transition for me. But it's already nice to rediscover some functional paradigms in Scala and apparently sane design choices when it comes to mixing the object-oriented with the functional style, at least I think I like it better than OCaml.

I'm bothered by Scala's performance as compared with Java. Kotlin's seems to be in parity with Scala in this context, but both by an order of magnitude off from Java's. However, I can't vouch for the "benchmarks" I've come across and I'm not yet familiar enough with either to conclude which features could be detrimental to JVM's performance.
I would wholeheartedly appreciate your take on that.
Would this work?

return Optional.ofNullable(nullableVariable).map(v -> v.someMethodCall()).orElse(false) ? true : fallbackIfNullMethodCall();
Can we lose Space for decades due to space debris?
> This algo was heavily used in the demoscene and often referred to as 'meta balls'.

No. It is used to implement 'meta balls' effect sometimes. But the two terms are not synonymous. From my experience it's more common to see meta balls implemented with raytracing or some screen-space techniques.
A Predictive Database
Pentesting to Increase Security Level
If I'm not mistaking, there is no JEP for making throw statements expressions. Is there an obvious thing that I'm missing here?
It would make sense for concise method bodies [1] and throwing in switch expression branches more consistent (over making exceptions for throw statements).
Also, C# did the same thing.

[1]: https://openjdk.java.net/jeps/8209434
Mapping Alphabet's Leadership Team
Not before Sun scorches the Earth (and Mercury and Venus on the way).
This is also its biggest drawback. The lack of difference from Java means there's little point switching from Java.
Backend kotlin is growing fast, not as much as android, but it is growing. You can notice big frameworks all adding kotlin niceties.
A significant problem is that you also have to lift out all your fuel. If you want to mine gases from the atmosphere you could imagine a device plunging into the atmosphere, collecting gases and getting out of the atmosphere while only needing to replace energy lost to friction with the atmosphere and lifting the collected gases out. That seems like a much easier task, because you can get a lot of your kinetic energy from going down the gravity well first.
I'm not sure the fear is illogical in a case when over 300 people have died due to a known design fault, particularly when the manufacturer in question tried to sweep it under the rug the first time it manifested itself.

I have no problem at all with flying and do it regularly (as recently as yesterday, on a 737-800 no less) but I wouldn't set foot on a MAX, even if I was assured that the fault was fixed.
I use a self hosted Bookstack Instance for Notes, Blog Posts and Knowledge Base plus StandardNotes for my daily diary.

Permanently trying out other stuff (basecamp, todoist, notion, etc.) but keep coming back.

I also have a self hosted Nextcloud instance, where I started to put down thoughts which won't fit in the other two (like "lessons learned this week") but eventually will be moved to Bookstack.
Sun is also non-renewable. But it will not matter for a while.
I grew up in India and learnt chess from my grand father, who taught me two versions of chess: the standard western version and the Indian version. The Indian version differed in two rules: no castling (as Kramnik is proposing) and the pawn cannot move two steps in the first move. Some other differences are mentioned here:

https://en.wikipedia.org/wiki/Indian_chess

It will be interesting to compare how Alpha Zero learns with the Indian chess rules.
That still sounds like plain old determinism to me.
Yes, you can have alcohol in shelters, it is cheaper, safer, and in all ways except performing a puritan morality play, better. It's called low barrier shelters, or housing first. Seattle's DESC housing has been successfully providing it for decades. Plenty of successful programs have implemented it in multiple countries. It is not a new idea or an untested idea. You can't have it in a shitty "shelter" that just lays out sleeping mats by the dozens in a big empty room and then turns out the lights, no. So what?
Best Android Apps to Download in 2020
We use https://github.com/policeman-tools/forbidden-apis for that.
Retroshare needs Qt GUI devs: https://github.com/RetroShare/RetroShare/issues/1712 Please join the project and help, if you can!
A new network design for the “Internet from space” – ETH Zurich
Porch Pirate vs. Glitter Bomb Trap 2.0
return nullableVariable != null && nullableVariable.someMethodCall() || fallbackIfNullMethodCall()
We did a very similar thing where I used to work. Didn't want to bother with a separate task queue and wanted a consistent SQL interface for everything.

We wrote a very simple task queue (<500 lines of python) using a postgres table and inbuilt pub/sub. Ran millions of jobs, scheduled and unscheduled, without a hitch.
Running as actual root in a VM would be my preferred design. There are lots of times a user might need to apt-get some dependencies for their compile job. Let an attacker do whatever they like in the VM. Then delete the VM between users.

Docker containers aren't really a good security barrier, and a VM is much better (although VM escape vulnerabilities aren't unheard of).
They should add House to House by David Bellavia. Excellent book and as it's written in the present tense you feel like you are right there with him.
Gaining insight into the energy balance of earthquakes – EPFL
Generally, people who make that argument are completely wrong and somehow fail to recognize how nonsensical it is to argue that social workers etc just don't interact with homeless people enough to see them with contempt.
Australia set to see hottest day ever 50C forecast, devastating bushfires rage
I used to imagine I can have a system that would keep concepts together and continuously reorganize them manually as the goal is to both not keep it in the head, but also know what's there. However, as the time passes, the cognitive load of reworking it increases dramatically, and the use and the ability to find stuff in it drops as contexts mutate through that rearrangement. It is very difficult to manage change in that kind of system no matter if it's low-tech or high-tech. After some mismanagement you just lose trust in it and drop for a new one.

About a year and a half ago I started a lowtech weekly diary approach.
Documents folder on your computer or a GDrive/Dropbox/whatever.
Folder for the year, and then folder for each week of the year. Usually create it on monday and transfer what I expect to need that week. Treat that folder as my desktop for that week and move on the next week. I now have a year and a half of such notes, am confident I can find stuff and when I open such snapshot I'm quickly able to gather all the needed contexts that were relevant then.
Why are they spewing Java versions so quickly? I have barely moved to 8 yet.
Moreover federated system have a well oiled forking mechanism.

Corrupt instances can be left to wither without any major effect on the whole system.
It reminds me of moving from VB.Net to C# years ago!
Then what incentive is there for investment into R&D if it doesn’t give a competitive advantage? Patents are designed to encourage investment by providing a monopoly for an exclusive time only - we can debate how long that should be - but the fundamental fact is that without patents innovation slows greatly
> Now a robot is about to rob a mom somewhere of a decent job. Soon a kitchen robot will make another mom afraid of the kitchen since she will not spend any time there but the question is are robbers going to get their jobs taken by robots? Robot robbers fancy anyone? Or Rob-o-robot?

F*cking Kek!

You guys and your collective aversions to laugh at the 'automate away every job' narrative is why people have to create throwaways to make that joke... its so sad.

I'm personally waiting for 'chef-bot' to do all my heavy lifting, tedious prep work and cleaning so I can just focus on the fun stuff in a kitchen. Hell, I'd probably have the motivation to work in tech/startup in the mornings and kitchens in the evenings like I did in my 20s if that were the case. I say bring it on!

Edit: Haha, not even 25 seconds on the downvote... you guys are a riot.
I think I can confirm your sentiment. As far as I can tell, which, however, is not much as pertains to the JVM, apart from polyglot projects, Kotlin is a rarity.

I'm rather unfamiliar with Kotlin as a language. Is Kotlin for Android rather idiosyncratic as is Android Java? In other words, is there a superset of language features in Kotlin that goes beyond Android and is more expressive than modern Java?
> One thing I find a bit disappointing is the focus on language features. Most of the effort in Java goes into the VM and libraries, while keeping the language conservative. This is because VM/library features have a much bigger impact on application quality, and more directly impact the application's users; moreover, it's a strategy that's proven quite successful.

I think people have taken note of the success of Kotlin, and decided that judiciously chosen language features will help user retention/adoption.
Federation is absolutely necessary to scale a system that needs discoverability and access control for heterogeneous data types from unrelated producers. There is no way to scale it in a centralized manner without having insanely large and complex data governance.

I wish the author had prefaced with the context and scope. It seems like this is really referencing something like a decentralized twitter.

So sure, in the context of the author maybe that's true but it's clearly generalizable about federation.
New Android phones in Turkey will have to do without Google apps
What I wonder is how easy could it be to restart the production? Will they pay workers for doing nothing until the green light shows? Will the suppliers just sit tight without having orders and income waiting for the go sign? Will be there enough orders still?

I assume it is not just one or two months until it can fly again otherwise they wouldn't stop production. But if it is long time then life and people will go on. They will find other engagements and other things to do, they have to. Could and will they be able to throw away that other engagement they started to resume this operation? I bet not easily, not all. Airlines will need something to fly, they might look for other alternatives. Lots and lots of difficulties and loss, lots and lots of money and time to restart this. I believe.
Nah, the excess will be used for desalination; especially in parts of the world where potable water is less abundant
Of course, at the point where you do need to break out beyond a single DB, life is more painful because you've got dependencies on the database all over the place...