skysight-inc/HackerNews huggingface dataset:
Nixon is "the worst" because he was the one forced from office. But he wasn't actually removed through legal process. They started the process, but he left on his own before it came to anything. Clinton was actually impeached, but did not leave. I dont think the US has ever removed a president legally. They have quit, which isn't the same thing. Korea is ahead in that regard. Im not sure how/if the american system might handle a legal forced removal.

In nixon's defense: read his wikipedia article. He wasnt a monster. Many good things came from his presidency.
A tuple is an object; it's a perfectly proper way to return multiple values from a function, out parameters are not. In fact I'm unsure what your comment has to do at all with anything I said, I'm discussing out parameters and why I don't like them and why it's better to return and object and then you say no return a tuple, which is an object, an instance of the class Tuple. You seem to be trying to disagree with my statement but you've actually supported my point.
I understood what you meant. What I'm saying is you have the chose of whether you will allow shapes to be an option. An always-random key pad makes it physically impossible to use shapes. That is "taking away the shapes option". It's not just the way some people use keypads. You can stop them from doing it on your keypad.
There are a lot of legitimately great features that have been added for power users and developers since Windows 7. To give a few examples of things I make use of literally every single day:

- Windows Subsystems for Linux. I don't think this needs any further introduction.

- Client Hyper-V. It's a type-1 hypervisor that just works out of the box with completely seamless GPU passthrough (only to the root OS, i.e. the Windows 10 instance with Hyper-V enabled, but it's enough for gaming and running neural nets). Docker for Windows depends on this.

- Storage Spaces. A storage pooling system that supports thin provisioning, mirrored and parity redundancy, tiered caching, bit rot detection and correction (when used with their new ReFS filesystem), and works seamlessly with removable drives (I use a cluster of 2 2.5" external 4TB drives in mirror mode because I travel a decent amount, and 2 2.5" external drives are so much more pleasant to travel with than any NAS on the market).

- Huge improvements to window management, including virtual desktops, arrangement by snapping to all 4 corners on every monitor on multi-monitor systems, a super intuitive UI that lets you choose a different window to snap to the other side with 1 additional click, along with keyboard shortcuts for everything.

- First class pen support. I have a convertible laptop with a Wacom pen, and some of the features in the ink workspace like sketchpad and screen sketch have become indispensable to my workflow, and so damn convenient to use.

Windows 10 really is an excellent OS in its own right. It's such a shame that they keep undermining all the progress they've made by pulling crap like this.
Kramdown – A Ruby library for parsing and converting a superset of Markdown
Given how not great Steam's Linux push worked out, it's not entirely surprising it stays the way it has... for now.
Of the three things you can find to praise Windows 10 for, two are power user features that Microsoft has long provided through power toys and sysinternals utilities. The last one sounds like Microsoft rediscovered Fitt's Law. I'm not prepared to give them any kudos for fixing such a glaringly obvious and simple flaw.

But on the other hand, the list of things that a typical power user or privacy-conscious user needs to tweak continues to grow, and some of them can only be disabled on editions that aren't available to consumers.
`gb` has a package-management-only version in `gvt` by @FiloSottile .
>>I understand why people may dislike being "forced" to do updates, but it's very much Microsoft's monthly flu-shot. Just because you're scared of needles, doesn't mean your above getting the flu.

The difference is that sticking needles in people requires their explicit consent.
If you're looking for something in the iterim, noclip produced a documentary on the making of Doom (2016) that's pretty engaging. It briefly discusses the Zenimax lawsuit but doesn't go deep into it.
Building a treeview in Aurelia
Did you read far enough to see the tuple return value syntax?

var (first, middle, last) = LookupName(id1);

Seems like what you're suggesting, no?
the atom was then given 30 days to move to a "core" molecule.
Windows 10 is displaying OneDrive ads in File Explorer
I'm using tput from the ncurses package for setting colors in a terminal-aware way. You can do it with raw escape codes and most examples show it that way, but you can end up with different colors or non-functional colors on some operating systems (older macOS, among others). Using tput should smooth that out, assuming the terminal is reporting its capabilities and behavior correctly in termcap (as I understand it).

For example, I use the following to setup colors for printing log output to the display:

readonly LOG_DEFAULT_COLOR=$(tput sgr0) # Clear colors
readonly LOG_ERROR_COLOR=$(tput setaf 1) # Red
readonly LOG_INFO_COLOR=$(tput sgr 0) # White
readonly LOG_SUCCESS_COLOR=$(tput setaf 2) # Green
readonly LOG_WARN_COLOR=$(tput setaf 3) # Yellow
readonly LOG_DEBUG_COLOR=$(tput setaf 4) # Blue

Note that the colors are somewhat arbitrary based on the palette your terminal is using. Most palettes I've seen are kinda close to right, though green often looks olive/yellowish, and others are really washed out, in the current crop of popular palettes (like Solarized). But, it does provide color. I linked the logging library I've been using in another comment, which includes POSIX-compatible examples of using colors like this (tested on recent-ish dash, bash, zsh, and ksh).

As soon as I figure out how to reliably detect Unicode in a terminal in a POSIX compatible script, I'll publish some other utility functions that use Unicode.

The resources are pretty spread out. The tput manpage is utterly opaque, to me, as it covers a bunch of stuff that isn't relevant to "make it pretty" scripting. Mostly I've just been googling a lot. Unfortunately, the vast majority of examples on the web are for bash (also bash is easier to google for), so I'm having to trial-and-error my way to a POSIX compatible implementation.

I don't know of any way to use sh directly with ncurses itself, though there are programs like whiptail and dialog that'll harness some ncurses power for your scripts. I guess they're OK, but as I mentioned in another comment, I find dialog TUIs to be clunky. I don't want a windowing style GUI that happens to work in the CLI; I want a CLI that is traditional "run a command, get some output", but the "output" part just looks nicer, and is maybe animated in some way if it makes sense (a spinner or progress bar, e.g.).
"Show sync provider notifications"... Talk about obfuscating the preference so nobody can tell this is actually connected to advertising.

Disappointed in you, Microsoft.

And I say this as someone who's been really enjoying Windows 10 and Microsoft's recent opening to the world at large.
htop - http://hisham.hm/htop/
A meritocracy is, by definition, a system where participants succeed based on relevant ability and talent. Meritocracies do not involve pushing others down, only pushing yourself up. Backstabbing is a textbook "down" action.

A system that encourages people to backstab to get ahead is effectively just a medeival court, in which employees act as petty nobles jostling for the king/boss's approval.
It's the police in my sanctuary city that want the "sanctuary" status. Our police should be free to prioritize using their limited resources on pursuing important threats to the safety of our community, and illegal immigration is just not the threat that flyover methlab-country is convinced it is. Our immigrants fearing using public services, fearing reporting crime to the police, that stuff hurts our city.
The results are from including all of bootstrap, even though you only use 3 parts, plus a theme that doesn't do a custom build, that overrides it all, then a couple other components with their own huge CSS, even though you're only using 1.

Without being judicious, it's easy enough to see happen.

Not to mention a few resource embeds to shave load time (fonts, svg, images, etc).
I'm completely convinced by 'Wut', I guess.
I find it hard to believe that someone as smart and well versed in copyright and patent law as Carmack would not be able to understand the terms of his employment contract.
Reading the description of the political climate upthread, the majority in parliament in SK is opposition, split between two parties. Here, the R's have a majority in the House which impeaches, so our chances are unfortunately not that great.
If only this were android I'd back it and even sign up for the beta package on kickstarter right away. Sadly ios with no mention of android :( Looks cool though, repost when there's android..
Then there's the desktopified apps (spotify, slack, even VS Code), which work surprisingly well. Of course when React Native desktop environments stabilize, that may become a much more preferred target.
I prefer higher order functional programming, TryGetValue looks ugly to me, I'd rather do...

dictionary.WithValue(aKey, value => DoStuffWith(value));

The dictionary knows whether it has a value or not, I shouldn't be making decisions with if's about a dictionaries data when I can just hand some code to the dictionary and let it do the right thing.

Your other example.

if (TryThing(out res)) {
// Do stuff, use res
}

I'd rather a simple extension to Object enabling this on any value including null...

TryThing().IfPresent(thing => thing.DoStuff());

I'm an old Smalltalk'er, we're accustomed to building such control structures into the class library rather than trying to use an if statement for everything. Once you have a clean syntax for lambdas you have the ability to create a better experience than constantly writing procedural code using the common if/while/for/foreach constructs. In Smalltalk we'd do something like...

dictionary at: aKey ifPresent: [:value | value doStuff ]

That's much better than asking if the key exists with an if, or accessing the dic at a key and doing a null check with an if statement on the value.
Better. But the id1 argument can still be mutated by LookupName in this scope, no?
It is a wash, but judging from the comments the heavy rains/gloom come in the winter... so it could be a real explaination.
But what you need it to do, may not be what I need it to do... and even then, there's features I may find superfluous that you find essential.
When comparing the two, I think the fundamental question is what advantage does this package have over using the Stripe API directly?

Here's Cashier's mission statement:

> Laravel Cashier provides an expressive, fluent interface to Stripe's and Braintree's subscription billing services. It handles almost all of the boilerplate subscription billing code you are dreading writing. In addition to basic subscription management, Cashier can handle coupons, swapping subscription, subscription "quantities", cancellation grace periods, and even generate invoice PDFs.

In my opinion, Cashier fails to achieve its purported goals. First of all, the Stripe API is already a joy to work with and there's little value in trying to improve it by hiding API methods behind a bunch of smoke and mirrors. Second, Cashier doesn't significantly reduce boilerplate code. It actually traps you into its limited and opinionated way of doing things. It's a net negative for anything but the most basic of use cases. In my experience, I had to write additional billing code to get it to do basic things it should have been able to do in the first place. It got to the point where it just wasn't worth it anymore and starting from scratch was the better option, hence this package.

Here's just one example: I want to create a Stripe customer, without a card up front, trialing on a subscription. A super common SaaS use case. You would think that Cashier would make that easy, right? Nope. Instead, you have to manually set a custom 'trial_ends_at' field on your application user, deal with this hacky onGenericTrial() method to determine if your user is on a trial without a subscription (which I needed to create!), and in the end no customer or subscription is ever created in Stripe. Instead of using Stripe to do what it's made for, Cashier handles this itself, creating an unmanageable nightmare. What's even worse is that your application is effectively out of sync with Stripe.

The package I created avoids these headaches. It provides a wrapper around the Stripe API that automatically syncs Stripe data with your application whenever you make an API call or Stripe sends data to your webhook. This way you aren't locked into any specific way of doing things and you have total control over your data.

The only disclaimer I want to add is that my package doesn't plan on supporting Braintree, which is only used by about 5% of Cashier users by installs according to Packagist[1][2].

[1]: https://packagist.org/packages/laravel/cashier

[2]: https://packagist.org/packages/laravel/cashier-braintree
> Why wouldn't it?

Because hours worked doesn't affect salary. What's more, you keep assuming that there aren't counter-examples in this dataset at all. It's just a given to you: "I read on Forbes that across all Americans women work slightly less per week" and brought that to this conversation.

But in this industry long hours are the norm, single people without family duties are the majority, and many compensation models very much incentivize long hours.

> You can't just ignore hours worked because "salary".

Unless we're talking consulting, that's exactly what Salary lets you do.

> Much smaller than average for the tech industry.

The average pay bracket difference is indeed smaller. However, it's still large enough for concern, and the other issues I listed around work culture are problems that disadvantage women more than men in modern society.

> Perhaps it's in our interest to make these factors explicit rather than implicit?

I am always in favor of transparency and more analysis but I will not let ANY interpretation of the specific data we have on hand be constantly forced off on the grounds that we could collect better data.

Saying, "Women get paid less, let's make sure that's not happening" is a call to action, not an accusation leveled at anyone specifically. If women in your organization aren't being paid less, congrats. Job done.

Let's be clear: You're effectively trying to stifle and derail the entire conversation on the grounds that it might not be happening everywhere, or that statistics might not be what popular media claims they are. That's counterproductive and frankly unwelcome. If that's your take, your take stifles the discussion here.

We can simultaneous recognize that tech is a more complicated compensation environment and also that women are reporting under-compensation. We're all adults capable of multi-tasking.
Now that's a really interesting theory.
> int x, int y = p.GetCoordinates;

Obviously this can be done with the new tuple syntax, but in general I totally agree with everything you've said about 'out'. It is one of the ugliest language features ever, sometimes I wish MS would just say "To hell with backwards compatibility", and throw 'out' on the fire.

// Function definition
(int x, int y) GetCoordinates() =>
(100, 200);

// Invocation
var (x, y) = GetCoordinates();
If this is your only programming job then there's a good chance you're oblivious to a lot of problems and at that level of experience you shouldn't be expected to know better.

One of those red flags is having junior Devs working unsupervised on critical stuff.

I don't mean to sound rude or condescending, just that you have a lot to learn and I very much doubt you're learning good lessons there.
I set a group policy when i first installed it over a year ago to disable all telemetry and advertising. I have never once seen any of these big stories people keep posting about Win10.
Phone Camera Prank (ORIGINAL VIDEO)
Ancient technique can dramatically improve memory, research suggests
The idea of free will is thorny. Even philosophers who work on it a great deal have a hard time figuring out what anyone means. This is my conclusion, after much thought: All events necessitate causes, therefore no event, including human action, can be self-caused. Quantum physics doesn't save free will. Randomness and unpredictability are just as constricting to human will.

The entire question is super fascinating. It's one of the last remaining delusions of humanity. Many otherwise thoughtful people are uncomfortable considering the question at all.
wow that's interesting.
I agree, if it can live in a byte buffer and not crash the transport mechanism or hash function then it's good enough for me
The Windows 10 upgrade was officially free for a year to encourage people to upgrade, which they wouldn't normally do. Microsoft made Windows 10 exactly the same as Mac OS, iOS or Android: you pay for it when you buy the hardware and the OS upgrades are free for the life of the device.

Also, Microsoft is not currently monetizing users, except via Bing. Microsoft does almost no ad selling (it farmed ad sales out to AOL), and it's the opposite of Google. There's roughly a 95/5 split, but with Microsoft, it's more like 5% ad revenues.

Unlike Google, Microsoft doesn't read any of your content (eg emails) for advertising purposes.
Hmmmm, just some brainstorming here:

You should be able to convert your smartphone's HD display into a low-resolution light field display by attaching a special lens array. It's like the lenticular 3D displays (they refract two rows of pixels in two different directions to create a stereo image), just omnidirectional.

I'm not sure how complex the manufacturing and calibration is but in theory we could create an attachable lens array for smartphones and use it to display a low-res light field, couldn't we?
I think this may be why the US has a strange fascination with electing actors to high political offices - they may cross a lot more partisan lines than any other celebrities that are actually professional policy makers or journalists.

I also think the other cultural difference is that education and science is still highly respected as institutions while confidence in these institutions has been attacked and subsequently declined for decades. This makes a lot of national discourse for what should be otherwise simple discussions much, much harder. This, at the moment Obama's commentary as he exited office is about right - emotion has triumphed over reason and facts.
Google’s reCAPTCHA finally becomes invisible, will detect spam bots
Google Hangout new Avatar after ovetake Slack
Is that intended as a defense of Python's ability to enable clear, concise, expressive code? :)

More seriously: Yes, you are obviously correct. But while you can use if/else, you can't use a ternary, and you can in Ruby. That's why people complain about the lack in Python but don't wrote the same article about Ruby.
Thanks a lot for clearing that up! The gateway seems difficult to use without the dashboard, and I gave up on installing the dashboard at the point in the instructions where it said I had to get a trial license. I didn't realize you could keep renewing the "trial", as long as its just a single node. I'll give it another shot, because we might be able to get by with a single gateway, and if not, the non-profit discount sounds promising.
Believes in sky-wizards and Intelligent Design, yet bitching about the lack of scientific rigor w.r.t. climate change.

Real consistent, Scott.
it gets worse.

In the enterprise space you used to buy "Software assurance" to make sure you were always licenced to have the latest version.

NOW, with Win10, Software assurance is the reverse. you have to PAY EXTRA to make sure that your win10 version DOESNT get new feature updates. To keep it at certain level. (ie prior to when they started pumping it full of adverts).

To me thats a stand-over tactic... "Nice OS you got there... it'd be a shame if something was to 'Appen to it..."
I guess I don't see the problem. It's not meant for reading, so don't read it.
As a fellow Korean, please don't feel embarrassed.

Unnecessary embarrassment at the sight of anything that could possibly cast a negative light on our country is one of the major causes of the trouble that we've been in. It makes us prone to hide our problems and pretend that everything is all right. It makes us blind to the shortcomings of our preferred political leaders. It makes us resent the few brave journalists and activists who dare to bring these problems to light. All of this hampers progress.

The same misguided sense of pride and embarrassment is at the root of Japan's constant refusal to admit their war crimes. They feel embarrassed that they are grandchildren of war criminals. But if they keep thinking that way, they will never be free of embarrassment. The only way forward is to do admit that something bad happened and to take pride in your passion to fix it. I truly hope that all Asian cultures can learn this, including Koreans and Japanese.
Agreed, I've never had a problem lining out/rephrasing part that I felt infringed on my personal time/usage too much.
Depends.

Based on my hazy memory of C#, if id is a struct/value type it is copied, but if it is a class type, there's nothing preventing the method call from mutating it.

Which is unfortunate, I agree.
Why the COIN ETF Will Receive SEC Approval – A Detailed Analysis
Right.. and if she assaulted CO's to the point where it required three tazings, do you really think she'd escape without a charge?
3D movies are a misnomer, they're actually forced perspective.
> I think using ad-based monetization

Can you give me some examples of ad-based monetization, please? I'm on Windows 10 Pro with suggestions turned off, so all I've seen is a popup that suggests using Edge.

I don't see this as being particularly different from Google showing me an advert for Chrome every time I do a search....
> Not if you sign it.

Not always. The law can override contracts.

Some states (especially California) put limitations on employment agreements. There are specific rights you have, where if you voluntarily sign a contract that explicitly gives up those rights, the contract is wrong and you still have the rights. Specifically, non-compete clauses are mostly invalid, and there is a limit to how much a company can own IP you produce outside of work.
> There is no situation where it's okay for LE to shoot or tase someone because of words.

ftfy
Develop an amazing ecommerce app
I forgot to say: the entire service is free!
You're of course correct, I updated my comment.
> GCP as a product is really awesome. I've been using GCE and Datastore for a project and they just work. I just can't trust Google enough to bring all my works to their cloud.

I work in GCP and can say that we definitely realize this is an issue and are doing our best to address it. We definitely know that trust has been lost and it takes time to regain it, but hopefully you'll give us a chance again sometime.

I am fairly new but it certainly feels as though GCP is a bit different than the other parts of Google. I suspect this is especially true since Diane Greene came. It definitely feels like everyone knows we need to adopt a different culture to be able to sell to enterprise customers.
Google Inc announces first Canadian ‘cloud region’ in Montrea
You've identified a real issue (the functional features work badly except as one liners), and a good fix (only use them as one liners).

I think the cause has everything to do with some poor choices around the parser and syntax, however, and nothing to do with its imperative nature as such.
Thanks, that's some useful history to know. Any data points from other countries?