skysight-inc/HackerNews huggingface dataset:
After 20+ years of listening to the tabs-vs-spaces debate and considering all the legitimate points that both sides have, many have made the following observation and it's what resonates with me the most:

In an ideal perfect world, _all_ of programmers and _all_ text editor tools would use tabs specifically for indentation and spaces specifically for alignment. But, we don't live in that perfectly coordinated world so spaces maintains the most fidelity -- at the expense of programmers not being able to instantly customize the indentation from widths of 2,4,6,8.

Therefore, the slight edge goes to spaces even though I find tabs extremely attractive. (That conclusion is in the context of a team of multiple programmers, using multiple languages, multiple text editors. If you're solo and can maintain "tabs discipline", that's a different scenario.)
> I recommended Tk specifically for making a GUI quickly. It is good for prototyping and rapid iteration and has neat widgets like canvas and the text editor that help a lot with that. Tcl with Tk is expressive, so you can do a lot in under 1000 lines of code (toy example: [1]). The Tcl REPL helps more still, as does a great binary deployment story. After the prototype or MVP, once you understand what you want to do better, you may stay with Tk if you decide it suits your needs or switch to something else.

Actually, I would argue the opposite. I found it easy to create GUIs using Qt Designer and to use connect() to bind functionality together. (Albeit, this was with Python, it might be harder in C++).

> widgets like canvas and the text editor

Is there something particularly unique in Tk's canvas and text editor?
As for my preference, well let me just say.. screw makefile! You've got it all wrong!!
Google Analytics for Particularly Curious SaaS People
Yes, my interviewing generally scaled up in difficulty as the interview progressed. I don't like the idea of putting so much stress on nice people, but it's shocking how many people interview for system's level programming jobs with clearly made up resumes.

One young person showed up with a resume listing about 10 programming languages. I simply went through the 10 and asked her how to write a comment for each language. We didn't have to go far before she admitted that she really only knew Pascal very well.

To be fair, there were a lot of people that would have made good employees be didn't happen to quite fit the job we were trying to fill at the moment. The matching process often involved a significant degree of luck and I sure that I missed out on many people I should have hired.
So knowing nothing about this subject, why do they pursue landing rockets, or at least landing them vertically? It seems like the hardest possible way to handle this problem, as opposed to for example what the shuttles did. Can anyone explain the reasoning behind this?
Interesting. But then, I would say it's part of the teacher's job to prepare his slides and exams, he shouldn't charge the students because he didn't have time to do his job. If he wants some ease in his teaching preparation, fine, but he should be the one paying for it.
I mean, if the textbook has everything, the teacher could as well not even bother to come and teach the class, since the students already paid for everything.

In our high schools, exercise books are mandatory, but they are bought by the school and usually last more than 5 years (you don't keep them). Couldn't it be the case in US colleges, if teachers really want to rely on some textbook?

Also, to answer the other comment, making students pay for your own textbook is completely unethical, especially for academics who are supposed to hold to a minimum of work ethics. So, I'm surprised it's so widespread.

I know that I don't live in the US and that mentalities are different in every country, but here I see that teachers make students pay because they don't want to prepare their classes and because they receive royalties for every sold textbook.
We will have to wait for a code leak ;-)
It took me several reads to figure out how you could use a blog site to share passwords. And this is why you don't read HN before coffee.
What if actual there were a licensed Taxi service that offered the online/app capabilities of Uber? Do you think that would compete?
> The carrier weight is significant because its proportional to the amount of substance

This is not true. I can take a clean sheet of paper and dissolve as much LSD (or as little) on it as desired. 1g of near-pure crystal will definitely contain thousands of doses. 1g of paper could contain anything from 0, 1, 10, or 100 doses or more.
International Reserve System За $100 биткои
I relate to your condition and I have a similar cognitive interruption when and where severe anxiety kicks in. For me it includes a change of color and I sweat profusely. There is no hiding it.

I have always just powered through because I have found that once it passes I return fully. For me it is about some magic comfort level. Once I get there and it usually takes a little time(weeks not minutes or hours) this isn't an issue anymore. Interviews are the worst because I don't have that time and they are usually with people you don't know, which is at least part of the trigger.

I didn't want to use any medication to treat it, but I have helped to manage it. For me an exhaustive workout a few hours before the interview helps. The other thing is diet, in my case, if I focus on high-protein and low carb and that also seems to help.

These aren't recommendations, but I relate, and I thought it might be helpful to look at broad approach to managing it on your end.
def do_something(
param1, param2,
param3, param4
):
...

It's not that hard. Alignment is generally harmful - it's a maintenance burden which adds whitespace noise on diffs, which means more noise in code reviews. Not to mention how atrociously ugly it is when long variables/method names lead to 5+ lines with 60+ characters of indent for a single variable name per line.
On vim (I am sure as hell you can do this on Emacs) you can always define your tabs to be spaces and you can specify exactly how much. So this is really not a big problem.
Your Database is Underutilized
This reply seems a little unhinged in comparison to the preceding comment.
Not all editors are smart about tabs and spaces, and when the two start to mix things get really funky if everyone doesn't have the same "1 tab = x spaces" value set on their editor.

For example:

function_call(really_really_really_really_really_argument1,
really_really_really_really_really_argument2)

Say that this is supposed to be at one indent level. The beginning of both of those lines should contain only one tab, and the spacing that positions the second argument from the indent should be only spaces:

<tab>function_call(really_really_really_really_really_argument1,
<tab>SSSSSSSSSSSSSSreally_really_really_really_really_argument2)

If the text looked like above (each 'S' is a space), then one's editor could easily change whether or not a <tab> was displayed as 8 spaces or as 4 spaces, and the display wouldn't be affected. Many editors, however, consider all spacing at the start of the line to be indentation. If you were using one of those editors with tabs set to (e.g.) 4 spaces, the code might look something like this:

<tab>function_call(really_really_really_really_really_argument1,
<tab><tab><tab><tab>SSreally_really_really_really_really_argument2)

Now the code only looks the way it was meant to look if you have you <tab> = X spaces value set to 4. If you set it to something else, the code looks like a mess.
That puts it into perspective, thanks.
Interesting that unprotected metadata is something that the US army is willing to accept.
What I found interesting (or very, very boring, depending on how you think about it) about this when I first saw it is that this ability is just due to the nature of how receive works. That is, you can receive any kind of message, at any time. Want to listen to a different set of messages? Just call a different receive clause, be that in a different function, or inline.

I remember having a coworker who was in love with Akka. He was trying to sell everyone on it, despite my team's having a strong Erlang presence. He showed us Akka's "become", talking about how powerful that could be, and how Erlang didn't have anything comparable. He didn't seem to realize that Akka's needing a special keyword for it was actually a limitation rather than a feature, that Erlang didn't have a special keyword to allow you to do it because it didn't -need- a special keyword to allow you to do it. That's not a dig at Akka, or Scala (it's an impressive language in its own right), but rather to point out how sometimes we miss the complex capabilities a simple set of abstractions can give us.
Tess, i don't remember that character in the saga? Or do you mean Jess, as in Jessica?
> Enter Golang... a language smaller than even ANSI C. It's readable because if you've worked with Golang for more than a week, you basically know every language construct you'll encounter.

That's not really what readability is to me. For example, I consider this idiomatic golang code (from the standard library, no less) to be entirely unreadable:

https://golang.org/src/crypto/tls/handshake_messages.go#L297

For me readability is more about suitable levels of abstraction. Languages can affect that by making abstraction longwinded, or expensive at runtime, or hard to compose.
Regarding eggs and cholesterol its interesting to research the evolution of scientific "consensus" around this (and particularly the types of cholesterol particles and their relations to cardio vascular disease)

After decades of "cholesterol and fat are bad for you here's our diet/sugar free stuff, eat as much as you want"

We seem to be coming to the point where alternative explanations seem to be taking hold.

I guess in 1909 eggs=cholesterol=heart attack hadn't entered the public mind yet?
Not sure why you chose that source, but one second searching google for "acne diet research" returns this from the AAD no less:

https://www.aad.org/media/news-releases/growing-evidence-sug...

Yes, the cause of acne can be different from person to person, but if you really think that the building blocks (ie. food) of our body doesn't have an effect on our largest organ then you are being willfully ignorant. From my experience, many Dermatologists still deny the connection for whatever reason, but I have come across many instances (including my own) where cutting back on processed sugars and dairy has drastically impacted the levels of acne someone has.

My sister-in-law is sitting across from me and is currently dealing with the acne directly related to the amount of sugary drinks she has started consuming since moving (Thai Iced Teas are addicting)
Hyperledger Has Grown 170% This Past Year, Says Project Team
The drive to satisfy our curiosity is a human need and what drives scientists.
My other personal feeling is that it's easy to auto-check we aren't using tabs (just search for tabs, and reject if any are found).

Depending on how you choose to format, it can be arbitrarily hard to check tabs are being used correctly.

For example, many people want to do some space indenting, such as:

<tab>void my_function(int arg1, int arg2,
<tab> int arg3)
<tab><tab>{

It's (I believe) impossible for a language-agnostic tool to know this is "correctly tabbed", but (for example)

<tab>void my_function(int arg1, int arg2,
<tab> int arg3)
<tab> {

Is not.
Mostly dual income households (with kids) with white collar jobs (accounting, engineering, etc). Not difficult to have that income. I'm in the 66211 zip code, but not in Leawood. Wife and I are both engineers. My base income alone is more than that household. Household income is double that.

The real kicker is ratio of home prices to household income. Schools are good here (no they don't teach creationism), low crime; You have to be nuts to live in SV.

Though even the individual income is higher, so case of high $ SV single brogrammer vs dual income family does not hold.

Interestingly, 66211 is very high with $443k AGI and $177k wage. The $443k AGI must be the the retired execs.

http://www.city-data.com/zips/66211.html
Unless you're using golang,in which case gofmt will correct you. Hence the overwhelming consensus of the go row for tabs.
Most diff programs have an "ignore whitespace" option. "whitespace noise on diffs" is pretty much a solved problem. You can even add '?w=1' to a Github URL to turn on the feature.
Because $deity forbid that someone would actually learn something when reading news.
Great tool for online presentations! I especially like that it works on my smartphone without the need to install an app!
Show HN: Codervault – Open-Source, Self-Hosted Snippet Manager
I'd bet most of the code ever written gets styled however the IDE du jour decides to by default.

If some IDEs decided to switch to tab indent by default, people would suddenly love tabs.
I created this snippet manager because I never found a similar one around the internet. This is my first experience with Rails, what I want with this project is to learn more about this framework. Feel free to give me your feedback, thanks!
‘Star in a jar’ could lead to limitless fusion energy
They make enough money that they've been able to fund the construction of a new generation of satellites. The first batch is due to launch next month.
Even in the bog-standard sort of software I write, I rarely find that choosing and applying a pattern is "mechanical".

Even if you tell yourself "oh, I'll use Observer", there are still so many details that can make your solution be boring and alright, or actually clean and magical. Foresight into how your structure will evolve, making things easier to test and read, separating the _right_ concerns.

I have copied stuff from Stack Overflow but always for solutions to a couple lines of code. I don't know what Stack Overflow answer I can copy for the general structure of my code...
"One vote per file: Some files use a mix of spaces or tabs. We’ll count on which side depending on which method they use more."

This makes results completely useless, as files of people who really do not care will count for one side or another randomly.
Why land? Fuel makes up a very small percent of the launch cost of a rocket. Landing also allows a much better experience for cargo and crew return, and it makes it possible to bring equipment to other planets or moons.

Why vertical? Vertical landing is much more flexible. You can land on a barge at sea. You can land on the launchpad itself. You can land on a planet or moon with no atmosphere.
I couldn't care less about this, and I generally feel out of place when other programmers ask me about my preferences on this topic. I have written code in different programming languages, and just naming Go and PHP where Tabs and Spaces are the standard respectively — PHP mostly because of PSR — I simply don't pay attention to the character(s) used for the indentation, the tooling already does that for me, being gofmt for Go and PHPCS for PHP, and there is probably the same tools in other languages [1]. I never understood why people complained about this more than other (more important?) things in the code like the position of braces which is also a flame war between developers but it makes more sense than caring about Tabs vs. Spaces.

[1] I say "probably" because even when I have written in Vala, C++, Ruby, Python, JavaScript, I have always relied on the IDE to automatically select the most common indentation in the project, so I never realize if I am using Tabs or Spaces since hitting the Tabulator key while using spaces will simply translate them to the correct indentation.
Now, can we look at the same repositories and look at the number of bugs and correlate it with the use of spaces?

But in all seriousness, how often something is used isn't an indication of how good it is. Spaces are like cigarettes. Just don't start.
The big advantage, as other people discuss, that that different editors display tabs as 2,4 or 8 spaces, and I've never worked on a codebase which used tabs, and where viewing the code in different tab sizes didn't break the layout somehow.

If you use spaces, you can format code, knowing it will look right on other people's machines. Perhaps a sufficiently organised bunch of programmers could edit a large code base such that it viewed fine with 2,4 or 8 character tabs, but is it worth the pain?
WTF IS RETIREMENT
The space shuttle was not retired because it was too easy to keep them in flight/orbit.

The space shuttle as a whole, with the boosters, external tank, wings, wheeled landing gear was also very complex and costly.
More complex than a SpaceX Falcon 9, dare I say.
I am in the shoe. I can code C Lang(advanced learner), but working to become intermediate. I currently play around Javascript. Why asking for such specific ?
Isn't that what you do?

If you have deals with many strangers do you not expect to get your hands dirty in some way?
HomeNewsIndustrial News Oil rig count did not rise for the first time in 9 weeks
Just that the harm caused by it is not a major factory in its legal status.
Please all advice/criticism is welcome.
Your point is valid, that's why I write

function(
really_really_really_really_really_long_argument1,
really_really_really_really_really_long_argument2,
really_really_really_really_really_long_argument3);
Sounds awesome. How do you use sudo? Just plain NOPASSWD and trust the SSH auth?
Teamviewer BOT strikes again
Hardware Oracles: Bridging the Real World to the Blockchain
Yeah, this is why acquiring the "taste" for a new alcohol often boils down to getting drunk on it a few times.

And annecdotally, most pot smokers didn't like the smell at first, but are now quite pleased by it.
> I think of it more as they need more engineers to get more work done.

They can easily get more engineers by simply increasing salaries.

Let's say I'm a bright student deciding whether to study software engineering or plumbing. When I graduate, my salary will be driven by supply and demand. As a software engineer, I will be competing for jobs with other software engineers, many on H1B visas coming from countries where education is less expensive than in the US. So those software engineers can comfortably accept a lower salary. No such problem with plumbing, so it is rational for me to chose plumbing.

Now Zuckerberg and co can justifiably say "look, there is a shortage of software engineers, let's lift H1B cap".
It could be exfiltrating by modulating fan speed.
I just always enable "Show whitespaces" in any editor I use.
https://i.stack.imgur.com/BP2WJ.png

This let's me know if I left any trailing tabs/spaces before committing, align code better and while writing not while "refactoring".

git commit -am 'Whitespace formatting changes only'

No.
> some esoteric pattern

I have been at many sites where "esoteric" means things like first class functions (Python) or recursion. Not some hipster monad, y-combinator or method missing bullshit.
Also sport watch makers who added notifications (most usage of a smart watch consists of those) to their devices are in this basket, while having a week or more battery life.

I don't need to order pizza from my wrist, despite Google/Apple and their marketing partners want me to.
The US Military Will ‘Be Left Behind’ If It Doesn’t Embrace Open-Source Software
I refuse to growth hack for you
Go's adoption rate would be quadrupled if they had chosen spaces instead of tabs. It's a fact.
Is there a service (email host) that can give you "infinite email aliases"?

(Yes, I know about the '+' in gmail, but I suspect the word is out on it)
If your problem is unique and requires creative solutions, and you work in an anti-documentation team, that's when things get truly nasty.
or python, or rust.
1. That's a band-aid. The characters have still been changed - the diff still "exists".

2. Those options are not perfect, they don't always work as expected

3. Those options are not turned on by default (because that would be INSANE)

4. Git's not the only VCS, much as I wish it were

5. Github's not the only Git web UI; that option is not available everywhere.

It's not a "solved problem". It's an artificial problem, that gets solved when you start consistently stripping trailing whitespaces on save and not realigning everything all the time.
There's a middle ground between cookie cutter and esoteric.

While the OP's tone is perhaps a bit harsh, I've been in his shoes before, where a team that doesn't understand why a problem doesn't fit their go-to solution forces you to write a convoluted mess to shoehorn the problem into the solution. performance isn't even the problem, usually. Maintainability is.
Right, not now you're dictating coding style to work around the warts associated with using tabs. If you use spaces there are no such issues because spaces don't change widths between editors.
Is he aware of how Akka came into existence :)?
I'm a verified Twitter user with 11k followers. Here's why I'm quitting the site
Maximize your 401K, IRA.

Keep less than 10% of your net worth in stocks, commodities(i.e. gold) or mutual funds.

Don't count on anything like a pension in the US and hone your lifestyle to fit your preferences and financial resources.
Re: Akka, to paraphrase James Gosling's comments on Java "We brought a bunch of Java programmers halfway to Erlang".
With spaces you can position the cursor anywhere you want, with tabs you can not position the cursor in the middle of a tab.
Postman really supercharges your API
Can you use the 'Show HN' format? https://news.ycombinator.com/show

I know, I know. You've submitted it there a couple of times already. 9 times in the last two weeks, including 'Ask HN'. If people didn't upvote or gave feedback, then submitting again and again won't help.
For which Duolingo courses do students make the most progress?
I do the unique address thing, but I also have another system for giving out temporary email addresses. If I want to hand an email address which I know should not receive email after say, this Saturday, I'll just give them "2016-09-03@tmp.grepular.com" - I don't have to do anything to set that up, it will accept mail as long as the date isn't after 3rd September 2016. I blogged it up a while ago here:

https://grepular.com/Automatically_Expiring_Email_Addresses
If spaces are cigarettes, then tabs are crack.
Willy Wonka and Gene Wilder's Legacy
You're thinking of the Kiwi, which is a base-2 measurement of watts.
Active Directory for everything internal

external stuff is managed via Teampass (on premise shared pw manager), which supports shared credentials and user-only credentials

although teampass is a bit wonky at times, it works pretty well for us
Here's a transcript of the intercepted call that they played:

> You have reached the 310 airlift squadron C-37 aircraft, tail number 0028.

> To call the CSL press 1.

> To call secure telephone number one, press 2.

> To call secure telephone number two, press <missing>

> Satcom direct Inmarsat connection in progress, please hold while we attempt to connect your call.

> The approximate global connect time is <missing>

> <ringing>

I suppose that selecting to connect to the secure phones could trigger an encryption layer on top of the call.
SSD Secure Erase
Building a new Tor that can resist next-generation state surveillance
Elsewhere known as "Academia" ;)
Obligatory clip from Silicon Valley (Season 3): Tabs vs Spaces

(Some potential storyline spoilers if you haven't seen Silicon Valley)
https://youtu.be/SsoOG6ZeyUI
The value of literate programming is proportional to the novelty of the material it documents.
I find it interesting that C++ using the .cc extension has about 7% tabs, whereas C++ using the .cpp extension has about 36% tabs.

I wonder what else is different about these two groups.