skysight-inc/HackerNews huggingface dataset:
Well, this would be something that the IDE/mode you're using reflects. The indentation isn't "fixed", if you're inside a block it will be something, if it has an open parens, then it might indent on the open parens, or two spaces after the parent line declaration start?

I know what you mean because some modes (ie. in emacs, but I guess every other editor as well) sometimes will not be indenting how I think is correct, but this is not a problem with the "concept".
I'm sure if we can cram artificial intelligence to give you the full word you're typing we ought to be able to make indentation by tabs work correctly across editors/machines/modes/plugins - and each "plugin" for whatever language can have its own idea of what is the right way (that would still be customisable - at least that's how it works with emacs). It's also a problem that only needs to be solved once per editor and then can be reutilised by whatever plugins using their own definition of what is the visual size of the tab and how it behaves on other semantic blocks of the language in use.

I've moved to use formatters in languages that have a strict one so to not worry about this, I can even understand saying that just using spaces solves it, as it's the same everywhere - but essentially it mixes things - one is a question of visual representation that should be represented by a unit that a user can define (tab), the other is significant whitespace.

In your example, with whitespaces, it's basically arbitrary - here it's 12spaces, next function where you multiline the arguments, it's `connect_more_14_chars(` so it will be 26 whitespace chars...
Just going to point out the obvious and say a co-watch remote browser definitely wouldn't work with Netflix. I love the confusion on people's faces when they try to do it over Zoom ("Why is the video black?"). Yay Widevine?
What is a "nation state"?

edit: Wikipedia says there are around 20 nation states. I don't know why you're picking those out specifically though.
Why Instagram is so buggy?
> I hate it when developers try to break up code in weird ways to align all the equal signs together for example.

I do this in cases where I have many similar lines, for instance calling the same function many times with different arguments, and I want to make the differences between them more obvious. I find it to be much more maintainable and easier to read / identify bugs.
Chocolate consumption per capita is positively correlated with the stock of Nobel prizes per capita [0]

[0] https://www.sciencedirect.com/science/article/pii/S259029112...
Divorce, Bankruptcy and Powerful Wanting with Dan Sullivan
How to Monitor Sidekiq Process Uptime in Rails Apps
How much tax money goes towards your roads vs your public transit system in the UK?
As I mentioned, I can very well believe he's cheating, I don't need to be convinced.

I can tick the box in my head which says dream is cheating -
but it's not a smart move from where is standing.
Argentinian Government prohibited FB from using information from WhatsApp users
Django doing really well (or nobody dares to write TODOs anymore)
That to me reads as "show me the status of all files ending in .mount in the current directory". Once you start hijacking shell metacharacters you're on dodgy ground.
None of your examples pose a fundamental problem for tab-indentation; here's the basics how it should (always) be done, and works, and never breaks anything regardless of the width of the tab character as long as you don't break the gist (which is the hard part, especially with editors which sometimes work against you):

def send_mail(source)
TABMailer.deliver(to: 'bob@example.com',
TAB from: 'us@example.com',
TAB subject: 'Important message',
TAB body: source.text)
end

Here, TAB has a width of three but of course the alignment would stay put even if it were wider or narrower.
Is Immutable Infrastructure Secure?
> Go is a tool if you actually want to solve the problem and make sure people after can quickly understand how and why you solved it. Rather than stand in awe of your creation.

I disagree with that.

The problem in those cases is not expressivity. It's complex features that are very easy to misuse and have no alternatives within the language.

And Go is littered with those. It allows for lots of "cleverness" around Reflection and Empty Interfaces, which effectively turn it into a poorly-specified ad-hoc dynamic language. Same for templates. This is the same problem of Meta-programming in Ruby, and the same problem with complex OOP architecture that plagues some Java projects. It's all avoidable, of course.

Those features are not "expressive", quite the contrary, but they lead to the same problem of "pile of crap nobody want's to touch because some of the developers were so creative and wanted to express themselves".

It takes as much discipline within a team to avoid this in Golang (or any other "non-expressive language") than in more expressive languages.

On the other hand, lots of new ES6 features give it more expressivity without necessarily adding complexity and in fact making the code easier to read and more reliable.
Personally, I'm a tab user in a language that does mostly spaces (Rust). My own projects use tabs but most projects I interact with use spaces. I had tabs in my editor for a long time and I would always either press the space button or change the editor's setting. Then I got sick of it and changed the editor's default. My own projects have an editorconfig file that my editor can read, setting it to tabs in the project's scope. The projects I contribute to usually don't have such a file, that's where the spaces-per-default setting comes in.
I don't see why it defeats the purpose at all. You get to have your one-character-width indentation, while other devs will being able view it with more indentation width and spend less time dispairing at issues of readability for them. This seems like exactly what tabs are good for.
Nah that’s exactly how the alignment did occur. Spaces would be mixed with tabs to align things with 4 spaces aligning to each tab. Since I don’t like to view 3 virtuously splits I don’t like all the wasted indentation space and I view tabs as 2 spaces. It was obvious when someone didn’t consider how it would like if a tab wasn’t 4 spaces.
for a great example of this just have a look at the following macOS privesc the source of which came with the handy comment "deal with OOB".

https://blog.zecops.com/research/from-a-comment-to-a-cve-con...
Not sure how the ad hominem is reasonable here (if ever).

If a medical professional made a medical suggestion based on their expertise, would you summarily dismiss it because they've got skin in the game?

Should we stop listening to vegan-positive arguments coming from vegans too?
It's a side note at most, but the history of technology at the end of the article is a little bit misleading as it lacks the dates for the technologies. It seems to list the most notable devices for each category. Some of them appeared several years after a technology became mainstream.

Examples:

The Nokia 3310 is from the end of 2000 but 2G mobile phones were already in everybody's hands by then, at least here in Italy. The boom started in 1997. I resisted until 1999, then my boss gave one to me because "I don't want to call [another guy with a mobile] to talk with you" :-) It was the Nokia 8110 (Neo's phone in The Matrix.)

3G/UMTS was launched in Europe in 2003, much before the first 3G capable iPhone (2008). The marketing word in 2003 for UMTS was UMTS. The first device was the NEC 606 [1], from the 3 mobile operator (Italy, UK and a number of other countries.) There were a number of popular 3G phones in the 5 years before the iPhone 3G.

By the way, the NEC 6060 did video calls too. The screen was low resolution (not by the standards of the time) and the price was outrageous (4 times the voice calls?) Not a very popular feature and yet it was there.

[1] https://www.mobileindustryreview.com/2015/04/classic-handset...
This is only the case of you would arbitrarily increase the number of potential transactions per block.

But as far as I know the maximal number of transactions is capped in practice.

Furthermore the security of PoW is based on it being far more expensive to mess with it then to mine it. But if you push more mommy through the same number of blocks it's at some point breaking apart.

Lastly no one says it will ever consume all energy. That works be absurd. It's about the required energy (and hardware cost) in relationship to the provided value being unhinged and for security you need steadily increasing energy costs for increased usage.
lmgtfy: https://en.wikipedia.org/wiki/Nation_state
I agree that being relaxed enables growth.

The negative consequences come later. Protocols become cultural artifacts with history. You need to study the history of bugs and 'features' to learn the de-facto standard.

To write a good HTTP client that parses and renders HTTP/HTML/CSS/ in the wild from the scratch you need to learn how Chrome, Safari interpret and implement specs.

It's possible to write future proof strict protocols with detailed instructions on how to handle new versions, unknown extensions, etc. gracefully.
I'm a C++ developer who has been writing more and more go code over the last year, and go's iota enum (alongside generics - having to write a search method for every different slice type gets grating after a while) is my biggest gripe with go. They really aren't any better than just global constants
Thanks! I will take a look. There is room for improvement with the repetitions, as you say.
Off topic, but I am presented with a Captcha before reading this blog, one which I couldn't solve because apparently I don't know how to identify boats.

More sites seem to be implementing this nowadays. Is it justified on a blog? Surely we've lost the war if we have to manually verify that readers are genuinely humans.
It is much easier (and more often done) to implement a solution for a static position. Many embassies and other highly sensitive locations have these, commercially available, installations.

We used to build them for fun (no profit) many moons ago.

Basically what you do is place a couple of (1, 2 or whatever) sensors (we used to use these Motorola C123 with osmocom) and just keep taps on signal strength and antenna ID over time, and inspect changes.
Absolutly not! Indeed, it is even more difficult to adopt new security measures when you find yourself in front of a possible backdoor (already seen this situation in an enterprise company).
If you use tabs, GitHub renders it as 8 spaces, which is... a bit excessive and legacy IMO.

I think until this is changed, using tabs for content that you want to be viewable in GitHub UI and has multiple levels of indentation just does not make sense.
Marketing is about making me spend money. All those examples he gave could have been solved with the person searching rather than being told. Bored? Find something to do. Hungry? Find something to eat. Marketing heavily favours large amounts of money and things with large amounts of money aren't humans and don't have morals. They no longer exist to offer you solutions to your problems. Mass marketing is evil. Targeted marketing is evil. Marketing as a term is a business term not a human term.
> Contracts depend first and foremost upon the legal regime in which they are valid. Every jurisdiction has rules, precedence, language means specific things.

One could counter that no code ever stands alone, but is executed in terms of some runtime.

But I think I can bolster your point with two further thoughts:

1. Contracts are not meant to be code. The process of drafting a contract helps people arrive at a common understanding - a shared consensus, a "meeting of the minds" - and once signed, it then documents that understanding along with relevant context sufficient for third parties to be able to recreate that common understanding.

The contract is not executable - it, at best, is a declarative description of some of the outcomes. The actual execution is handled independently by the parties that entered the contract. The contract only exists so that common understanding can be preserved through time and shared with other people - whether it's because some party forgot the details, or it needs to be modified, or third parties (like lawyers, judges or arbitrators) need to be involved in dispute resolution.

2. To the extent a contract contains anything resembling executable code - say, the aforementioned declarative descriptions of outcomes, or imperative descriptions of specific behavior, or some attachments with deliverable specifications, etc. - these are all expressed in a very high-level programming language, i.e. natural language. This "code" is ultimately "executed" by sapient human beings. In other words, the programming language and runtime in questions are GAI-complete: that is, coding them up from scratch, e.g. to enable "smart" contracts to be comparable in utility to regular ones, would be equivalent to creating a human-level general-purpose artificial intelligence. We're not anywhere close to achieve that, thus by definition, "smart" contracts are too dumb to make sense when we can use the normal ones.
Python Libraries for Ethical Hacking
There is no problem here. Marketing is actually evil. Forced exposure to brands does not solve any problem that society has, and creates a lot of problems. Moreover, it distorts all search engine efforts that would actually solve the problem of people finding products. It is almost impossible today to look for a product in amazon or google without being bombarded and misled by useless "sponsored" shit.
Is it that surprising that researchers coming from more developed countries consuming a most common sweet in europe (thus, likely of mainly western culture) would fare better on an evaluation by a Swedish committee ?
This is a good example of a pointless alignment footguns tabs prevented.

Why do you want to recalculate the number of spaces before 'that' based on any change to the length of the function name 'connect', and why do you realize you don't want to when it comes to aligning connect with 'foo' to be consistent with this styling instead of indenting priority?

Much easier to hit tab twice on the 3rd line because that is the correct nesting depth and not try to adapt lines based on insignificant aspects of previous lines and not make someone refactoring try to hop around any more than necessary.

Edit-typos
>I wonder if this acts as a somewhat hidden subsidy to life whereas for people in many Western countries it is normal to think "there is no way I am living in area X/Y/Z" due to security concerns for them or their families, in Japan you basically don't need to take that into consideration at all. Everywhere is pretty safe (relatively speaking).

Hidden subsidy? It's not a subsidy. Americans self impose an additional burden on themselves. They want their homes to be expensive because they don't want undesirable people to live near them.
Glue: Linked Data Visualizations Across Multiple Files
https://blog.cloudflare.com/moving-from-recaptcha-to-hcaptch...

Yea - And they do this since Cloudflare decided to move from a no-click CAPTCHA to one that requires people to click half a dozen images.

So don't you act all innocent Cloudflare - You were the ones who instigated this!
I'm a space person, but I disagree with the premise of the first two points.

Exotic alignment such as trying to align equal signs on different lines together doesn't make sense... All the different cases are too difficult to describe in simple words. So it's better to simply not do it. IMO, the only whitespace in code should be to separate different tokens/words and for indentation. Adding whitespace to create any other kinds of visual effects should be discouraged.

I ended up using spaces, entirely because of the last point and because there are many products out there which render tabs really poorly. I literally can't trust people to be sensible about how wide an indent should look.
My memory isn't good enough to remember how to bootstrap a game. I believe TetriNET didn't have a forum to play against strangers, but I could be wrong. I played only with friends who would initiate the game with an instant message group chat first.

Did your league organize on IRC to bootstrap games with the host's IP address? Is there a webpage with league standings still around?
Perhaps, but that seems rather destructive. A more constructive approach would have been to pay attention to the sponsors.
> its effectively a subprofile of a profile specified in a W3C note of ISO8601, but that relationship is mostly of historical interest, since it isn’t specified an a (sub)profile, but independently. It also has a UTC default.

Oh good, that's an improvement. Unfortunately, nobody thought to include real time zones :/

> You’d have to process the entire list before starting to write it to the final format, because the format is optimized for read efficiency not write efficiency.

Knowing how many objects are in the list won't help efficiency because you still don't know how big each element is. So you still need to walk through the list regardless. With that in mind, there's no advantage to a size field over an end marker, but there are disadvantages.

> Length prefixing variable length data values is kind of important though; I’d consider it a major strike against a binary format if it didn’t do that. (Though Ion does have the problem that its length records are also variable length.)

I did add typed arrays to CE to support efficient storage of monosized data types such as bool and int and float. Those have chunked size prefixes.

> You can, since it supports type annotations and has formats that can with annotations communicate that. (List would probably be the normal choice.)

I'm just not a fan of requiring users to massage data structures and annotations to get basic type behaviors. Technically you can get everything you need from XML too, but the costs...

>> Doesn't support arbitrarily long scalar values.

> Yes, it does, which is why the length fields for most values, including most scalars, in the binary format use VarUInt.

Ah cool, didn't know that, thanks!

>> Doesn't support NaN or infinity.

> Yes, it does. (It doesn’t, in text format or data model, distinguish different NaNs, but it supports NaN, +Inf, and -Inf.)

As I understood it, the text format didn't have "nan" or "inf" literals... unless I missed it somewhere?
You are mistaken. try...except does not introduce a scope in Python. Only "def" and "class" do.
Marketing is evil. It's a problem for people who are not in the marketing industry, and it could be argued that for those who are as well.
I have a personal lifetime ban on buying Panasonic/Matsushita products because of the cruddy alpha quality firmware they built into a dvd player. It crashed 100% of the time when playing CDs among many other unforgivable flaws. Their fix in the revised model was to put a reset button on the front panel. Japan cannot manage complex software without a lot of time and manpower.
Youtube should ban cheating channels altogether. You can make over a million, get caught cheating, face no punishment, and can continue to rake it in. Fix the incentive.
Writing Scala with IntelliJ is just so fun - 99% of time I get the right suggestion for Scala and/or Java libraries that I have not imported yet.

Nice style suggestions that do not nag. Instant ScalaDoc generation. Pretty much picks up on all my brain farts.

I imagine it is because of deep integration with JVM - after all IntelliJ started with Java.

By comparison VS Code is just an editor underneath without the I in IDE.

Theoretically VS Code is a bit like emacs or vim, you can set it up to do everything for your language but it takes a lot of tweaking.
As a tabs user I generally prefer this for multiline function calls, using a tab for alignment. I only use spaces for alignment for whitespace that isn't at the start of a line.

void foo() {
connect(
this, action
that, callback
);
}

I answer your question with another: If your editor is configured to create four spaces when you press the TAB button, why not insert a TAB instead? :-)
People that complain that PoW cryptos spend too much energy don't understand that it's just another form of conversion of energy, just like every other action human take.

Average Joe has a manual labor, his physical energy is converted into labor, which converts to fiat currency. The food that Joe ate also require some amount of energy to grow and become Joe's food.

PoW mining converts raw electric energy into a digitally transmissible currency
If you read the very article you linked, hCaptcha did the exact same - So they cut a deal.

So they

a.) Moved from a no-click CAPTCHA solution to one that requires you to click images.

b.) Offered a paid solution so you can have your no-click solution back.

Introduce a problem and then introduce a paid-for solution to fix the problem - That's just scummy business practice.
> just don't require mass transit to produce a profit

Was it ever profitable in USA? Here in Poland, the income from tickets usually only cover below 50% of the costs, while the rest comes from subsidies.
I'd like to see a todos added / todos disappeared graph that would account for the velocity of development of a project. For some, while the todos grow, the relative "todo per LOC" might decrease etc.
If lmm shared this opinion, then there should be no problem, as systemd logs can be piped.
> everyone can use the indentation they prefer without causing conflicts

It's one line in a githook for this to really be true.
> If you’re marketing vape pens to teenagers, trying to convince consumers climate change is their problem, promoting vaccine misinformation, or designing dark patterns to mislead web users, stop. Your $#!^^y marketing is the problem. Your $#!^^y marketing is why people think all marketing is evil.

Exploiting weakness is Marketing #101, and deferring your moral compass to the needs of the client is Marketing #102, so I don't see any way that change will happen, in this respect.
For me the key idea is that they don't all need to be solved in the same place, by the same project. Implications that the systemd approach is the only way to do so really rub me up the wrong way.
He is actually here, undisguised and even joins discussions sometimes:

https://news.ycombinator.com/user?id=JohnCarmack
> Masks are stylish. - Definitely not.
PoW doesn't make transactions. The purpose is to secure the network. It's useful to compare this to the cost of attack: https://www.crypto51.app (this data is somewhat outdated)

Also, this doesn't take off-chain transactions into account. There's way more actual financial transactions on Bitcoin when every L2 transaction is counted. Lightning network scales to billions of transactions per second, without adding PoW energy consumption.
Aligning stuff is awesome for multiline editing however. Which happens more than one night think!
"Marketing isn’t inherently good or evil" in the same way bombs aren't inherently good or evil.
> promoting vaccine misinformation

This is a worrying inclusion - are payed marketers doing this? To who's gain?
Only thing I can say is that I started my career with tabs as it made more sense on the surface, but then over time migrated to spaces which did not have a lot of issues that I was encountering with tabs, while interoperating with other projects,etc. Spaces are much more frictionless than tabs, so maybe the attitude of trying to reduce friction would be such a variable ?
Marketing is evil because the entire point is to make us spend more for a worse product. That is the explicit goal of the profession. It costs a lot of money, and does not improve the actual quality of the product. Of course consumers will hate it.

That they often use sleazy methods to accomplish their goal is just another reason to dislike marketing.
Is it the Cloudflare checkbox you're talking about? It's just an aggressive DDoS protection.