skysight-inc/HackerNews huggingface dataset:
Not all of the five “principles” are created equally.

LSP is the most fundamental in my view, anywhere you have a distinction between interface and implementation, and developers should be aware of it.

DIP is not really a principle, but a recipe of how to invert a dependency when needed. This is also something a developer should know.

SRP is somewhat ill-defined, because there is no objective criterion of what exactly constitutes a “single” responsibility. It’s similar to Unix’ “do one job and do it well”, though. It’s at least a consideration one should be familiar with.

OCP is arguably the most vague one, and also the most impractical if interpreted literally (“don’t ever modify existing code”). In the prototypical example of the Unix file interface (open/read/write/close), it however describes a pattern of defining an interface that abstract over different (and, importantly, future) implementations (as afforded by Unix’ “everything is a file” abstraction).

ISP is a balancing act. Taken literally, it can result in an explosion of interfaces, one for each single use, in the extreme case. However, it points to the fact that “rich” interfaces create higher coupling between components.

All of this is not specific to OOP. It applies to the design of REST interfaces and to microservices just the same, for example.

While there is no special reason to group these five considerations in particular into one thing (it’s just what occurred to Robert Martin some 30 years ago), it at least gives well-known names to them, which is a useful thing in itself. Like design patterns, the valuable thing is that it defines a shared vocabulary to refer to the respective concepts.

A software developer doesn’t necessarily need to know these considerations by those names, but he/she should have an awareness of these considerations, and knowing some names they are commonly referred to is a useful bonus.
Stress metrics for libp2p's Gossipsub
>This is not wrong in any way

...other than calling it "violence". If there's no use of force or threat thereof, it shouldn't be called "violence".
Don't forget you can chain multiple generators together too. This can have huge memory and compute time benefits with lazy evaluation depending how you structure your code. A very crude example below...

# Really big generator that would probably crash as a list

divmods = (divmod(x,5) for x in range(100000000000000000000000000000000))

# Create a generator from a generator

remains = (remainder for n, remainder in divmods)

# Runs instantly

next(remains)
Like most problems, it’s an externality problem.

The true cost of destroying or misplacing a parcel is often higher than the nominal value of the item inside. Sometimes it’s a sentimental good, sometimes it’s time sensitive and not having it in time results in additional costs to the recipient, sometimes the recipient spends significant time attempting to locate the package.

None of these are appropriately compensated for.

Make these companies liable for the economic cost of the goods plus $200 and they’ll start taking more care.
If you're using eleventy, you should be able to just add the RSS plugin: https://www.11ty.dev/docs/plugins/rss/ and easily configure it. If you're using a theme then check to see if it already bundles this.
Neither of us understands how the human brain works, but both of us understand how synonyms work.

We could find out 800 years from now that human brains really do work exactly the same as LLMs do, but it wouldn't change the fact that today LLMs and humans in practice regularly manifest their respective mistakes in very different ways.

For example I don't have to worry about you making sense but then turning on a dime saying things like "Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay." or "Subtitles by the Amara.org community", which are both examples of OpenAI hallucinations I encountered today.

We can call that type of stupidity its own word, different from the types of mistakes you described making, just like we have many different words to convey the concept of "wet".

The fact that LLMs are probably not just baby people give an even greater justification to use different terminology for them.

Synonyms thrive in our languge with sometimes a hair's breadth of difference in nuance so it's silly to let optimism about tech deny this.
Chinese hacking documents offer glimpse into state surveillance
For me it’s been NewsBlur — every time I get the itch to find a new reader I decide it’s not worth the hassle of learning a new UI.
I definitely consider NIME to be best BG album. They tried to replicate the same level of complexity in their follow up albums, but the sound engineering and mixing just never felt the same. NIME sounds crisp and clear and every after is too layered and muddy
Depends on what the (something) is.
Are you saying Cutco isn't a MLM scam? I've always avoided it like the plague.
Gary Becker Saw the Scourge of Discrimination (2015)
iOS and Wi-Fi Direct
Do (heterosexual) males really have that bad of a match rate?

Why not treat it like a job hunt or a sales process? Figure out requirements, optimize your profile to attract mates with those requirements?

Sure, “seed” the matches by reaching out to profiles which meet your requirements. Try sending intelligent messages, catchy subject line etc. Stand out. Tighten your efforts to mates you find strong compatibility with.
"Ethics" isn't one thing. One can be committed personally to honesty and scientific rigor yet opposed to curiosity-killing IRB culture that purports to think that a questionnaire somehow might rise to the level of atrocity but not for IRB review.
> By externalizing costs onto server owners, the same way they do everything.

I mean that's the whole point of the Fediverse, a federated network of independent nodes. Of course the nodes take care of the functionality.
I can look it up (ug/L or something). But my whole point is about the factors. Super low concentrations and then a factor 2 is from safe to alarming? I almost don’t buy it.
Not in crypto, but it’s a linked list structure with a logarithmic number of additional pointers that refer forward (or in the case of a diff algorithm, backward) into the list, to provide closer to log n lookup time.

I think they were invented by Bill Pugh, a professor who also had some noteworthiness in Java concurrency fifteen years ago, which is how I heard of them.

Wikipedia agrees (W Pugh for William)

https://en.wikipedia.org/wiki/Skip_list

So the way I see it, you’d overlay the linear tree with one that refers to a single, recent hash, a much older hash (or another meta node of the same degree) and a roll up delta from that older hash, with a new hash that satisfies both. Then every time the number of records double, you add another layer over the previous one.
Having a shared vocabulary is useful, though. That’s the whole point of design patterns, for example. That you don’t have to explain what you mean from scratch every time, but that you can say “decorator” and everyone knows exactly what you mean.
Ask HN: Is AI the New Internet?
Not a clickbait and I will explain why. I am not a guy that goes around hype trends (after the crypto hype) but I saw how people are paying for AI products without the hopes of getting rich, which means there is a product and a market.

Now why to compare AI with internet?

I am seeing trends that feels similar to the rise of internet. When the internet came people were amused by the tech and everyone wanted a piece of the pie. Everyone is adopting AI from big tech to small startups. It reaches new audiences with new use cases like problem solving, comprehension and obviously intelligence.

How Pixar was the first company to start a CGI only movie company, I build someone will use AI as the GenAI only generated movie. Music industry is seeing a new shift with Suno, Search with Perplexity, Stackoverflow with Copilot and many more. While I am still not sure the trend might be coming to a close.

Why AI might not be the new internet?

Internet was open for everyone, uncensored and open, Ai is not. AI is only controlled by some big player with enough GPUs and cloud infra like Microsoft, Google and companies that can raise billions. AI needs huge filtered and processed data sets and that is hard to gain access for individuals.

Can AI break out of the chatbox?

I don't know. I am think of the new AI wave to break free from the chatbox but then how will we interact? Even with audio, video and files, it's still conversational. Then what do we expect from AGI? Wasn't it supposed to be just like human, limited by our own concepts of seeing, hearing and communicating?

Honestly I don't know anything. I am still learning and want to know am I right?
I guess it depends on how much they're paying the mixed-race babies.
What’s interesting here, I think, is not the thesis but the prolific madness of some writers. I came to the same general conclusion about what I guess you could call “Byzantine sync” in like 2017 when I first read the Bitcoin white paper. But I didn’t feel the need to write a thesis. Like, it’s one of the first things you stumble over when you mull things. I mean maybe reality itself is a blooming blockchain where quantum state is actually local and echoes outward resolving with some wild rules when there are conflicts, and the expansion of the universe is due to an accretion of this past information, stacking up in some imperceptible yet dimension.

The other thing is solving global consistency isn’t necessarily… well, necessary. Maybe the truth about blockchain is that we don’t need a global unified network of clocks, that is fault tolerant against cancerous internals. Maybe the more efficient architecture is to have a trusted entity that we delegate to.

In conclusion, who cares
Civil and criminal law are two separate things.
Lots of people don't progress past senior... ever. They don't have to, don't feel like fighting for that promotion or just plain aren't good enough.
Website lets law clerks rate their judges
So I'm building a marketplace for guys to fill the conversational void in their life and am curious what you think of it. It's sort of like the companionship marketplaces in Japan / China.

The creators on the site are offering SFW company, nerdy discussions, and an ear to listen to your problems via video call.

Here are a couple of them:
https://www.hypacia.com/profile/carina
https://www.hypacia.com/profile/ivy
https://archive.ph/J4JIs
Pretty sure they mean get offers from connected people in your network... like how the rich do.
You're making a joke (and the reference is great) but this is actually what happens. It's where the idea of "Lead" came from, and in many other industries it's much worse. It's why in business there's "(Acting) Associate Senior Execuitve Global Managing Director, Clients and Markets" type positions, so nobody can definitively compare themselves to one another ("oh, so you'll be reporting to me") and people can feel like they're moving up, instead of just being called "manager" or whatever and understanding it's a wide band.

And you missed Championship Edition.
What happened in 2017 to start increasing crime?
As with any scarce resource, the most effective people will get them.

This piece is to help people be marginally more effective and be one of the ones that gets it.

PS: your question assumes stable demand for software engineer, but I'm completely uncertain whether it will grow stay flat or disappear. It all will depend on how AI goes, as well and overall economic development and digitization of the economy.
Vigenere cipher is considered harmful
Does not seem to be anything behind the Codegram link
This is quite unsound advice, from someone who happened to grow their career in a period where the software industry was growing faster than it could find talent, so job hopping was the best way to grow.

Maybe not bad advice, just ineffective in any mature industry where promotions are typically internal, changing jobs will almost never land you into a more senior position - unless you are really, really good at CV stuffing and bullshiting your way through interviews - and leaving will usually "reset the clock" you accrued on the internal promotion ledger.

It this, more traditional setting, promotions are a power game and managers use promotions strategically to increase their own power in the company and gain allies. This means that you have a cooperation-competition relationship with your own manager: he either levels up and drags you too because he wants loyal people around, or he sees you as a potential competitor his own boss might promote into lateral teams that will then suck his resources. Knowing where you find yourself in this game, who are your allies, what does upper management want and how can you fulfill it and gain their confidence are the keys.
See also https://news.ycombinator.com/item?id=39478551
Le Roux is my guess, and Satoshi was referring to himself.
Unfortunately, UB has some extremely nasty characteristics, and even if it doesn't do anything nasty now, it's not a guarantee that it won't turn into a problem later.

Making assumptions about what the code should be reasonably interpreted as is unfortunately not a good bet to make.

At any time, a new compiler version may do something bizarre when it figures out the code is UB.
It's not fundamentally different, and all engineers should be scaling their impact. Staff engineers who think like this tend to be the most useless engineers, since they eschew real work in favor of appearing politically powerful with lots of cross-team impact. Scaling impact is good, but real work often requires being deep in the trenches.

The engineering ladder is one of the worst things to happen to this industry. Sometimes cross-team is the easy stuff, and solving some deep technical issue has the most impact.

People here hate leetcode and IQ tests but they are far better filters than "job level" where I've seen many principal engineers failing to write basic code.
>It’s just injecting a little bit of life and visual variance into the text.

The best way to inject a little bit of life into a text is with engaging and vibrant writing, not putting colourful stickers all over it.

I guess the sticker thing works for 6 year olds though.
n-queens too, a simple example that can benefit from this bit trick. Eventually you're looking for free columns in the current row where queen can be put. Instead of going over all columns, with a few bit operations iteration can only go directly through free columns.
> I have been intrigued by the phrase “people ‘hire your product’ to get a job done.”

Here’s a good article expanding on that point:

https://hbr.org/2016/09/know-your-customers-jobs-to-be-done
Homelessness as Psychological Trauma (1991)
That's the general perspective but it's incorrect. Something like 1 million people are getting long term opioid prescriptions via the NHS (in the UK): https://www.england.nhs.uk/long-read/reducing-long-term-opio...

It's definitely not true to say they are the drugs of last resort in the UK. They may not be the drug of 'first resort' like they were in the US, but there is still an awful lot of people getting Oxycodone etc via the NHS, especially in certain areas (tend to be rural and deprived... very similar to the US): https://ichef.bbci.co.uk/news/976/cpsprodpb/166DF/production.... The top regions on that graph is actually higher than the US rate (https://www.cdc.gov/drugoverdose/rxrate-maps/index.html)
There are a lot of us keeping RSS alive. I've been working on a very minimalist RSS reader in Phoenix LiveView for like a year now if anyone is interested in trying out another reader: https://catnip.vip
It's 32 colors in normal and 64 colors in extra-halfbrite.
This advice is not wrong, but honestly it could be way more cynical.

The first step to get promoted is to understand the promotion process of your current company, if they have a formal one. It took me one year to learn how promos work in my current company, and that was one whole year of progress lost.

Then if you really want to get promoted fast, you need to optimize to meet the promo criteria. Often that is in line with OP advice, sometimes it is against it. And above all, learn about scope, impact and visibility. Also learn about optics and politics. Sadly often promotions are not so much about your accomplishments, but how you present them and how people perceive them. The old advice of "work really hard and you will be rewarded" is moot if the right people don't know about it. Some people get promoted faster by doing less but promoting themselves harder and louder.

Even if you don't want to exactly game the system, it is still useful to know how it is played. For example, if you accomplish some extraordinary, spend a bit of effort letting higher ups know about it.
The article itself isn't great, but it does briefly mention Leslie Lamport's 1978 paper "Time, Clocks, and the Ordering of Events in a Distrib­uted System."

In a 2016 interview, Lamport talked about his experience writing this paper and its association with special relativity. This short clip [0] from that interview is worth a watch.

[0] https://www.youtube.com/watch?v=nfRouGH0oMg
The problem is that it omits the code you want it to write, and instead leaves comments with homework assignments like "# implement method here".

GPT-4 Turbo does this a lot if you don't use the unified diffs approach I outline in the linked article.
Parent obviously means childish as in "simple and easy manner" not as "something 10 year olds will understand".
Korea fines Twitch $327k for suspending service
> If you’re willing to cut ethical corners in one dimension there’s no reason to believe you won’t in other dimensions.

There is reason to believe. People have different ethical standards and some standards are more conducive to getting honest useful results. In this case I think free and informed consent is important. But the ethical framework our medical system works to is counterproductive and destructive; so there is reason to believe that the ethical option is to ignore the official rules on ethics under some circumstances. I personally am of the opinion that the single biggest threat to my health and wellbeing is the West's culture of forcing everyone to conform to the highest possible safety standard and paying no attention to the cost-benefit of that. As I measure it, our absurd standards appear to be crippling (with respect to some hypothetical entity that had more reasonable standards) the west's:

* Manufacturing capabilties.

* Energy security.

* Medical research.

So while someone with different ethical standards might also cut corners on the quality of the reporting I find it extremely easy to believe that someone with different standards might just produce better research. We don't all have the same ethical frame.
Ambiguous is definitely correct. The precedence is ambiguous, but the language chooses to make that ambiguity illegal.

In some languages it might fall under the realm of "undefined behavior" (in that it compiles/validates syntactically but will likely blow up at runtime), though most linters for even those languages warn you about that. Alternatively, it might define a precedence for you, avoiding the need for parens.
I really dislike these faux-philosophical pieces about Bitcoin that posit some cosmic or metaphysical problem that Bitcoin and specifically proof-of-work is the solution to. Even when it is something like having a interstellar civilizational clock that's achievable and maybe plausibly useful, it's presumed that that's like some very very important thing to have and it's treated as much more profound than it really deserves to be, and that Bitcoin/PoW is the only solution. This article is a more mild example of this writing style but it still feels like it does it.

There was another article I saw a while ago that tried to argue seriously that broadcasting the Bitcoin blockchain to space is how we'll show to aliens that we're an advanced civilization capable of harnessing vast energy. If someone has the link please share, I can't find it at the moment.

Edit: a different example from Michael Saylor https://www.youtube.com/watch?v=dXix6OIU1hw
At least on x86 processors, most idiomatic bit manipulation expressions like `word & -word` or `word & (word - 1)` compile to a single fast ALU instruction. __builtin_clz and similar are comparatively more expensive on many architectures.
> may be misremembering but didn't Feedly step up very quickly? Even offering the ability to easily migrate everything over.

I remember the same thing as you, so I think that's correct. But I would say Feedly probably only recouped some single digit percentage of Google readers users. But then there were however many other users who had their relationship with RSS forever fractured from the shutdown of Google reader, and the absence of a smooth off-ramp certainly contributed.

I also think that having the credibility of Google behind RSS contributed to people being comfortable with them, not unlike iPods helping lead to the adoption of podcasts. I shudder to think whether podcasts would even have gotten off the ground without people being socialized into accepting them through the connection to an Apple product. And while I'm not an Apple fan I'm forever grateful for the long term impact on how we consume content.

So I would say the long and short of it is that Feedly helped, but I suspect it was perhaps an order of magnitude smaller in terms of its role as a positive force for RSS than Google.
I think the second parenthesis is not needed to create the generator expression. Source [1]

6.2.8. Generator expressions
...
The parentheses can be omitted on calls with only one argument.

[1] https://docs.python.org/3/reference/expressions.html#generat...
do you have a link to the cable you use, and what's your python script? Thanks!
I'd guess no too, since there's no site at that domain.
Comments, yes—but how do you automate which comments are meaningful?
Archival Floppy Disk Preservation and Use [video]
NewsBlur user here too. I just want something that's as close to Google Reader as possible, and that's it.
I'd be interested in seeing a similar analysis but with a slight twist:

We use (in production!) a prompt that includes words to the effect of "If you don't get this right then I will be fired and lose my house". It consistently performs remarkably well - we used to use a similar tactic to force JSON output before that was an option, the failure rate was around 3/1000 (although it sometimes varied key names).

I'd like to see how the threats/tips to itself balance against exactly the same but for the "user"
How do you debug in a complex situation?
Of course! please do.
I had same experience at a large company.

Guy had a very simple project. He came to me and asked for "help." I found an external vendor who specialized in solving that problem (building a basic product extension) and got it done in two weeks.

When I gave him the solution, he immediately stopped talking to me and wanted nothing to do with me.

It turned out he had gone to a VP, cleared a 50 person team to work on this problem. He had a weekly call with like 10 people (tiger team he called it) to do nothing but this and nine months later they released the solution and had a giant party.

Everyone got credit, high fives all around.

AT that point I realized that work is a huge scam at large corporations. He was optimizaing for a "promotable event" that "spreads the credit far and wide."

Nothing to do with solving the problem efficiently.
It also doesn’t sound bad if one calculates that 2.4% annual inflation would exceed 100% over 30 years, and one considers that below about 2% is often harmful to the economy.
This is the first GDPR banner I've ever seen that gives no options but "Consent" or "block our cookies with your browser." Is this willful noncompliance?
I already do on quite a few things but I still prefer it to the alternative.