skysight-inc/HackerNews huggingface dataset:
The internet is just a fad.

Only nerds want a smartphone

Bitcoin is a scam

NFTs are just stupid

Just because I don’t like the aesthetic qualities of NFTs does not mean the whole space is bunk.
None of this stuff is "actionable" anyway, unless you're part of a tiny cadre of policymakers. It's useless information anyway, it just depends what level of abstraction you find more interesting to ponder about.
There's a big push across all of Dev Twitter right now to do away with SOLID. To say I think it's misguided is an understatement. There's a similar push underway to do away with unit tests. The direction of our industry right now is very concerning to me. And honestly, this may be an unpopular opinion, but I think a lot of it is driven by people who disagree so vehemently with Bob Martin's politics that they overcorrect and start throwing out his good work too.
Pauli, in one of the sickest ever physics burns, said of his colleague’s work that it was “not even wrong.”
You might enjoy "There's plenty of room at the bottom" by Feynman.
Isn't the future of applications on the browser only possible because the current browser leader (Google) isn't actively fighting cross OS support? Because what's a browser if not a universal front end for widgets. We could have had cross platform widgets but that would have made it too hard to monopolize one platform. Google have simply abstracted the previous platform leader (Microsoft) advantage away from them.

It's interesting, but depressing that we keep letting these greedy humans lock us into things. We keep wasting time fighting them and each other.
I've worked on projects with database swaps, too, but I find it hard to believe that use of abstraction in advance would have helped them. There's a couple of cases.

One is that you're using two SQL databases and you're not using any advanced features. You started dev on MySQL, and then the company says "Thou shalt use Postgres" (or whatever). You don't need anything fancy in your own code to handle this. You're still making SQL queries, you're just swapping out the database engine. Technically, this is an example of dependency inversion (depend on the SQL abstraction), but you also didn't set out to do it - basically any programming language you're likely to use has the common database libraries use a common abstraction for sending queries. And you didn't specifically make sure you were writing generic SQL, you just happened not to need anything.

More commonly, you're switching databases for a specific feature. Maybe you realize PostGIS (or whatever) is going to solve a problem for you very well. But then you're changing how you model data, what your schemata are, and even how your code is architected and accesses things in the database. You're deciding to move certain logic from your code to the database engine - might even decide to move certain logic from the frontend into the backend, or change how request routing works, or something. This is a fantastic reason to move databases, but no amount of abstraction can prepare you for it, because you're fundamentally changing what the abstraction is. And you're deliberately abandoning SOLID because you're picking up a dependency on a concrete database.

But the real case I've seen is where you're switching databases (or data storage layers, more generically) to a different model - MongoDB to not-MongoDB, a C/P database to an A/P one, a relational one to a key-value store, etc. This is the above case but even larger. There is no abstraction you could possibly write that could encompass the old and new cases. It requires rearchitecting how your code works.

And then there are the most boring of cases - the ones where a database swap sounds doable in theory and the code is supposedly using an abstraction layer, but no one has ever verified that the code doesn't make assumptions about what database it's on and the code has gotten too big, so we just get an architectural exemption from "Thou shalt" and we run our own instance of the wrong database, because the overhead of running our own DB costs the business less than getting the swap wrong.

(Some public examples of these sorts of database migrations that come to mind: https://slack.engineering/scaling-datastores-at-slack-with-v... is about how Slack couldn't move away from MySQL and the architectural assumptions they made about it and had to rule out migrations to non-relational databases out of hand, and https://about.gitlab.com/blog/2018/09/12/the-road-to-gitaly-... talks about how GitLab moved from NFS storage to an RPC service, requiring a lot of refactoring of callers.)
I think it is easy to see programming as the language of logic. But this is what I've observed as my wife has learned to use python, javascript, and R for her work.

The huge majority of errors have nothing to do with inability to think logically. Instead it is "I'm getting some incomprehensible fucking error message from conda" and it turns out the root cause is that her machine has multiple python installations and the places where dependencies end up installed are all fucked up and the solution has nothing to do with programming.

The second most common source of errors are "weird language things". Something can be expressed perfectly reasonably if you were to read it as pseudo-code but weird edge cases cause problems. Consider "==" vs "===" in JS. All sorts of fun issues there and it isn't really failing to understand "the language of logic" that causes people to bash their heads into a wall until somebody says "oh, JS has multiple ways of doing equality and you just need to know that".

The existing software ecosystems are nowhere near ready to support people who just want to think logically about problems and algorithms. It is just too filled with "wtf does PC_LOAD_LETTER mean".
> "Unit Tests are like pouring concrete on your code base."

My experience is the exact opposite. Tests make me feel safe to perform code changes a bit more aggressively than simple refactors. If behavior coverage is slow, I spend more time double checking I'm not breaking stuff along the way.

Sometimes changing implementation will mean changing tests too which might seem to be defeating the point, but this is because the test isn't good yet so it's an opportunity to improve the test and stop leaking implementation details. To me, it pays off handsomely in the long run.
You've changed a fuzzy and incoherent quote about looking for evidence that the vote was tampered with into a clear directive. This is central, or it wouldn't be the thing that everyone uses to reference the event.

And to be clear, I am specifically saying they're wrong about it being a "correction" instead of a retraction as well. They can call it what they like, but when the central quote that they based the narrative on is false, the whole thing collapses.
V60 pour over, a nice conical burr grinder, and a Fellow Stagg EKG pour over kettle.
Gasoline taxes are, like most other use taxes based on things everyone uses, extremely regressive.
Yawn. Exceedingly tired of these “X is bad” kind of posts. People can critique things all day - it’s hell of a lot harder to create something new, and those are the kinds of pieces I’m interested in.
> It's unfair and pointless to expect SOLID (or anything else) to apply in any and all cases.

I think that's a big part of the problem, and how we end up with articles like this. A lot of developers do expect SOLID to apply to every case, and I've seen fine code get rejected in reviews because it wasn't SOLID enough.
They don't remove pages for inactive companies. Check the parent's archive link for what that looks like.
It's been explored for years. Here's an article from 5 years ago: https://www.smashingmagazine.com/2016/05/fluid-typography/
and in your estimation, 30 years (actually closer to 20) isn't enough time to get good at a thing?
We're different than Atlas and people prefer us over them (and others) because we're much more than just incorporating, and leaving you out there alone navigating all the challenges. We support founders along the way.

Once, one of our customers said "most services out there throw you to the wolves after you paid". You get the point.
How to search Git history with Git bisect
I don't understand why this isn't more popular.

This has been the sandboxing method or choice since the 70s. Filesystem permissions were designed around users and groups, and now everybody's trying to bolt on intra-user access control lists and wondering why the experience sucks so much.

Create a `browser` user. Add yourself to the `browser` group. Maybe give `browser` read access to an area in your docs folder for convenience. Modify your browser launch script. Done.
We need to invest in long term R&D to potentially achieve an ML breakthrough in one of the above fields instead of allocating enormous capital to ML unicorn businesses.

But to do so, we need to first openly admit the truth. ML is not working for the wide range the problems it is currently pitched for.
Can anyone opine as to how these tests are achievable in a browser?
That's... not what front running is. Front running is a problem of agency relationships. The classic example is you placing an order with your broker, and your broker using that information to trade ahead of you. Your broker is your agent and has a duty not to carry out your requests in ways adverse to your interests. What this article (and Flash Boys, for that matter, which is a terrible book) is describing is something more like price discovery.
Thanks so much man! Greetings back :)
An alternative to deorbiting all this junk would be to aggregate multiple smaller pieces into a single trash pile. You could sweep all the trash from a swath of orbit, and tie it all together. Next you attach a single rocket to provide an emergency manouvering capability. Eventually, decades from now, you send a recycling unit to reprocess all these highly refined materials into something useful.
The vaccines appear to be plenty effective enough to stop the spread, if enough people get them.

We don't have great information about the variants, but the big improvements in Israel and England are encouraging, even with vaccination still ongoing.
You might find this cspan call about LEO press releases interesting.

This is FBI Agents Association representative Rey Tariche responding to an observation that look like they’re entrapping in order to justify their budget.

https://noagendaassets.com/enc/1555616344.323_producermattca...
at least a louis vuitton bag can actually hold things in it, and you can't get an identical free one by right clicking an existing one and clicking "Save image"
Why is this better than media queries? The user rarely drags the window edge back and forth, and if they do, they do it one time to resize the window.
> Is it just me

Given every post on crypto / blockchain / NFT on HN is full of these exact same comments showing utter disbelief and bewilderment, for the past 10 years, the answer is “No, everyone here thinks like you.”
I agree that there are solutions available at a reasonable cost, but the question is why this organization appararently did not implement any of these solutions, and will they do it after this incident.
OptMeowt lets you easily opt out of data selling and tracking
This is a ranty and poor article, and I will continue to use SOLID. As with everything, just mindlessly applying the principles without consider if the resulting code is simpler/better or more complicated/worse is the wrong way to do it.
You are doing interface/function level testing and calling it unit testing.

That's what industry converged on, that a function/method = a unit, but it apparently used to be that a module meant to be a unit.

It can be that both interfaces and modules can be considered a "bag of functions".

Seems like a lot of confusion about unit testing, mocking and DI stems from this historical shift.

I believe that interface/method level testing is too granular and mostly results in overfitted tests. Testing implementation, not behaviour. Which can be useful for some algorithm package for example, but probably not so much applicable
to typical business logic code.

TDD: where did it all go wrong.
https://youtu.be/EZ05e7EMOLM
If Flatpak security is this much of a joke, why do people go through the trouble of using it? Flatpaks are outright cumbersome, and bar-none my least favorite way to install anything. Have a local GTK/Qt theme/colorscheme? Gotta manually patch it in. Have a small main drive? You can store maybe three or four Flatpak'd apps. Slow internet connection? Good luck, you'll be here a while. All of it boils down into the outright worst way to distribute software on Linux. I'd rather use Snaps, which should be taken as a violent insult to anyone who's familiar with the medium. Nowadays, if I see that an app is exclusively distributed through Flatpak, I'll compile it from source or find an alternative.

The future of software cannot be containerizing anything dangerous or complicated. All it does is add an extra layer of abstraction that makes it harder for the end-user to use your software. All of this seems especially redundant on Linux, where we could take any number of extreme measures to sandbox software. Why did we choose the path of most resistance for the user?
This story is also a good parable of why Veblen goods [0] distort GDP as a measure of value creation. If Apple had decided to lean in to that market, raising the maximum app price to $1M, and those same 8 purchasers who bought the original I Am Rich purchased I Am Rich 2.0: would anyone really believe that that $8M of real-world value was created?

[0] https://en.wikipedia.org/wiki/Veblen_good
Maybe NFTs are the solution. I kid but.
Insurance apps that track your driving could now yield premium increases
Is it OK to just copy the UX/UI from notion?
https://i.imgur.com/OGcuEGS.jpg
Where does this energy end up?
I buy it during my daily walk to groceries shop.
It is not just you.

But, NFT's are selling "participation". You are not John Cleese, and you're not even all that funny. But you're an enormous fan, and happen to control an adequately-large amount of cash.

In the same way that you can hire Elton John to pretend to be your friend for a few hours, and play at your wedding, etc, you can also "buy in" to a very public partcipation in some art, or joke, or both ... at no meaningful cost to you.

Surely the market is limited. But people have paid a lot of money for a piece of toast, too.

In this case, it's no weirder than Cleese selling his socks for charity. Or profit! Who cares? Eat the rich, it's all good.
One of the first things you learn in theoretical sampling classes is that polls where people self select to participate (like twitter polls) are garbage
Well it's just a little film about a magician, a 'guesser'. To be honest I think I wrote that mostly because I'd watched it the night before! But as a magician I recon you would enjoy it. :)
Literacy is actually a good analogy. People have different reading abilities, but they're all under the umbrella of literacy.

Some people are illiterate, some people can read simple documents but struggle with higher complexity texts and contracts, and some people can breeze through high complexity texts. In the same way, some people struggle with computers, some are able to understand Excel spreadsheets, some are able to understand business logic expressed in a domain specific language, and some are able to read complex programs.
Imagine moving to Florida for the nice weather, and then complaining that it's hot and humid all the time.
Most countries don't even have an entrapment defense [1]. They regulate police overreach by other mechanisms.

[1] https://core.ac.uk/download/pdf/46710181.pdf
The stopgap solution for this is pascalw's kindle-dash[1]. I set it up on my jailbroken kindle and now it displays some headlines, my google calendar events, and the weather (via OpenWeatherMap API)

Last time it was on HN: [2]

[1] https://github.com/pascalw/kindle-dash

[2] https://news.ycombinator.com/item?id=25939042
Multiple Users Reporting Fedora 33 Hanging at Boot
In the book titled "The 48 Laws of Power."
Now twice compared to Theranos.
In the uuid case, the person had no choice. Remember, these are principles, not laws, and at some point your system is making concrete choices. Choosing UUIDs isn’t necessarily a OO design problem. He was just highlighting how expensive it can be if you require changes to your fundamental classes to extend or change behavior. In the identifier type case, it’s rare that folks abstract this stuff away. Though: I do know a LOT of systems that use synthetic identifiers for this exact purpose, as larger enterprises tend to deal with many more different identifier types from different integrations, from a DB type that can’t hold new identifiers, because IDs need to be sharper/distributed etc. So yeah, it’s a principal, and one should choose if it’s worth the upfront cost for its benefits.

OCP though more commonly refers to:
1. Building small, universally useful abstractions first
2. Extending behavior of that abstraction or system by writing new code rather than changing published code directly.

This is trivial when you have a few patterns under your belt. Template factories, builders, strategies, commands. I mean, while it’s not the best idea in most cases, even just inheriting a parent class and giving a new concrete new behavior is still better than changing something fundamental to the system.

Like has been said 999 times in this thread, software isn’t black and white. You have to make choices about where you go concrete and where you abstract, and gauge that against risk factors. A somewhat complex class you expect to go away in a couple months? Make it a god class that anyone who wants to can scan through. A fundamental class that will be used by hundreds of developers and underpin most operations in a production system where 5 minutes of downtime costs tens of thousands of dollars? It’s worth the upfront cost to build with these standards.
K-Factor (Marketing)
This is not the first time art is destroyed upon purchase. Long before NFTs, a painting (banksy?) was shredded right after auction.

Not sure if anyone called that evil or idiotic
Semiconductor foundries are a thing of the past. Rebuild the computer industry
Wow that makes it even worse. I had no idea, apologies.
> It's what annoys me about low-code solutions - it's like trying to write your novel by linking pre-drawn cartoon squares together in innovative ways.

There's a reason societies which switched from hieroglyphics to alphabets have higher literacy rates—the best way to promote widespread literacy is to make it easy and accessible.

Before the pandemic shut us down, I was a volunteer teacher at Girls Who Code. We used Scratch, which I was a bit skeptical of at first, but then I watched the ten-year-old students struggle to type a sentence at three words per minute. In Scratch that didn't matter—they could create all sorts of programs.

In a different context, while I'm not personally a fan of complex spreadsheets, they seem to be effective for a lot of people, who I suspect would otherwise struggle with Python.

To be sure, Scratch and Excel are still much slower and clunkier than "real", text-based languages. But I'm not convinced that typing words into a text editor is the ultimate way to create software. And even if it is, we've got to find a way to make this stuff easier, because I don't want to live in a society where a handful of elites are able to make computers do their bidding, and everyone else is left to consume the scraps offered from on high.
Not defending the article at all, but "whose head" should be at least a code reviewer's head, ideally two.
I'm not a fan of Twitter but it's definitely not just free copy for them; it's like a new communication tech has been invented (i.e. telegram -> phone) but this time it did not have immediate military application (I guess) and government wasn't the one doing the research and unfortunately the tech didn't become as open as the Internet or phone lines. My guess would be that large social media platforms should be part of telecomms now. Calling someone is not as common as it used to, it's now all SM.
Reflecting over Members of an Aggregate with Standard C++17
You could make such an argument, it's the internet after all, but the third founder of Apple was Wayne.
I used to work at an aerospace startup with a lot of ex-SpaceX people. They worked 60 hrs/week and felt like they were on vacation.
The good idea of unit testing is repeatable, reliable tests, ideally those that can be run as part of CI before every merge and also on your end-user machine. "Unit" testing imposes an architectural demand on how you do this.

What you actually want is fast and self-contained integration tests. Have an API endpoint that returns some filtered data from the DB? Spawn a DB server locally, load some fixtures into it (e.g., phrased in the form of a migration), start up your application server, and curl it and see if the data is filtered. Then shut it down. In most stacks you can do all of this in a fraction of a second.

The reason most shops love unit tests is that it saves them from having to figure out how to run those integration tests. It's easier from a Conway's Law perspective to use your language's built-in testing facilities to test the function you're writing, let the ops team figure out how one starts up a database server, and let the frontend team figure out how one makes HTTP requests to your application. But you will deliver better software if you spend a bit of time figuring out all those things and stick them in a tiny shell script.
"Excel as technical curiosity".

Peak SV.
Next up will be a set of data on the wing-flapping rate of African swallow and the instructions for the Holy Hand Grenade.

All the comments about supposedly "owning" a copy of an item that is trivial to make perfect digital copies... exactly.

If, somehow, the NFTs could be made actually non-fungible, and backed by the legal system, the one killer feature would be repeating revenue for the artist with every subsequent sale. That could truly change the economics for the perpetually starving artists in the world. If that came to pass, it might be worth all the electricity and carbon footprint.
What's up with Atlas Obscura? I see several posts a day here, is it a YC-backed blog? Also I don't think the building was abandoned, but it was a bank.
I have the note 3 as well and it would be rather perfect for many things if it would have a SD card slot.
IME, because client asked for the different one for whatever reason and is willing to pay for higher development cost.

You can argue about that just the same as when client needs a feature X.

In my case, I was very often getting away with YAGNI or 'how about we implement nightly sync from pg to oracle' but not always.
As is typical of patio11 this is all great stuff. One subtlety I'd venture to emphasise for people just getting started with building things and putting stuff out there, though, is that you should expect the impact of and return on any one of these things to be far from linear.

That is, the 'stacking bricks' metaphor may not apply so much. Yes, you should produce stuff on a regular cadence, and everything you produce is a learning opportunity of some form, but the fact is nobody will care about the majority of it, and it will therefore have very little concrete (pun intended) capital value per se.

Don't get put off by the fact that nobody cares about the first few (several, dozen, hundred...) things you put out there, just keep going til you hit on the thing that does catch on!
Responsibility Assignment Matrix
Are those socialisations meaningful though? If so, you could meet those people elsewhere. If not, why waste time on them instead of actual meaningful friendships?