skysight-inc/HackerNews huggingface dataset:
> Documenting code via single-caller functions is usually a mistake, because to everyone else who looks, the set of functions is an API.

That's less the case if the functions are local (either not exported from the module they are included in or actually function-local, in languages supporting nested functions, to their caller.

> Both internal and external APIs must be kept coherent.

If it's not external, it's not an application programming interface. And, even ignoring that, there is no definition of coherent for which that approximates truth that is inconsistent with single use functions for code clarity and organization.

Even languages that don't have mechanisms to make methods/functions truly local/private tend to have conventions for indicating functions/methods not part of the intended-as-public API of a class or module.

> Also when readers are trying to understand exactly how some function changes the system state, having to refer to numerous other functions it calls is tedious.

Conversely, I find the code having functions with descriptive names helps me not have to read through a bunch of irrelevant code when I'm doing that, which helps me get to the part I need to understand whatever I'm trying to understand faster and with less distraction. Yes, if it's done badly it's problematic, but that's true of literally everything.

EDIT:

> Also when readers are trying to understand exactly how some function changes the system state

Yes, if you are doing relatively unconstrained imperative code that's willy-nilly modifying state, breaking that up into functions passing mutable state around is likely to make it even more incomprehensible. Decomposing into units that are externally-pure functions (that is, while they may do local mutations, they don't modify any state received from the caller), though, is not problematic. In general, except for subsystems dedicated to managing mutable state (and where this function is kept as constrained as possible), I prefer coding in externally-pure functions in general. When you start with that and use it as a constraint on decomposition, decomposition can no longer serve to obscure state modifications. Indeed, it clarifies and more narrowly isolates them.
Agreed on all points, except that with Mastodon is always possible to create a single-user instance where (a) you are in control of the blocklists and (b) admins of other instances will be less likely to block you.
There are special workarounds, many of the old installers run a small piece of 16 bit code which doesn’t work in 64 bit Windows but because it’s so common Windows just runs a replacement version.
Halfway there – needs & outcomes are where it’s at. If it’s not meeting needs, what’s the point?
TIL even sqlite has window functions.
https://www.mercurynews.com/2020/02/14/ex-waymo-driver-accus...
Classified as an xorg-server bug
> Later versions of C also adopt a new memory model that is very broken.

You mean, adopting a memory model that properly supports multi-threaded code?

> memcopy is for instance impossible to implement in C17.

What? I assume you mean memcpy? How is it impossible to implement given that it's implemented in the standard library?

> Due to these issues the Linux kernel is no longer using standrard C.

As others have mentioned, the Linux kernel never used standard C. Just search for, say, the substring "__builtin" where it uses compiler builtins directly. It's also quite recent that Linux can be compiled by clang; if it were using standard C, such compatibility issue would not arise in the first place.
It's already happening. Because of GPDR, companies in EU tends to avoid american companies. European solutions tends to be preferred.
> expecting people to spend 6 months on preparation for interviews considered normal or totally acceptable

You're expected to be able to solve a certain set of problems. Whether you don't prepare at all, spend 6 months, or spend 6 years is up to you. Oh, and everything you need to prep is available in cheap books and websites.

That's immensely superior to being required to spend 5 years and thousands of dollars in college to get the degree that nobody will hire you without, like some industries do.
The feeling into "fact" flow:

Step 1) "I don't like thing"

Step 2) "I really wish thing didn't exist."

Step 3) "Thing is probably dying/dead."

Step 4) "If event happened, it would really show thing is dying/dead."

Step 5) "Event can happen."

Step 6) "Event will happen."

Step 7) "Event is happening!"

Step 8) "Events 1, 2 and 3 can/will/are happening which forms a narrative proving thing is dying/dead."

Have you considered a career as a journalist?
> it doesn't make sense to have fixed electric rates 24/7

Electricity is the least popular form of heating in Canada, by far, dwelling are heated with gas furnace. This, and my supply prices are contractually locked for the next 5 years regardless of the actual market price.

> Besides, I live in Seattle which is next to Canada, and this solution would work fine in the PNW climate, which includes Vancouver B.C.

Come on, Seattle/lower mainland look like the tropics compared to the rest of Canada.
Yes, unfortunately, there is also the slight probability of being eat by predators if some aliens find us.
O(n) sort algorithms do exist (Counting sort)
To be clear, Namebase didn’t create Handshake or the airdrop. We’re building on top of it but we’re a separate team. You can also claim your coins outside of Namebase if you want. The cli wallet is actually pretty easy to use.
I actually meant to write trade sanctions.

But yep plenty of ways to make diesel out of renewables.
Namebase didn’t create the airdrop. You can still claim your coins to a cli wallet if you want, and the cli wallet is pretty easy to use actually.
What USA war was about "free trade"? and why Iran would stop oil shipments, its main export product?
You can have specious repetition, code that is identical only by coincidence, not in a deep semantic sense.

To determine what it is, you need to understand the domain. Part of that is knowing not just what it is, but how it generalizes and predicting how it is likely to change.

Of course, this is approaching perfection. One could also cut and paste monkey-like, e.g. instead of looping (without a performance need to unroll loops).
Proposition 5 would have made this fully portable throughout the state and freed up a lot of Bay Area real estate, but it was defeated.

https://ballotpedia.org/California_Proposition_5,_Property_T...
> browser plugin

They exist. I'm not sure that they can de-gender language, but they can swap word A for word B
Well that completely passed under the radar. Last year November? Can't remember reading about this ..

Didn't we judge Nokia-Siemens when they did similar, developing DPI infrastructure for Iran and Egypt?

Good on those people resigning over this, that shows some backbone.

> “We do not know the specific projects that the on-premises GitHub Enterprise Server license is being used with, but recognize it could be used in projects that support policies we both agree and disagree with.”

That sounds like when Nokia Siemens Networks provided communications intercept technology with foresight of how the Iranian authorities might use it to violate human rights.

That reasoning does NOT hold, if the "policies we disagree with" part literally equates to children kept in cages.

Then "I'm just making a service, not doing politics" is being wilfully blind.

People resigned over this. That also means, the people who are still there, did not.
The opposite of the rule of three and pattern detection is an instant detection stupid code (no funny acronym for that). An example of stupid code:

let setX = (e) => {this.x = +e.target.value}
... other setup ...
input({onchange:setX, value:this.x})

This code is not a subject of undry or rule of three, as it’s ratio of meaning to character count is too low.

And yet some frameworks make a decision to abstract it out at a wrong point:

let [x, setX] = ...
... other setup ...
input({
onchange:(e) => setX(+e.target.value),
value:x})

instead of clean and readable

input_num(this, 'x', {})
// or
this.input_num('x', {})
That’s an irrelevant point, for the same reason it’s irrelevant that a nuclear reactor doesn’t fit in your basement: electricity can be transmitted over large distances by high voltage wires. Conveniently, many of these wires already exist. Rooftop solar helps where it works, but it’s not required in any case.
Magnet Quit Smoking
Technology Connections is one of my favorite channels! It's one of the few whose videos I consistently watch immediately after release.
Cancer medicine generates enormous revenues but marginal benefits for patients?
Badly titled article, doesn't explain more than "this could be an issue for insider threats"
I can’t think of another single metric that tells you more about the size of a saas company than MRR.
Email is federated at a lower layer. At the UX layer, it is not federated. Fully qualified email addresses are like usernames. If you ask a random email user, they would think it works like this. If you ask a random Mastodon user, they know that they have to join a relatively isolated silo. Also most uses of email are peer-to-peer. In the case of two people emailing each other, the number of peers is 2. This is not directly comparable to public social networks.

Email was once the main way social networking was done via mailing lists. This was kind of federated, because you had to ask the listserv to add you to the list. The federated aspects of email are what caused it to die and get replaced by forums which in turn got replaced by Reddit and Twitter.

(Notice the trend? Mailing lists -> forums -> Reddit. From federated to centralized. Network effects.)
> You get into situations where you are at the mercy of a single person.

How is it worse than Twitter, which can also ban you?

At least on the Fediverse you can choose who that person is, and it can even be yourself if you host your own instance.

> Peering needs to be done unconditionally, even over edges, IMO.

What about instances that are mostly spam? What about instances that are dedicated to harassment (eg. Kiwifarms)?

Besides, you're free to use an instance with a block policy that aligns with your opinion.
So you're the one!
It always feels to me like so much hubris. Humans are unique on this planet, (we humans have determined it so), by virtue of our so-called intelligence. Not only does this intelligence make us unique on this planet, but the nature of that uniqueness is itself unique across the galaxy and beyond. Intelligence is the thing worthy of discovery.

So we go actively looking for other living species which exhibit that precise characteristic which we admire so much in ourselves. Using catch-phrases like "are we alone?" - Guys, take a look around you. Just observing the millions of bacteria on your hand should suffice to answer that question in the negative.

But apparently, we knew that as a species we are not actually alone. Yet we felt lonely because nobody else here matches up to our self-serving criteria of significance; intelligence.

So within a few decades of having as a species learned how to control radio waves ourselves, Frank Drake comes up with the idea that of course any species worthy of our interest would be controlling radio waves too.

Perhaps this characterisation is too harsh. But the alternative is surely that we are just looking under the lamp-post for our keys, because that's where the light is. We want to find extraterrestrial life. Very good, fully approve. But there's no realistic way to do this outside of the solar system. So we make some preposterous assumptions and hope to get funding based solely on human vanity.
Federation does NOT mean small tribes. This is the meme that needs to die.

You can make the argument that discovery of new people is harder on a federated system, but this a problem analogous to trying to find content on the early web and this is a solved problem already.
> I crunched for years on seti@home at the turn of the century and have always been a fan of the project.

What I told people was that Seti@Home was a waste of time, but Mersenne Prime finding was a useful idea:

"GIMPS, founded in 1996, has discovered the last 17 Mersenne primes."

https://www.mersenne.org/
Insurance, call them and let them sort it out. Request a replacement car from BMW until yours is fixed.
Google redraws disputed borders, depending on who’s looking
You still need to enforce your trade sanction by force. History has shown that wars are won by the side with the best energy supply. Your solar panels aren't gonna cut it.

Actually, you still need to fertilize your crops (not to mention harvest, seed, weed-out, etc.), which which need a hell of a lot of petroleum derivative and/or manure, both of which are on the environmentalist hit-list.
Exactly for their notorious reputation. A lot of developers are going to change their mind about Twitter. To survive Twitter needs to innovate and become more open.
No but now I know, thank you
I should point out that historically, getting people to accept metal was not an issue that usually came up. For example, Hammurabi's code details a punishment for certain merchants who will accept metal as payment but refuse to accept grain. That's the king complaining that what merchants want is to accept metal exclusively (though not coins; they are not known to have existed at the time).
My take on it would be the approach from SICP[0]: separate data (objects) from transformations (streams).
On a personal note I would also like to add:

- keep data serializable

- cluster transformations accordingly (Keep things that belong to each other as close as possible to each other, in a literal meaning, same file/module/etc. A new coworker should have the feeling of entering a public library - she'll know where to look for.)

- it will probably never be the case that you have to invent a new data structure or algorithm

Developers understand such terms like 'function' in very different ways (see top comment in this thread). Some have a more abstract approach and understand it as 'pure', where others have a more instruction-bundeling approach and understand it as 'procedure'. Either is valid, but are completely orthogonal to each other when it comes to its usage. I understand Gary Bernhards approach to 'functional core, imperative shell'[1] as a mean to talk about this - instructions demand for composable building blocks, and those building blocks come either from:

- built-in functions (with an already universally understood API)

- or your own (clustered) utils (and demand an easily understandable API).

[0]: https://mitpress.mit.edu/sites/default/files/sicp/index.html

[1]: https://www.destroyallsoftware.com/screencasts/catalog/funct...
Advertisement like Facebook, but I'm arguing Twitters network effects are not as strong as Facebook.
What a great idea! I have been using a text to UML sequence diagram tool and this seems to be very much along the same lines.
Saab tried joystick control back in the 90s: https://en.wikipedia.org/wiki/Saab_9000#Prometheus_(prototyp...
Then on the other end of the RPG spectrum, Fantasy based "RPGs that dealt with magic, supernatural, demons, etc were similarly taken seriously by some in the religious community as actual guides to such activity."

But there is a transition in both areas from just RPG to reality. People playing cyberpunk hackers often want to be able to hack and crack in the real world. And some games did at least teach some basic concepts about hacking.

And from the fantasy area lots of people got into real paganism, witchcraft, occultism.
(even though no one did succesfully invocated a major demon as far as I know ...)
How HTTPS works – Explained in layman terms
Trade sanctions don't require use of force if you have most countries on your side, you can just threaten to extend the sanctions to any non compliant trade partners of the sanctioned countries.
Another example of ActivityPub is learnawesome.org (which intends to be an equivalent of GoodReads but for all media formats, not just books). I recently implemented ActivityPub support in their webapp, so it's now possible to subscribe to a LearnAwesome user's book/course reviews and get that feed in Mastodon or any other ActivityPub client.

The ActivityPub standard is straight forward and was quite fun to implement actually. Here is the issue in case someone is curious how to do it in a Rails app: https://github.com/learn-awesome/learn/issues/121
It's a good filter, you only get the people who spent too much time on bullshit for free. They can make very good workers.
> Imagine if email services worked this way! “subscriber@otherhost is rumored to be slightly politically oriented in a way we don’t like, so we as admins have prevented everyone@thishost from mailing everyone@otherhost, and vice versa”.

Entire instances don't get blocked just because of one user's political opinion.

The most extreme case I can imagine is that of a couple of subscriber@otherhost being harmful to other instances, and the admins of "otherhost" refusing to do anything about it. So some instances ("thishost") would preventively block "otherhost" if they don't want to deal with every single harmful user from that instance.

But if that block policy of "thishost" is publicly advertised, then what's wrong with that? It's like users choosing a blocklist provider on Twitter.
> I never claimed to work at a FAANG company,

Yet you spoke as if you had worked at some/any software company. Literally zero years dev experience (FAANG or any other). Zero software interviews. You have zero knowledge or experience of what we're talking about.

Looking through your LinkedIn/comments is low effort and confirmed my suspicions of you being whatever the inverse of Dunning–Kruger is.

If GoT was still relevant, I'd wistfully look at you and whisper "You know nothing, Jon Snow"
And a big probability of creating a lot of new problems (e.g. a "dark forest" theory).

In my opinion, these money are better spent on any other applied or fundamental research.
> this a problem analogous to trying to find content on the early web and this is a solved problem already

The early web died. The problem was solved by killing it and replacing it with big institutions. It got replaced by the superior network effects of Facebook feeds, Reddit feeds, Instagram, Twitter, or the very site you're scrolling through now.

Twitter is the bar or the town square. Mastodon etc. is people's living rooms.
This is primarily for the large cities and surrounding suburbs. Smaller cities and rural areas have many homes with significantly longer lifespans.
> That being said, I don't think watching TV is fundamentally different from any other kind of entertainment, be it YouTube, reading HN, Twitter, games, or whatever.

No, for most of them there are one or two fundamental differences. TV is complete passive consuming, while gaming and communication is usually something active. Additionally they can have a social component, you have a broader variation of content and more control over consuming time and topics you consum/learn about.

It's only the same in the sense that they are mostly unproductive "waste of time". Though depending on the content you can learn relevant things for your life and job, so this is take with a grain. At the end it depends on every individual what they consider as entertainment.

> But I am unable understand or find fun in the entertainment options of the younger generation, such as spending hours on Instagram or Snapchat. It sucks getting old, haha.

I thought the same for a long time, and one day it kinda clicked and I embrassed the shame of social media for some months. At the end entertainment and engagment-systems are all the same, just different in culture and interface.
> Have you considered a career as a journalist?

I really have no skin in this game one way or another. I don't work with cloud companies, I don't make money with non-cloud things either. And I don't give a toot about how this unfolds because I think all things that Tech brings forward these days are bad for humans and society. So whether it's the cloud or ActivityPub or motherfuckers who believe the blockchain will cure the worlds ills ... the only thing that is on my mind is making it until spring, so that I can fuck off again into the woods for a couple of months and not think about it.

But go on with your vague insults if it eases your own personal suffering.
Researchers study how birds retweet news
Just look to Europe for that. A lot of investments into hydrogen for storage and as a fuel.
"Oh, you dare to oppose our surveillance? You want to block tracking scripts, fingerprinting and use VPN? You're a baaaad consuumer, we're going to correct your behavior by making your browsing experience miserable or submit to our rules and switch to Chrome"

I'm sorry if that's unnecessarily dystopian
Impressive. How much data can be deducted from some pictures. What is it made of though?
In win for Amazon, judge freezes work on Pentagon contract
SoftBank only bought ARM in 2016, they are by origin very much from the UK and I don't think anyone is going to argue that ARM wasn't relevant before 2016.

DeepMind was also founded in the UK and later bought by Google. Their HQ remains in London.

DeepL, who are providing a much better translation product than Google or Microsoft by many accounts, are a German company.

Spotify, which I'm sure needs no explanation, is a Swedish company.

While it is certainly true that the US pays better, I think you need to re-evaluate your position that noone else is creating good or valuable products.
1N4148 are also excellent photodiodes if you don't want that.
Why would you even want to be successful at something incompatible with comfort?
> But I don’t really care how Signal added cute stickers or optimized image showing.

That's maybe true for privacy enthusiasts. You severely underestimate the need for these cutesy features when targeting mass market though. I claim stickers are much more important for that than data exporting.
The comments should make it painfully obvious there isn't a general rule that applies to all projects in all situation.

DRY, WET, DAMP, SPOT, KISS, YAGNI...

Software engineering is too nuanced to be summed up in an acronym and surely the inventor of each acronym only intended it to be a basic rule of thumb.
Aerospace, higher end weapons systems and most medical hardware+software... It's usually when in conjunction with life/death physicality that these things come into play.

Unfortunately, the efforts on some of these systems are much harder to work through in practice than something created more organically.
Looks promising, thanks for the tip!
I am a professional Clojurist. I have used Emacs for decades but honestly and succinctly -- it sucks. Especially Emacs 26. Cider breaks in new random ways every major release. Clojure tooling is its (only) weakness.
Could this be because of a non-compete clause agreed on during the Whatsapp acquisition by Facebook. I heard Whatsapp team was around 50 people, wouldn't be surprising Zuckerberg wanted some extra assurances.
I have a Raspberry pi 2 with an immutable SD card running weechat in a tmux session. Logging is done to a USB stick. On any occasional power failure it restarts everything and logs me back in.

It has been running since whenever the rpi2 came out, and total downtime since has been under an hour.
> B. Destructive potential. Mature people are faster, stronger, and smarter; a bar brawl has a greater chance for broken bones, concussions, etc. than a playground fight.

That isn't even destructive. Broken bones heal and you're healthy again. Bullying a child, that is destructive.