skysight-inc/HackerNews huggingface dataset:
> you can implement exactly that by having FILE and DIR derive from a common base class

Ah, but now you're changing the problem :) we are not in C++, we do not have base classes, we are in C and have just two so-called objects. They don't belong to us, they're exposed as part of an API.

To recap, objects are entities that bind together data and functions. You can't have a single function belong to two objects, by definition.

Some people say that FILE and DIR plus the associated functions are objects; even though there's no syntax for it, they are objects conceptually, it's supposedly the same thing.

But if FILE and DIR are 2 conceptual/imaginary objects, to which of the objects does F(FILE, DIR) belong?

And, given they're not real objects, the answer can be whatever you want it to be.

You can say that in this scenario they stop being objects at all, or you can say FILE owns the function because it's first (but then about the encapsulation, why does F use the internals of both), or you can say conceptual objects can be conjoined like siamese twins, or whatever you feel like it. You can say the set of all functions that take an int is an object. Once you go down this road, you can say anything is OOP if you look at it in a certain light.

I understand that people can/do apply the OOP mindset to anything, it's their choice. But I don't think it's fair to characterize C as OOP since it doesn't even have syntax for objects. Syntax is real, people's mental models are not. But that's just me.
perhaps my tendency to expression is overly ironical and indirect at the cost of clarity and obviousness, but I meant it seemed biased that Gates described the reason why MS won out over superior tech was due to 'luck'
It really is such a hill, I know it may sound absurd to some people, but invasion of privacy and communications is, by all means, thought policing, and living in such a world is, in my opinion, torture.
https://www.statista.com/statistics/945415/gilets-jaunes-app...

Those in favour went from 70 to 50% over the course of 5 months, opposition tripled, strong support went from 50% to 20%.
In the same quantities we do today? And is the composition of today's factory farm milk the same as even just 50 yrs ago?

Hint: The answers are no and no.
Yes, before tax, and before social security and other deductions.
From my understanding, this would put you at a significant legal risk. Part of the DMCA is a counter suit, and the courts would seriously frown on this kind of tactic. It would seriously negatively impact your case, and could get you labeled a serial litigant (not for doing it one time), which would put any filing you made under serious scrutiny.

Not a lawyer. Just watched and read a good bit about this kind of thing.
Emotions in Goats (2015)
Just the standard "logging" - might not meet the definition of "structured logging", but at a glance it seems about as featureful as what is being added to Go right now.
> sympathy for authoritarian practices simply because they align with their interests

Nothing personal, I'm talking about the interests of all the voters who freely elected the current president and parliament.

If you are not happy, it's our duty as a society to provide you a way to express your point. But the right to express your point does not involve the violence to get our attention. Most people just want to go on with their daily life, and putting obstacles to them will not gather any sympathy around you.
This is one of my favorite books on C, also because of the sense of humor of the author.
Thanks for your reply.

I have looked into shift and reset to the point I think I understand it (and callCC but it actually changes the execution context or can be seen as an AST transformation)

(This wiki page helped me understand delimited continuations: https://wiki.haskell.org/Library/CC-delcont )

I am interested in algebraic effects too, but would like to understand them from a assembly point of view and such as exceptions.

My Lisp-like experience is only with Clojure, and it is delightful applying methods so trivially. I just find other people's LISP hard to read!
I’ve got two kids (12&9) - I think the main thing is balance, let them have devices but teach them that there are time for devices and times for no devices.

If you severely restrict them then they will rebel, if you let them on all the time they will be sucked in.

Keep them well away from social media as much as you can.

Teach them they can brush their teeth or go to the toilet without their phones (you need to live this too and be a good role model)
Well, yeah, it was a figure of speech, the refresh rate is 8ms or so, so you wouldn’t notice it before that in any case :)
Any Deep ReLU Network Is Shallow
Software itself hasn't "evolved" over the last 40 or 50 years. It only ever gets better because the hardware becomes better. There is no true innovation in software development. Folks that "innovate" either reinvent the wheel or capitalise on hardware improvement.
> Countries have gone to war over water rights

What are you referring to?
Show HN: AI Assistant helping merchants boost their sales
Anecdote: If you are going to give such a device, turn on colour filtering, and make everything black and white. My hunch is that this reduces surprise, which means you avoid pitfalls of dopamine circuits.

Make it as boring as possible.
When people say Discord is bad as a forum I'm reminded of Ford's quote "If I had asked people what they wanted, they would have said faster horses"
Oh and don’t become one of these families who go for dinner and as soon as they sit down get their devices out and don’t talk.

Devices and eating don’t mix when it is communal, end of.
For Indo-European etymologies of some other Albanian words shared with Romanian, look to the work of Eric Hamp: off the top of my head I can list his IE etymologies for the Albanian counterparts of Romanian vatră, strungă, and bunget that seem generally accepted. Getting up to speed with Hamp’s work will likely require some travel on your part, because Hamp tended to publish squibs in some fairly obscure collections and Festschriften that are only held by a handful of libraries and are not online. Orel’s IE etymology for the Albanian counterpart of Ro. zară is, I believe, the current consensus.

> The shared words of Latin origin may have been very well borrowed from Proto-Romanian to Proto-Albanian.

Yes, certainly. But if those Proto-Romanian words can be shown to represent dialectal Latin features that came to the Balkans from outside, then there is no case for a Dacian origin for them. Dan Ungureanu has argued this recently for a number of items, and a few of my colleagues working with these languages think this represents a great contribution.
I’m otherwise liberal, but I am sorely tempted to vote for anyone who expands school vouchers in my area - that idea sounds amazing.
I use senior here also to point out - we had a team composed of people who had literally built a similar/same system elsewhere, and kids who are working for a living for the first time in their lives for a few weeks.

The idea that everyone gets a vote on story points & planning meetings in a conference room for hours&hours, while democratic, is counterproductive.

Further, as it turns out, the dev who has done the thing 2-3 times before knows all the mistakes not to make, and move onto make new & unique mistakes (joking, sometimes) whereas the junior gets to make all the mistakes all over again.

The senior is always going to give a higher effort estimate, but will generally be able to accomplish the task within that estimate more often.

A junior has no ideas what they don't know, and can often be off by orders of magnitude on their estimates. Usually because they consider only what is required for the "happy path" of the code to work as expected when used as expected, with no bad data/etc. Further they will include the time it takes them to get the first cut of the code working on their box, undocumented, uncommented, not in git, not tested, and not ready for release.
Better than Teamspeak, yes. Better than IRC? Eh, I guess so.

But let's chat about that "better than forums" supposition.

- Forums are easy for search engines to index

- Old threads on forums are easily discoverable

- Forums have good threading in general

- Individual forums are completely independent of each other (if one goes down, the others don't care)

- It's easy to have completely different identities on different forums

Tell me how Discord does each of these better.
I really like this.

Thank you for your comment and sharing.

I have a lightweight 1:M:N runtime (1 scheduler thread, M kernel threads, N lightweight threads) which preempts by setting hot loops to the limit.

https://github.com/samsquire/preemptible-thread (Rust, Java and C)

How do you preempt code that is running?

Would you like to talk more about your idea?
After raising five kids, I wish I had just not had phones and tablets in the house.
The Command pattern looks like transactional programming which is used in SystemC and similar systems-level programming languages. The idea is that transactions or commands have properties like atomicity and so forth to deal correctly with concurrent behaviors.

Language support may be the deciding factor for young students, but conceptually the more interesting engineering debate would be which paradigm is better for a given purpose, coroutines or commands/transactions assuming the programming language can cleanly express both.
Come on, this is so exaggerated.

If you care about democracy, you have much more relevant menace in France. People are screaming about Macron for some reason. Because they were told he is a DiCtAtOr!! Because he didn’t fold to unions. Apparently unions are to be obeyed otherwise you are a dictator? While obeying to elected government is dictatorship? It’s a nice inversion.

The true authoritarian menace in France comes from the far right and far left. Melenchon is in love with authoritarian leaders (see bolivarian alliance), he can’t help screaming at people that disagree with him. His political career should have been ended by just a few of his outbursts. But he gets a pass for some reason. And don’t get me started on the far right, screaming that we are in a dictatorship while admiring Putin…

Of course you can criticize Macron, he’s far from perfect, but if you care about democracy, focusing on him being THE issue is outright ridiculous. We have far more serious threats. You are completely missing the big picture. And people being told to fight Macron instead of the extremes is a serious threat. I can’t believe I have to explain that.
He lived in a very orthodox time in the UK. The country has previously had a state religion (1200s) and kicked out the Jews at the time. The Brits have previously severely restriced public services for all non-conformists after the Act Of Uniformity 1851. The Brits have murdered/killed/marytyred many people from European religions. Denying the Trinity is enough to invite severe negative judgement from the Archbishop of Cantebury. We live in Trinitarian times.

The Brits is a CofE country, even though it's 'going dark' (well less visible and more authoritarian) in our lifetimes and GAFCON will temporarily take the limelight.

It is trivial to silence people technologically today and with biometrics denying services is also trivial.

If a discovery like Calculus comes from people who wish to study and speak of non-orthodox ideas, then we should be careful about our technological lock downs. Social media manipulation of thinking is already a big danger to true innovative thought.
How can this be unexpected?
Isn't this what Percona discussed for MySQL already several years ago?

Or am I missing something?
Basically this. A Windows install is much better now at not outright dying from years of daily use, but they still frequently get a little weird over the same time period. So if you're going to refresh their Windows install, might as well just give them a new computer in the process.

> Laptops have shorter service lives because they get dropped or drinks spilled on them.

Those are certainly factors, but I've found reduced battery life is what gets users asking for a new laptop if they haven't prematurely killed it some other way.
Center for Humane Technology(0) has good resources, whether parent, educator or child...even if you didn't watch/like The Social Dilemma.

[0]https://www.humanetech.com/
Everyone is a potential terrorist. Precriminals guilty of precrime.
What other off the self solutions you'd recommend for such a news website?
Not my experience at all. Been through double digit amount of bogus claims on Hetzner.

They usually forward the takedowns to me, I take a look at them, let Hetzner know they're bogus claims and that I'm not planning on taking action, and that's where the story ends.
chapest nvidia 3d card with vp9 hardware decoding - 1030 / 950 / 1050 will help a lot for internet consumption on 775 systems.
For those not in the know, there’s a ~10k minimum gap between West and (former) East German states, among a number of other skewing factors.
The article doesn’t seem to indicate how balanced the population of the survey has been, if at all.
Thanks for the correction, I assumed Uber ran the ticketing as well for some reason, I haven't taken one since the uber branding
I think the article implements stackful coroutines since the yield calls a function where control flow jumps to, it eventually returns to the instruction(s) after the yield statement.

(That is, it's not a JMP)
Sound travels around 1.7 meters in 5ms. Acoustic musicians can play fine while being apart more of that distance, although there is a tendency to slow down, unless consciously keeping the tempo up (everyone individually feel that they are rushing a little bit, but that's how they just keep the pace).

There is a huge difference between consistent latency and jitter, but even then I doubt that 1ms latency + 1ms jitter would be very noticeable.
From the comments section:

"If you have a CoC, then you have formal rules around moderation with the option to appeal"

Basically, when someone does something stupid (and let's be realistic, it will happen) then there are clear rules and processes to follow.
OO is the king of the contrived example

const dog = new Dog
dog.woof()

Now you see how simple OO is, let's build banking software.
It's his brand, though—of course he'd be that way for an interviewer.

Which leads to the next slightly annoying bit—author was reluctant to follow up because Jimmy Fallon is a celebrity, which isn't said explicitly but is essentially the crux of the whole article.

Apart from that, "Hey, ya never know" is not terrible advice, but it's also a lottery slogan.
Based on the experience of some teams I have worked with and/or managed, I can easily imagine many of the items on the least being met with crickets...
> After several meetings, we came to the conclusion that the best approach was to simply halt the old website development and build a new one from scratch using the best technologies and practices.

Spoken like a true developer. Trash the old system, reinvent the wheel, prioritize the delight of the devs, leave the client with something that is totally obsolete and nobody else knows how to work on in a couple of years.

If that's not contract development in a nutshell I don't know what is.
We never used the tablet, until we went on holiday recently with our 20 month old. By necessity she was eating up late with us (normally asleep by 7:30ish at home). Tablet was employed to maintain sanity.

Had a bad effect - became very demanding around it, tantruming for it (which we hadn't seen before). (very nearly) Cold turkey again on the tablet now!
I have a thrift store in my village, but they have a "no computers" policy for some reason. Privacy maybe?
This perfectly matches my experience in similar cases. Just not in academia but in business.

Policy always represents somebody's interests. "Data driven" is an excellent cover when you control the data. You get to eat the cake and look good while doing it.
> People are naturally hung up on it because why use a projection which is useful for navigation in a world history class or as a background image in a news cast or as a decoration on the wall?

Are world history classes favoring Mercator? Are newscasts using Mercator in background images? Are wall maps using primarily Mercator? (These may have differing answers!)

As a kid I often encountered oval‐shaped world maps which obviously weren’t Mercator (most likely Robinson or Winkel tripel). And road maps of the United States had curved borders, not straight borders, so those obviously weren’t Mercator either (possibly Alders). And I had globes both at home and at school. So while Mercator is certainly common, and it’s worth explaining tradeoffs in map projection especially in an educational context, I question whether it’s actually as universal as people here are saying.

> We should be using other projections!

Are we not?
So when you make an exception to your general rule of not stepping in poo, what's the reasoning?
I agree there is no simple solution. But I'd prefer not to die, to prove to you that experimental submarines need regulation.

How is this a deniable point?

We are conscious enough as humans to not require death to change beliefs.
> And the problem is that when the Linux C API exposes a function that takes both a FILE and a DIR, and operates on both their internals, your whole idea of OOP-ness shatters because a method can only belong to a single object, by definition.

You can do the same in Smalltalk though-create a utility class containing a method which operates on one instance of each class, and create accessors to expose all their internals. If the ability to do that means C isn’t an OO language, then Smalltalk isn’t an OO language either. And if Smalltalk isn’t an OO language, then OO languages don’t exist.
I would rather say there is existential threat to get all human knowledge spoiled, mixed with fabricated high quality facts, faked textbooks, faked movies, faked replicas of original scans, etc.
German here. Cancelling prime is full with dark patterns as well. I just looked it up. The wording is completely unclear. The text says:

"Mitgliedschaft kündigen
Wenn du deine Mitgliedschaft jetzt kündigst, verlierst du den Zugriff auf deine Prime-Vorteile."

→ Continue

"X, warum auf alle Prime-Vorteile verzichten?
Du kannst Prime noch 172 Tage bis zur nächsten Zahlung genießen. Du verlierst damit den Zugang zu diesen und weiteren Vorteilen, die in deiner Mitgliedschaft inklusive sind: ..."

→ "Mit Kündigung fortfahren"

The text makes it sound as if you cancel all benefits right away, but still pay for the full year.
Parent of 4 and 2yo here. Our Kids share an activity on the iPad every morning before leaving for the day.

Avoid anything with dynamic ads. Apple Arcade is great for kids. PBS video is great. YouTube Premium if you want Ms. Rachel etc. we’ve had no issues with YouTube recommending garbage… it mostly “gets” that kids are watching now.

Make your own rules and stick with them. No iPad after 5pm or whatever.

Use your head and your heart. Undesirable behavior is undesirable behavior, regardless of whether a device is involved.
He doesn't look in rage to me.
In rust you can also pre-compute (optionally at build time in the build.rs) and load the file at compile time. Either using std::include_str to get a string with the file content (and then parse at startup without needing the separate file) or you generate a valid rust file and use std::include and still get all the potential compiler optimizations from knowing the values of these constants.

But honestly, the const code for generating the values doesn't look thaaat bad. It's bad by rust standards, but not far from what equivalent C code would look like.
Not advice, just a data point: my kids (4, 6) have unlimited access to screens and they’d much rather play Lego or go in the pool. When they’re on the screens it’s usually to do creative stuff like Minecraft or Mario Maker. I started off concerned about the same issue and it turned out, for us, to be a nothingburger.

Is advice: pick your battles. If you run yourself ragged trying to “do everything right” as a parent, and you’re underslept and cranky and falling short in engagement and behaviour, that’s what will affect them the most. Plus, parenting is more fun when you relax a little and ignore a good chunk of the anxiety being promoted by/for today’s parenting culture. I feel that most modern parenting advice is overzealous and far into the land of diminishing returns.
I'm so confused by the love of discord.

Maybe I'm dating myself but Can someone explain to me why it's better than traditional forum plus some VoIP like teamspeak?
Maybe Aerodrums should hire some programmers to write an app that just projects a drum set:

https://www.youtube.com/watch?v=CavlglPYVvQ

edit:

They already seem to have a beta VR application: https://aerodrums.com/3d-updates
That doesn't look hacky, it looks written by someone with 3 months of programming experience. I would personally avoid relying on an editor written by programming newbies.
Unless you are the most fervent single-dispatch OO cultist, there is no expectation that a function F(FILE, DIR) need to belong to a specific object (otherwise you could literally not have anything but unary function). And with multiple dispatch (a feature for example of CLOS), it can in practice belong to both).

FILE is definitely OO object flavored: it is an opaque handle that encapsulates state and behavior through a generic runtime-dispatched interface. The biggest issue is that it is not open to user extension (except for the nonstandard fopencookie).

As an aside, you can of course have the moral equivalent of base classes in C. See for example the POSIX sockaddr class "hierarchy".

edit: to be clear, I'm in no way claiming that OO invented this stuff. I'm sure people where building the moral equivalent of vtables before Simula. OO just gave us a language to discuss this sort of features, which is useful. It also came with a lot of philosophical baggage and design guidelines (Everything is an object!), which IMHO are less so.
The easiest thing is to just say no. It’s ok to tell kids no sometimes. Our kids don’t get regular access to phones or tablets for free time. We have some of the cheap Amazon Fire kids tablets that stay in the closet at all times and only come out for long road trips/flights. Our oldest is the only one in school and they have a school issued iPad, but they only get to use that for school work and at home it stays off otherwise. It’s worked out pretty well so far.
Sigh, we don't even eat together. I simply don't eat dinner and my wife is too busy to eat dinner before 8.

Guess we somehow need to change this when son grows up. Now he is only 2.
If your entire business model is ads, then you have no business model.
They suggest to use UUID v7 at the end for more sequential keys. Maybe that's the new part since v7 is relatively recent.
It doesn't but most users don't care. Just like forum users would be like "nvm fixed it" without considering anyone else.
I agree. Establishing processes and telling people what they are is good practice. Just telling people not to do bad/unwelcome/etc. things by itself probably doesn't do much other than maybe remind someone at the margins to think twice before telling that joke.
But that doesn’t document _how_ a function can fail. Just that it _can_ fail.