skysight-inc/HackerNews huggingface dataset:
I think Dijkstra's joke is about how object oriented programs tend to eschew correctness rather easily. But I don't think he was saying that's a valid approach to solving problems.

Adding new methods to an object to tame complexity seems paradoxical to me. When something becomes too large, I generally prefer to investigate other means of abstraction/extraction/organization available in a given language.
Last night I finally pulled the trigger on becoming a Supporting Member of NOYB¹ (My Privacy is None of Your Business). Seeing this story on Hacker News tonight reaffirms that decision and I’d recommend that other Hacker News users who care about data privacy do the same. Technological solutions that we use (Firefox containers, uBlock, etc.) are band-aids that work for a technically adept minority of citizens. The real struggle is political – and legal when there’s data protection legislation isn’t being enforced.

¹ https://noyb.eu/en/support-us
I was thinking about the investor losses the value prop of those losses and the horizon to profitability.

In general as a user get in early on the free plans. Start decoupling when everyone else jumps aboard before the lock-in pain is too high
Amazon’s Lord of the Rings Series Rises: Inside the Rings of Power
How a P-51 Mustang Works [video]
I remember getting some kind of shot that was required to travel to the Dominican Republic and telling the pharmacist that I was planning to life weights afterwards (including that bicep!) and she said she thought that was great and would improve the effectiveness.
i just get name-squatting spam there.
Built a home maintenance todo list for myself and then decided to write up some details for each, link videos, etc so that others could use it to track their maintenance tasks around their home.

https://homemaintlist.com/
They are popular today in the privacy conscious world (including people making nudes)
Ha! I've been working on https://movielandmarks.com/ since 2006 or so. It has gone through various changes (started out as a LAMP stack). It is currently a static site built from a pile of json and a go program to assemble all the parts. I'm the only contributor these days, and only work on it when I feel like it.

At the start I had dreams of selling tons of DVDs via Amazon associates. But I'm terrible at marketing :) So these days it's just a simple site with no ads -- just 1258 landmarks from 322 movies. I sometimes announce new additions on twitter from https://twitter.com/movielandmarks but it only gets about 30 or so visitors a day (mostly bots).
I believe that we're interacting on a server that was written to these principles.
I lived in a lavvo from august 2015 to April 2016, and it was the most awesome year ever (including in terms of sleep). I had a nice setup with a platform covered with sheep skins, and two sleeping bags (it reached -15C that winter in southern Norway).

Back when I was younger (10-14) I slept outside more than half of the days of the summer. In the barn, under trees, in trees, far into the forest, often accompanied by my horse, dog and cat. The feeling of waking up outside is so nice. In the forest, the first birds in the morning waking you up, finding new places and exploring. I had capes, some of wool, one of reindeer skin, and that's all you need to be comfortable during the night. I used to ride my horse far into the forest and we would just stay there until the next day. Playing flute, doing woodworking or reading while the horse was grazing.
Haven’t used them myself, but I see https://www.securecodewarrior.com mentioned, aim is to teach developers and seems engaging.
> there's presumably little/no acquisition value in the eyes of the NYT without this tracking.

I pay their $4.99/month subscription for access to their "Games" package solely because it includes access to their full archive of daily crosswords (going back to 1993).

If they add a similar "archive" of the daily Wordles and allow payed users to replay past puzzles, that could presumably provide new value to them by enticing more paying customers.
There are many such MicroORMs, C# has a few extensions for Dapper, as well as several newer projects that directly have different querybuilders and convenience methods.
A man who got fired by his DAO
EAV is a pattern you can easily roll out -
https://docs.sqlalchemy.org/en/14/orm/examples.html#module-e...

Another commenter illustrated some of the issues you will run into with this pattern at scale.

It would probably help to benchmark some complex queries on a sizable data set. And compare against mongo, postgres jsonb, vanilla eav, clickhouse, etc. Without much information to go on, it's hard to know what this is.
Reposts are fine after a year or so. This is in the FAQ: https://news.ycombinator.com/newsfaq.html.

I just post those links to past threads in case anyone's curious to look at the old comments.
The Senate's top stock traders
It actually isn't oxymoronic though - I like being alive and my freedom to remain alive relies on the regulations and laws that discourage people from murdering me. Regulations aren't the opposite of freedom except in an extremely narrow view - regulations often help to make free markets more free.

This isn't a case of doublespeak at all - it's just that the world isn't a simple place.
SICP being https://mitpress.mit.edu/sites/default/files/sicp/full-text/...
These Apple "updates" are just going to get crazier and crazier, aren't they?
I can pretty much guarantee that whatever the "OOP is bad" guys think people should do instead will be viewed as "bad" in a few years. I was around when OOP got into the mainstream and it started out as a very nice and practical approach. Then the ideologues came in and complained loudly "this is not OOP" so suddenly you had to wrap simple functions into meaningless objects. Then you had to inherit a lot and create these huge inheritance trees. And so on. Complaints that things got too complex were squashed.

The same will happen with every technique or process that becomes popular and consultants, authors and mediocre but loud people take over. Happened with OOP, Agile and will happen with other things too.

When I look at the Kubernetes, microservices, "need to scale just in case we may grow by 100000% soon" monstrosities we are building to deploy simple CRUD apps I don't think we have learned much.

People still take useful techniques, make them into a religion and push the techniques to the point where they are becoming a liability.
The Invention of Battlezone (1982)
I find the idea amusing that exposing people's wordle scores would result in billion dollar damages. My life was ruined because someone was able to find out 60% of my wins are on 6 guesses!
I watched most-not-all of it and really enjoyed the build. Sure it could have been shorter, but also maybe they shouldn't be overclocking an 18 year old calculator just to play Doom. Who wouldn't want a water cooled calculator?
1984 explains the motivation.
>> Didn't this happen during Obama's presidency, when Hillary and Trump were running?

> Yes. And those accusations were true.

What's the rundown on this scandal? A link or TL;DR is fine -- not trying to derail.
Haskell gives me headaches. I write a lot of Rust, which has elements of both. I think their approach is pretty good, though sometimes regular inheritance would just be easier.

I don't hate OOP. I don't love it either. I tend to write my code in a mix of procedural and diet-OOP paradigms. It tends to produce less state, less inter-dependencies, and doesn't require abandoning stuff like mutable state.

Why do I want mutable state so bad? Because it's the easiest, least abstracted solution to the problem much of the time, and closer to what the compiler will actually want to generate.

I think trying hard to stick to a single paradigm is folly. I like mixing and matching according to the task I'm attempting to accomplish, and I have a firm conviction that my code benefits from this ideology. Encapsulation I do value, but not as a "hard no". I use access specifiers to tell you "you probably don't want to mess with the guts of this thing, it can take care of itself better than you can."

As for inheritance, I don't use it very often. I like how C++ has no base "Object" class. A lot of the time I'm basically writing structs with methods, and I think that's often the right approach.
Time does not go away from the concept of value when you remove state.

What state takes away is access to a given value at any other time but now.

It's always now; every value is the current value and no other version of that value exists.
You slighted Elon and lived? Very impressive. Those Fanboys are crazy.
This is a great response - very happy to hear Apple's involvement with various groups to make things better.

Some noteworthy bits:

> we innovated with the first-ever proactive system to alert you of unwanted tracking

If that's true, then Apple just raised the privacy bar and now Tile and other small players need to up their game to stay relevant.

There is also lesson to learn here: whoever makes a tech/product popular is the one who gets the heat for all its shortcomings/problems. It doesn't matter how many existing small players were doing a horrible job for years.

> As an iPhone user moves, Precision Finding fuses input from the camera, ARKit, accelerometer, and gyroscope to guide them to the AirTag

This is something that's not appreciated. The UWB chip on the Airtag can only help iPhone know how far away it is from the tag. It's 3D modelling of the world through camera vision that helps triangulate and guide the user via live on-screen direction.

Next time you think why we need tech X, just remember that you can't foresee what it'll enable in the future - (and before you comment "all AR stuff to find my keys faster?", re-read the previous sentence again).
Description from Animagraffs by Jacob O’Neal[0]:

> Take an in-depth look inside a North American P-51D fighter plane from the World War II era.

> SOFTWARE USED: I use Blender 3D to create these models. It's free and open source, and the community is amazing:[1]

[0] https://animagraffs.com/how-a-p-51-mustang-works/

[1] https://www.blender.org/
My issue with OOP is: Design Patterns: Elements of Reusable Object-Oriented Software.

I don't take issue with the authors, with their insights, or anything related to the content of the book. It's that the book exists at all: it's a book filled with solutions to imaginary problems.

When using a procedural language the first thing you do is start implementing a solution. When using OOP, you first have to solve the imaginary problems created by OOP, only then can you start down the path of typing out a solution.

It's significantly more difficult to refactor OOP (even with great tools) than it is procedural.

If you could spend 20% less brain power, possibly 40% fewer keystrokes to describe the exact same solution, why wouldn't you?
I built a few utilities that help PeopleSoft developers do their job. It's a pretty niche market and it's all MIT licensed. I work on it when I need it to do something, or someone requests a feature. They have stayed pretty low on radars since they were released (the oldest was 6 years ago). I don't work on them for them to be popular. I work on them because the few times I've needed them, they were indispensable.

Trace Wizard [0] - Peoplesoft App Server trace file analyzer. Shows execution paths, sql statements, exceptions and a bunch of stars.

DMS-Viewer [1] - Peoplesoft uses a program called Data Mover to migration data between databases. It exports the data into an undocumented file format. This utility allows you to inspect and alter the data before importing to a new database.

Pivet [2] - command line utility that dumps various Peoplesoft definitions/code to disk and leverages git for tracking the changes. Intended to be run as a scheduled process.

[0] - https://github.com/tslater2006/Trace-Wizard

[1] - https://github.com/tslater2006/DMS-Viewer

[2] - https://github.com/tslater2006/Pivet
> they have multiple distinct spoken languages sharing the same writing system

It's... complicated. If you sort of squint the writing system is maybe the same in the sense that across different Chinese varieties cognates are almost always written the same way (e.g. Cantonese and Mandarin). But a lot of non-prestige Chinese varieties don't really have a standardized writing systems (although a very interesting phenomenon is that speakers can generally tell you when a given word has an associated character(s) they could write down for you and when they can't think of one). So usually when a writer of a non-prestige Chinese variety writes she/he is writing in Mandarin, not in the variety itself.

Nonetheless, there have e.g. been historical Chinese novels written in non-prestige varieties (e.g. in Min or Wu) so in that sense yes the same writing system can and has been used, but different authors might use different characters depending on how they understand the relationship of certain words to the prestige variety.

Even the different languages part is complicated. https://news.ycombinator.com/item?id=16844074

As for what phonetic "spelling" out happens in Chinese, usually a loan character is used (e.g. if live transcribing something where the transcriber hears some unfamiliar words, the usual solution is to write down characters with the same sound and mention that this is purely a sound loan in parentheses).
For me (different language, if it makes a difference), the "Discover new Lists" was interesting but didn't work because just that one doesn't have an aria-label. Instead, it's just a series of divs placed consecutively in the Lists page, each containing a span inside, with the header and the suggested lists.

I found it a nice challenge to learn a bit about selectors and uBlock Origin filter rules, and got this working, for anyone who might care:

twitter.com##span:has-text(Discover new Lists):upward(6) > :nth-child(n+5):nth-child(-n+11)

PS. also a nice tip: you can use the uBlock's "element picker mode" and write your filter starting from the "##" (i.e. leave the domain name out), and that will provide immediate visual feedback of the affected area, without having to reload the page. Neat!
> I don’t believe your parent is arguing for centralized planning in any shape or form.

National regulation is a form of centralized economic planning. Is it always bad? No. Is it always good? No.
Could you explain this to a layman with an interest in FP?
I was aware of apps for delivery but not take out. We just call.

But now I’m curious about delivery. Are pizza and Chinese shops migrating over to those services, willingly or unwillingly? As long as I’ve remembered, they’ve always offered delivery for free.
You you didn't understand and I would like to try again, put bluntly: things don't teleport or cross borders by themselves, so someone is always operating in mutiple jurisdictions and can be prosecuted in more the one, traditionally for physical goods it's usually the importer who buys stuff in a place (and can be prosecuted for that if it's something illegal to buy in the origin country), and sell it in another (and can be prosecuted for that if it's something illegal to sell/own/eat/whatever in the destination country), off course the original seller in the origin country or the final buyer in the destination country can also be prosecuted in theirs respectively jurisdictions as well... Now for some online services like chat apps and whatnot there's no such middle man, people in Germany are only able to use telegram because telegram is directly providing the service for them, so if keeping some text online/acessible to people in Germany is illegal the government will go after the person/group responsible for that, in this case telegram to fine/whatever, they even usually provide guidance in cases like this (like "hey providing this kinda stuff over here is illegal, fix your service - delete the content, make it not available to people here/etc - before we have to go to court"), if writing such text is also illegal whoever did it is also in trouble.
> I then have to go out of way my to prove to this person the code is doing what is expected/asked, either in long winded responses on the PR, or sometimes as far as pulling them into a video call to screen share and live debug the code to them

Process issue. Fix:

1. Write tests

2. Ensure tests can run in a well defined/containerized environment so that they can run tests and ensure they pass
That's quite generous then, I'm mostly basing assumptions on other communities where moderators assume the worst automatically, and you might as well talk to a brick wall... but thinking on it that's not the case on this site. Most of the time ;)
This is what lot numbers are for, the tracking (and in this case: leveraging) of variability between production runs. Spread multiple lots over more than one storage array and you're good to go.
> The crypto tax software, of course, doesn't know what to do with it

I’m still trying to calculate proper basis and gains on transactions from 2018… tens of thousands of trades in various complex hedges across 7-8 different exchanges. I just aggregated everything in a single line item on my original return but of course I got audited T_T
There's a lot to think about in your comments in this thread but I have a nitpick about functional programming style here.

> In fact maybe it's nicer to have that implicit state strewn everywhere instead of having to carry around values which are irrelevant for the bulk of a function body and only relevant for a single part of a subfunction.

I would call this an anti-pattern in FP. It's often a symptom of trying to replicate more imperative styles like OOP in a pure language. Threading mostly-irrelevant state through a bunch of different functions is a sign that your program is under-abstracted. If you think of all the function calls in your functional application as a tree, state should stay as close to the root of the tree as possible, kept in nodes it's relevant to, and the children and especially leaves of these nodes should be decoupled from it to the greatest extent possible.
Exactly, especially if he is using snapshots, BTRFS can cause serious write amplification for frequently snapshotted and changed data.
Consider theft. Now the thieves have the victims phone number to attempt to further steal from them. Or if there is an audible sound, they know the police is coming after them and can drop the airtag and avoid apprehension.

This is a two edge blade. Personally, if I was going to use an airtag I would use it to protect myself in case of theft. Now, the thieves can locate the airtag due to a notification and move it to an unsuspecting other victim, which will then move on to press charges against me, and I will have to defend myself in court. I don't see the appeal.
But "completeness" already has a (different) definition, like when we say the reals are complete but the rationals are not

edit: to match with existing terminology you might call the reals the "completes" and the complex numbers the "algebraically-closeds" but... meh.
> Even if the runtime is stripped down and compiled to wasm, it seems kinda wild to send a whole runtime just so you can run C# code

FWIW, you seem to be talking about Blazor-WASM, but most real-life Blazor usage right now is server-side Blazor which doesn't do any of that.
> If inflation were allowed to run a bit higher, it could deliver a long-overdue win for young people who have had to face a combination of stagnant wages and rising housing costs. “

Yeah this doesn't make any sense. Housing price increases have far outpaced any increase in wages. If inflation continues to run hot, I expect housing will just get even more expensive especially as investors will be frantic to park their money in something that beats inflation.
Before I left my house this afternoon, I had misplaced my keys. Unfortunately I tend to be a little absent minded. I used my AirTags to find them in 30 seconds. I commented to my friend as I was walking out how these AirTags have save me hours during the week, because I would often 20+ dozens minutes searching for my wallet, keys, or e reader.

I am so happy that these exist.
I wonder how this would work. Even if you do find the Apple ID the AirTag is associated with, how do you find the person associated with the Apple ID? You can use any name you wish there as far as I know.
I simply downloaded the HTML and rehosted it on my site: https://matthew.science/wordle.html
I just spent 20min to look for that debate between some of the big players:

* the optimistic side: https://medium.com/offchainlabs/optimistic-rollups-the-prese...

* the zk side: https://blog.polygon.technology/zk-and-the-future-of-ethereu...

On one hand you have a complicated protocol that doesn't really use cryptography and that has the user (you) monitor the blockchain for a week to make sure their transfer was processed correctly (otherwise my understanding is that you have to create a fraud proof, send it to the chain, otherwise you will lose your funds).

On the other hand you have a cryptographic proof of a few kilobyte that proves that some program correctly validated and applied the state transition of thousands of transactions.
I’m addressing the premise of your question. If someone’s mental health is affected by technical, then that role is not well suited for them. No one should have to work a job where their mental health is constantly in jeopardy.
I have pinged my keys within the last three hours!
That's a choice the governments and those multi-trillion dollar corporations made.

They are free to write it themselves if they want.

No one held the US Department of Defense over the coals and said, "You MUST use log4j."
There is a common pattern in OOP land that you use ooo.setXXX(yyy) to dupe states across objects/fields. Instead of using some kind of getters to map them. (probably due to difficulty in languages to link between objects?)

You end up get some states that should just the same but in multi places.

And this is almost one of a biggest source of bugs. Because you WILL do it wrong. As the code grows, the place you need to manual synchronize data grows. You end up miss it, create a lot of bugs.

On the other end, in most FP languages. It is pointless to dupe state most of the time, so this kind of problems did not happen so much in the first place.

BTW: Personally I like the idea of the [computed](https://v3.cn.vuejs.org/api/computed-watch-api.html#computed) primitive of vue, because it make the getter/setters first party encouraged. And getter/setters never add states. If you use it properly, states can be reduced by a lot and with much shorter code. While it looks the same as manually dupe them on surface, so you don't need refactor everything just to use it.
I don't believe I said anything was wrong with it or anything else there. Most of the things I listed have their uses. That was completely not my intention to say they're bad, I hope that's not the point people are getting from my post.

The point is how uncritically some of these things get taken, and how easily people will believe fantastic, unfounded claims. And not just a few gullible idiots, but huge swaths of academia and industry.
> This sort of begs the question: where does classical OOP, the one taught to all undergrad CS majors in programs that use Java or C++, really fit in nowadays?

As everyone is telling you, it’s a poor paradigm that makes the developer’s job harder compared to both non-OOP approaches and better approaches (mixins / multiple inheritance).

That said, one should be cognizant of the reason it was created in the first place - single inheritance allows C++ to implement fast polymorphism via virtual function tables.
Elon Musk Gives Starship Update Presentation
I Hacked Hearthstone
I like the terrain rendering. Is that a prepackaged thing or did you write it yourself?