skysight-inc/HackerNews huggingface dataset:
I also read atomic habits recently. I found it really helpful for these types of problems. As the author says, accomplishing things is brought by building good systems and forming automatic habits. Not by fighting urges off left and right.

I started going to the gym again after a few years off. It was really hard at 1st to simply keep my gym schedule. Now, I go to the gym no matter what because it's simply what I do.

I do think, however, that books like these should be re-read from time to time to reinforce/rekindle the habit building machine.
The OP of this subthread was the one who did "but what about women" first.
This.

For Canadians: https://www.ic.gc.ca/eic/site/cd-dgc.nsf/eng/cs06641.html
The OP's dialog box was:

"Please confirm that you are a passenger and not driving this vehicle. Phone interactions are being logged and will be available to law enforcement if a collision occurs."

Clicking OK on that dialog box sounds like informed consent to me.
Thousands of pre-teens disagree.
Microsoft is simply applying a strategy that's known to work (see: the study confirming that banning problematic subreddits has had a positive effect on Reddit as a whole). This is what happens when you hold views decent people don't hold: you get silenced, ostracized, and your name blotted from your own work. Want decent people to engage with you? Change your mind.
In the UK we give you 6 points on your license (reach 12 to get disqualified) and a £200/$250 fine

Disclaimer: it doesn't stop people
Yes, a similar issue exists in C++ too when managing some types of resources in database kernels. Some types of resource management are a poor fit for idiomatic ("safe") resource management in C++. In that language, you always have the option of custom, non-idiomatic resource management -- everything you might want to do is always possible in principle. You avoid it to the extent practical but there are a few times when this kind of resource management is unambiguously the correct software design and engineering choice. It is a bit like "goto". Rarely used for good reason but there are times when any other implementation will be decidedly much worse.

I've hashed this out extensively when looking at implementing a database kernel in Rust (I’ve had Rust experts among my C++ programmers). Technically it is possible to implement these things in a safe way in both C++ and Rust. However, it comes at a cost of an unreasonably complex and inefficient software architecture in either language, so you would not want to actually do it that way in a sane code base.
It should be treated in the same class as driving while drinking. If you are in an accident that involved your phone usage you have to put your phone in a box before you can start your car or some similar mechanism to the in car breathalyzer.

I am the only person in my family I know that doesn't use my phone while driving. Something I don't think has been addressed here is that there is much less social pressure on people to not use phones while driving. Nobody would let someone drive a car if they knew they are drunk but many people allow others to use their phone while being the driver.
Uber Is Not the Amazon of Transportation
Is this really a sophisticated algorithm or simply a script or database update statement. Every piece of code as reported by the news these days is algorithmic or AI related
Scanned signature for sure. I once had a form rejected by the Australian equivalent of the DMV for it "appearing to have different handwriting in places", and another time a bank rejected a form for the signature being in a different colour ink to the rest of the form.
We are in the middle of applauding the Microsoft CEO for supporting racism against whites and Asians.

I don't think that works as a theory for how to respond to this, unless we're just going to dislike everyone.
> Addiction is a serious thing with a well defined meaning.

Yes, and that meaning applies fully to smartphone apps for many people.

> By applying it to things that are just actually rewarding, as opposed to things that hijack the reward system via direct manipulation to skew responses to predicted reward

Again, this applies to apps as much as it does to cigarettes. In both cases, you do get a short-term sensation of reward followed by regret and negative long-term consequences.
Because they also represent other people that have jobs. Neglecting those has already led to Trump and the international growth of right wing parties.
There was an earlier article (last year?) showing this is a simple feedback loop that could be fixed with a firmware upgrade to traffic lights:

If a red light sensor sees more than a 2? 5? second gap between cars, it will immediately switch from green to red.

People using cell phones at the stop light regularly create such gaps.

The gaps mean everyone waita multiple light cycles.

Knowing you will wait multiple light cycles encourages you to use your cell phone while you wait.
I agree that the initial review creation process is a bit complex with the GitHub flow. But most of the time, you end up needing to make changes to your diff based on review comments, etc.

Then there is hooking up PRs to your automation setup.

This is where the GitHub approach shines imo.
They could even consider HN darling and 100% Free Software Forge SourceHut, but it seems major FOSS brands are looking for maximising network effects (and associated lock-in) these days
(Replying to this comment as it's at the top, though the poster should read https://news.ycombinator.com/newsguidelines.html)

From the links in this article: he called Zoe Quinn a c-word (which many people have), tweeted "It's ok to be white." (which it is), and says he doesn't regard biological men who identify as women are women (which is a fairly common belief). QAnon is a weird conspiracy theory, but the rest don't strike me as particularly odd.

It's probably worth having a Code of Conduct which requires explicit hard left belief systems if you're going to exclude people with mainstream beliefs.
We can agree that it's better than the old days of only having physical releases, but ideally all music should be available DRM-free in any format you choose, for you to download and keep.

Piracy forced the record companies to finally get in on streaming and downloads. Now it's time for the dinosaurs to finally die, the only reason they still exist is because of nonsense copyright laws, where they hold the rights in perpetuity to the "classics".
>There was a track very similar to the salary bands that you see in a F1000 company (<title>, senior <title>, staff <title>, <pricipal> title, etc), the only difference was that salary advancement within a band was time based, with only a small discretionary component. IIRC, you could get a 1% boost for exceptional performance identified by management, in addition to the schedule. Job titles were broadly defined.

IIRC, this is how basecamp structures their team.
I don't use it for text-based comms while driving, but I'm realistically not giving up podcasts and internet-connected GPS.
> You can't push to origin unless it's your own project or your team's. We're talking about PR-based workflows.

Having to create a fork per PR is a rather antiquated way of doing it. In my experience, you can almost always push to origin and create a new PR from the branch, but maybe I've just been lucky with the projects I contribute to.

> It's not a constant cost, unless you're saying you only ever intend to contribute to one project ever. It's a fixed cost that you will pay N times, where N is the number of projects you contribute to.

It's a constant cost in the same way that looking up where to submit your patch to is a constant cost. You will pay both N times, where N is the number of projects you contribute to.
This code

fn some_wlroots_callback(output_handle: OutputHandle,
surface_handle: SurfaceHandle) {
output_handle.run(|output| {
surface_handle.run(|surface| {
// maybe some more nested layers...
}).unwrap()
}).unwrap()
}

is just screaming continuation monad. You see the same code pattern in early Node.js code (sometimes leading to callback hell). In the JavaScript world, the problem was solved using Promises, and then async/await syntax. But more fundamentally, this is an instance of the continuation monad at work.

The continuation monad transformer is defined as

newtype ContT r m a = ContT { runContT :: (a -> m r) -> m r }

and is nothing more than just a function that takes a callback. If this were Haskell, one could just write

stuff = runContT $ do
output <- ContT (run outputHandle)
surface <- ContT (run surfaceHandle)
-- and then maybe some more nested layers
-- etc

Granted, continuation code can easily be misused to produce an incomprehensible mess in Haskell (its full generality can be compared with goto), but with Rust's FnOnce trait, the scope for misuse is considerably reduced.
For many years now, it's felt like Apache software foundation is where projects go to die.

It's a shame its taken so long, but I'm glad to see this news - it's pretty much guaranteed to increase participation in Apache projects.
You can create a pr with the open source "hub" tool with a single command.
Why limit the practice to pharmaceuticals? In theory the government can be a middle man for any good or service. Why not have the government buy all the cars in country and the parcel them out to people at a fair rate? I think everyone (or most everyone) understands that would be a disaster. Switch the good to pharmaceuticals and suddenly it's reasonable?
It's sad how wealth affected Notch or perhaps magnified his character. A long time ago, I started following him on Twitter and I think I lasted about 2 weeks before I unfollowed him. The sheer negativity and woe is me is bananas. If there's a prime example that money doesn't buy happiness, he is one.
The word is associated with the cutting edge whereas the actual code itself I imagine is mundane and hacky
This is a great summary of how to live a long time, except I sleep more (8-9 hours, but I am also very active).

One thing I'd add is: avoid stress whenever possible. Learn perspective and don't sweat the small stuff.
Try the suggestions here:

https://humanetech.com/resources/take-control/
I do the same, but please think of the people behind you. If you ever fail to react to traffic in front of you going immediately, you have just wasted several minutes of the lives of everyone behind you, as far back as the backup goes (for example at a traffic light). I'm EXTREMELY diligent, but some folks apparently have no concern for others.
It's the new puritanical movement.
I'm scared by what I see on my bicycle. I'm terrified by what I see on my motorcycle-- drivers texting at 80 mph.

The laws exist, but I have yet to see an effective enforcement mechanism.
Maybe it is more enjoyable for women?
Google tracks your phone and shares it with police, even when it is off
With EVs that you can charge at home, that means that for your normal driving that you probably do 80 to 90 % of the time, you NEVER need to stop to "fill up" because you charge every night at home. The tradeoff is that when you do decide to drive more than 250 to 350 miles in one trip, you'll need to take at least one break where you charge.

If you optimize only for the long journeys, you miss out on the benefits from normal driving which you probably do a lot more often.
You could upload the .patch to something other than GitHub.
> C++ lets you have as many iterators as you like into the same container

While it's true that Rust doesn't let you have multiple mutable iterators, it's worth pointing out that you can certainly have multiple immutable iterators.

let items = &[42, 101];

// All products (a*a, a*b, b*a, b*b)
for x in items {
for y in items {
println!("{}", x * y);
}
}

println!("");

// Pairwise products (a*a, b*b)
let pairs = Iterator::zip(items.iter(), items.iter());
let pointwise_products = pairs.map(|(x, y)| x * y);
for product in pointwise_products {
println!("{}", product);
}
I'm not discussing morality. I'm just stating the fact that you can't deprive someone of profit by consuming content you can't otherwise purchase. You could theoretically indirectly affect sales though if your internet buzz is capable of moving the scale in whatever market the content is available.
You recently joined... any chance you have heard anything about a guy named James Damore?
If you have a profound negative reaction to someone purporting to advocate social justice, frankly I think it's very very likely the problem is on your end.

It's true that someone can advocate a thing ineffectively, or miss some finer point, or claim to be about justice but advocating something else. But one must consider their intentions. Likely they are good, and your alleged conflict with them is a misunderstanding. So don't take it as a personal attack and you'll likely be fine. If you feel they are excluding you, very likely they are not intending to do so. You can try to ask them politely if you have any doubt.

[Full disclosure: I am a left-wing person and likely you would call me an SJW.]
Watching the northern lights with naked eyes was a unique experience for me because they are kind of different than what you see in photos.

They are very dim and flow very slowly. Human eye can easily see them with their details in real time, but to capture them in photos or videos, long shutter exposure is needed. As a result, they look bright and blurry. The videos are even worse; they are all time-lapses which are bright, blurry, and fast moving. In reality, you have to wait minutes to see the light changing its shape and flowing around.
> Do you think the reasons most people don't express opinions like the ones notch has expressed recently is due to a fear of backlash over being considered 'un-PC' as opposed to not actually holding those opinions?

Repeated surveys show that the identitarian left accounts for about 8% of the population, and that their views are over represented in media, while people are genuinely afraid of being publicly lynched for saying the wrong thing.

The entire #walkaway movement started because of that.
Love this advice. Thanks so much for sharing!
> this applies to apps as much as it does to cigarettes.

How you you say this seriously? You are completely ignoring the direct biochemical effect of nicotine on the reward prediction system.

A computer application does NOT have this effect.
You mean: if passed certain traffic threshold a particular site gets automatically blocked, or, you hope your users will be fair?

Let's say that given your service is free and with custom domain, a journalist uses it to publish 100k worth of revealing docs in whistlerblower.com. Then a government acts and directs a DDOs to it. What will happen to that site? To other sites?
Pro tip: just get in an accident while distracted, and you'll never want to do it again.
I found it amusing to see pictures in the article showing Microsoft's design team using Macs instead of anything else running windows. No "eating your own dog food" here, move along.
He is right about Pizzagate being true and Q being legit? Enlighten us.
When I worked on GPU compiler backends the middle and backend passes basically were a collection of more basic passes that did one thing, in sequence. I wouldn't call this an alternative architecture. I think it's just an implementation detail of the dominant architecture.
Sorry if too OT, but I'm reminded of AWS's infuriating convention of using "on-demand" and "spot" instances to mean very different things.
Love this insightful comment. Me personally, I am a "status quo" person. It's my greatest strength and my greatest weakness. I'm the kind of person who can take an old used car and keep it going forever. It never gets fully restored but it doesn't get any worse, either. It may even get a little better over time with some new gauges and hi-end replacement parts.
who else idiot think Tibet as an individual country? That place belongs to China hundreds of years, and at 1950s, it already been fully controlled by the central government till now. And you saying, it's an individual country?! Should Mexico declare California still belongs to it?
Yes, I know many, many people who don't express their non-far left opinions for fear of losing their jobs. They are not extremists, quite the opposite, they view the current cultural zeitgeist of tech companies to be extremist but can't speak up against it.
I haven't been following him and his comments. And I agree it's important to call out false statements.

But believing in and promoting demonstratively false and damaging ideas is much more common than people realize.

For example, many good people who are more important and educated than game developer falsely believe that President Trump said that white nationalists and neo-nazis are fine people.
I'm not sure it really won the spirit of the 0-100-0. Yes it completed the task faster, but it also required more distance, implying that it takes significantly longer to brake. A quick search suggests this is a known Model 3 weakness.

Edit: It would have been more honest to have one test of acceleration and another of only braking. Also, the Tesla won the hot-lap but had significant body roll that made it difficult to stay on the track... This video is really only appealing to people who already like the Tesla.
> Nonetheless, if I was king, I'd consider explicitly banning any class or method from having more than 255 type parameters.

As he says there is probably no use case where you need so many and the additional overhead of time to implement this is (in my eyes) a bit wasted. But he can be actually the king by contributing to the openJDK project.
He's pretty old, I was making a statement about the future. Bit sloppy nevertheless.
Interesting. To quickly check this out on Windows, how about including a pre-compiled demos[1] app?

[1] https://github.com/area9innovation/flow9/blob/master/demos/d...
One aspect of climate change that I found/find difficult is being forced to think about mortality of myself & mortality of "civilisation". But on another hand: this isn't specific to climate change: personally, I was always going to die at some point, of something. At a larger scale, historically, all civilisations eventually collapse. When civilisations collapse, this does not mean that all individuals involved perish, although some may. Other individuals involved switch to new patterns of living, when the costs of being involved in the civilisation exceed the benefits offered.

So from one perspective, as individuals & as societies we are all living on borrowed time anyway.

> Life is probably over in 50 years

I suggest that this is an exaggeration.

Personally, I find it very frustrating to deal with things that I have little control over -- when I focus more of my time & energy on things I can largely control, I can see results from my efforts relatively quickly & directly. I don't personally feel responsible for "saving civilisation". This isn't a particularly moral or ethical position to take.

But, enough philosophising, what actions to take?

The problem is caused by environmental impact of a very large number of people multiplied by the environmental impact per person. Someone with a high energy high pollution lifestyle in a developed country may have the same environmental impact as 20-30 people with much lower energy or lower impact lifestyles. Anything you personally do to change your behaviour or reduce your impact is essentially negligible. Taking actions that influence and reduce the impact of large numbers of other people seems more helpful. E.g. activism, or any helping roll out policies that reduce population growth, particularly in countries with higher per-capita environmental impact.

You may also wish to consider hedging: suppose the global economy & global human population keeps roughly doing its thing, business as usual, and not changing sufficiently quickly to limit climate change, how do you want to live your life? "Adaption" rather than "mitigation".
Show HN: Simon – open-source automated machine learning
Hello HN crowd,
I would love to show you open source project I've been working on for the last year or bit more, SIMON (https://github.com/genular/simon-frontend)
In short, it is an autoML platform, with a primary goal to be used as a knowledge discovery application.
This is an initial release of it so you can consider it as heavy beta :)

You can check it and read more about it on the project GitHub page, or on the official website (https://genular.org)
If you wish you can check screenshots of the SIMON here https://genular.org/simon-screenshots/
or watch this demo video I made here https://www.youtube.com/watch?v=Oc_LvH85Uaw (it's not really nicely edited since I had a hard time doing editing on my Linux machine)
I also placed an announcement on Product Hunt, if interested: https://www.producthunt.com/posts/simon-2

I would also like to give huge credit to my wife https://twitter.com/TomicAdriana since without her support SIMON would never exist!

I wish you all a very nice start of the week,
and hope that maybe some of you will find SIMON very useful in your research!
I assume the insurance company has you download an app on the phone with an offer to lower your rates if you are a good driver.
yelling on Tibet's street, not here.
Right, you set origin to the branch you own, and upstream to the original project. Then `git push origin foo` works, and you can get a URL printed directly on commandline to start the PR flow.

I agree it's a cost per repo you contribute to. However, you can also do it reasonably cheaply with scripts. I recall you have to use hub in addition to git commandline, but once you get it set up then it's basically zero extra commands if you bake it into a clone. Run a script that does the fork to your github username and clone to your local box, do your normal modifications and commits, then git push origin and click on the URL to get dropped into the upstream PR workflow.

The fork bit only needs to be done once.
You can tell people to commit suicide if you have no malicious intent. For example if you think by dying you will go to a better place, then that's fine.

Antivaxxers genuinely believe that vacinations cause illness. That they are wrong doesn't make their speech illegal.
You can look at comics from the past and see what people of the time thought the big problem was. In the 80s, walkmans were going to be the death of humanity. In the 1900s, people reading the newspaper instead of talking to random strangers around them was going to be the death of humanity.

The common thread is that people do not like being bored, but some boring things are required each day. We filled the idle time with newspapers, music, and now reading newspapers and listening to music on our phones. It's nothing new. I am not worried.

The underlying problem is that commute times are too long for people to remain attentive to the mind-numbingly boring task of driving. That is what we should focus on fixing.
> I would suggest new code uses the new, formal ways of obtaining the same result

I missed that. How else do you wrap an error with xerrors?
> you can almost always push to origin

Why am I having to repeat myself here? You can never push to origin unless it's your own project or your team's project.

> It's a constant cost in the same way that looking up where to submit your patch to is a constant cost. You will pay [...] N times, where N is the number of projects you contribute to.

In other words, it's not a constant cost.
Google is most definitely trying to stay in line with embargo rules. It is illegal to export anything to Iran without an explicit license. And this is one of those few laws that permits piercing the corporate veil to go after those involved in the export. Google execs, project managers, and maybe individual engineers, can be gone after directly if they chose to send these things to Iran or Syria.

Motherboard is trying some kind of shaming ritual on Google, but it won't work, because those laws are very potent.
ESilicon Signs Multi-Year Agreement with Google Cloud
Eh, I don't think so, since it was a comparison to a very different context. But I see how it can be read that way.