skysight-inc/HackerNews huggingface dataset:
I think months from 0 in POSIX were intentional, not mistakes. The things you might want to do with an integer month number include:

1. Look up some attribute or property of the month in a table (number of days in the month in a non-leap year, name of the month, list of fixed holidays in the month, etc).

2. Determine if the month is before or after a different month.

3. Determine how many months one month is after or before another month.

4. Determine which month is N months before/after a given month.

5. Print the month number for a human.

In languages that use 0-based indexing:

#1 is more convenient with 0-based months.

#2-4 only need that the month numbers form an arithmetic progression, so are indifferent to where we start counting.

#5 is more convenient with 1-based months.

So it comes down to is it better to have your low level date functions require that you have to remember to subtract 1 whenever you do something from #1, or to add 1 whenever you do something from #5?

I'd expect most programs do a lot more #1 than #5, so the code is going to be cleaner if you go with 0-based months.
Thank you for the problems I am looking for them! I keep thinking we could manufacture and send the sails from the moon. This would require a semi-automated production line and I have no idea if this is even remotely possible with current technology.

I also think it is the only possible controllable way to control global warming. I am very happy to learn I am not the only one that thought of this.
There's a solution I put out there for my non-technical friends. I just tell them to buy two Android devices.

Obviously with iOS this won't work, but then again, iOS devices aren't cheap enough for this to be a reasonable approach anyway.

Device #1: Buy the cheapest device you can. I give my friends specific recommendations. Invent a new burner gmail account for it. Install whatever you want off the Play Store - obviously, use all the normal caution to avoid any malware. Never put any personal info on it, so never put a SIM card in it, just connect over wifi.

Device #2: Buy a nice Android device. Never sign in. Put the SIM card in this one. Side load apps and update them by extracting the APK from device #1. Export your contacts from Google and load them manually (and save a backup). Access your email using IMAP from a third party app. Backup your photos using a third party app. The point is _not_ to use Google Pay, Google Assistant, and Google Cloud.

• Google Maps works without being signed in

• Google Play Store will update Google Maps (and the default apps on the device) without being signed in, but it does use dark patterns to try to get you to sign in

• Android OS updates will work without being signed in

It is more work, no question. It works for me. Your mileage may vary. Disclaimer that I'm posting in kind of a hurry, so I'll just admit the details here probably don't make sense.
I feel like I can guess the name of the future lean programming language that will conquer the world. (It'll be worth the wait.)
> Freedom of speech is an unconditional universal right given by God to the human race.

Which God ?

Do you also complain about the government taking your rights away when they tell you not to drive the wrong way on the interstate after drinking half a bottle of vodka ?
Is there an advantage to this over using the Ethereum Name Service (ENS)?
The twitter account linked in the article is pretty grim. Link is here, but be warned, its graphic: https://twitter.com/DTenderloine
Thanks - it’s definitely been a disturbing event, and hard to convey just how unusual it is. Portland was a couple of degrees from the Las Vegas record yesterday, and the infrastructure just wasn’t built for it. We’re just south in the Willamette Valley, and have a heat-pump system that’s been doing a decent job, but apparently you’re not meant to run AC more than a 20 degree delta from outside temps. So, we were at 80-90 inside yesterday by end of day.

Today is supposed to be the worst of it, and then we’re supposed to drop to normal summer highs.
Niklaus Wirth on software girth.
You don't need to launch that much mass: "Self-deployed extremely large low mass space structures" https://diyhpl.us/~bryan/papers2/space/Self-deployed%20extre...
> I mean, I suppose you can just leave them on some arbitrary un-updated version of Ubuntu forever, but the same could be said for Windows 2000.

Certain programs they run won't work on old operating systems like Windows 7 or 2000 but they work on Windows 10 and Linux. Running an unmaintained old copy of Windows 7 would be pretty bad for someone non-technical because if they decide to ever go-to a questionable site of their choosing, chances are they will get themselves in trouble with a virus / malware.

You can run Xubuntu 20.04 LTS for a few years with unattended updates turned on so they get automated non-UI breaking security patches. Then when it goes EOL upgrade to the next LTS, or even turn on unattended upgrades too with a stipulation that something might change once every few years instead of twice a week. It's a really good environment IMO.
I'm arguing that anyone who is fit for politics is by definition already a bad person, and any good person that goes in to politics either gets out accomplishing nothing after a short time, or turning in to a ghoul by staying inside.

You can't make deals with the devil and keep your soul.
> The article is also surprised that people are still using AMP now that it's no longer required

It feels like we read different articles, because the in one I read the author spent a lot of time explaining that AMP would probably be around for a while for a number of predictable reasons.
their morality
These all sound great in one's head until you flip around the situation and imagine where the copyright holder is the small time creator and the infringer is the big corp. The big corp can absorb many $1000 claims, but the small creator cannot afford it.

Requiring money up front from either party isn't really a good way to achieve justice.
Apple's philosophy is that being first is not being best. You can be 5th place, but if you do it "best," it won't matter. That doesn't mean they are necessarily copying either. We've had leaks that they've tried foldables for years.
All that matters to Mexicans is their local purchasing power though.

Inflation in Mexico hasn't been that insane for the last 10 years. You have to look at wage growth and investment returns to really make a judgement
And people say young people have no initiative now. Wait until this surveillance system is done with them.
I think that depends highly on the work and company. I think Amazon warehouse or delivery has over 100% annual turnover. Clearly they don't care.
Sounds like something FAANG could really turn a profit with. Update Foogle Maps to prompt for reroutes more often, charge them for dismissing the prompt. Rinse and repeat…
Crypto Projects Worth Watching
Cool! Tell us about the other ways.
> Either this should be modelled so that A can directly reference C to start with, or indeed A has to go through B but can do so to get a reference to C (this does not break encapsulation in itself, it depends on the specific relationships)

If A has a reference to C, B cannot, and if B has a reference to C, A cannot. To keep encapsulation intact, references between objects must form a tree. OOP depends on the partitioning of mutable state for maintainability reasons. There is no other way to keep this partitioning intact than to have a tree of objects.

> It's impossible to avoid nested data structures because these are simply the natural consequence of the system's complexity.

This is a purely conceptual view. But you don't have to query it that way at a logical level, or organize it that way at a physical level via memory references. HN comments, for example, are conceptually contained in their parent comments and also conceptually contained in the users who wrote them. In a relational database, on the other hand, the tuples would be contained only in their relations/tables. A query could then associate comments with users at runtime, but comments can be queried on their own, since they are not encapsulated in anything. In OO design, on the other hand, all access paths are baked into the object trees, making later, unforeseen changes to the software extremely difficult without taking shortcuts in the tree and thus destroying the encapsulation.
Naturally, this will instill a dependency on labs and their patented technologies.

I'm surprised I don't need a Monsanto license to bake bread at home.
>But it's broken by design. It's a bad idea.

You keep saying this, without giving evidence to back it up. People are still running Linux in memory constrained environments, those didn't go away now that the 90s are over.

>Using this feature pushes orders of magnitude of complexity onto users, and greatly reduces the ability to error handle or even know the status of services.

To be clear, it sounds like what you're suggesting is that these services implement their own fd holding logic, which is going to be even more complex, and is exactly what systemd is trying to prevent from happening.

>You check if the service is turned on (systemctl or whatever), you check if the process is running (ps, etc), and you check listening ports (netstat, nmap, etc...), they all agree that the service either is or isn't running. And if it's running, it's successfully run its initialization and should be usable.

This isn't really correct, netstat or nmap won't show process status at all. You really don't know what the real status of that port is unless you've run lsof or something else that scans the open fds of the processes, and such a tool would make it obvious when systemd (or some other fd holder) has the fd open. Also, systemctl will display this separate socket/service units, so you can just check if the socket unit is running but not the service.
Jobs don't get automated, tasks get automated.

You'll never see a hospital with no humans working in it, but moving patients around, cleaning and sterilization of equipment, patient info processing, analysis of test results, and even diagnosis are among the many tasks that can be automated.

You'll never get a full education without ever seeing a human teacher, but we already live in the day and age where a single instructor can teach thousands of students at a time. Standardized tests were probably the first form of automation any of us personally experienced, and it's not hard to see low hanging fruit that allows for improvement.

There will always be artists, but a lot of what those artists do to pay the bills is automatable. Robo-articles are already a thing, and many things like corporate music are similarly ripe targets. Similarly the tools for artists become steadily more powerful - animations, for example, that would have taken an army just a few years ago can now be made by a single individual.

You need a human face for social work, but there's a lot more to it than just empathy. Whether it is keeping track of paperwork or combing through old documents, technology can allow fewer workers to do more.

Similarly, law is overwhelmingly clerical work. For every hour litigating or meeting with clients, there are many hours spent reviewing case law and processing documents, both tasks well suited to automation.

There have never been more tools for supervisors and similar middle management positions. Tracking KPIs and scheduling are very automatable. Combined with reduced reliance on labor, where once you needed a large bureaucracy to run a place, now a single individual per shift might be sufficient.

I don't think I need to say anything on this site about the abundance of tools for IT automation.

The degree to which automation will affect you depends on what fraction of your time is spent doing automatable tasks. If only 10% of your tasks are automatable, odds are you'll see little change. If 90% of your tasks are automatable, you better hope you're in the top 10% of your field. The idea that your job can't be automated because one thing you spend 20 minutes a week doing is better done by a human is a fantasy.
Hence traits?
The US Dollar derives value from economic activity of the US. You can essentially say the US Dollar is a representation of US markets.
Here's another worldview: Politics is downstream from technology. Politicians are followers, not leaders.
In my case, I'm using Django on several projects. It uses inheritance to implement the ORM, the views, filters, etc. etc.

When you say "there are virtually no valid uses of (implementation) inheritance" ... how do you expect the thousands of us using Django to respond to that? A link to the Django framework? To defend Django? What is the point?

You're right, maybe python's object model could have instead been implemented like Go's struct but it wasn't.
> You take a set of components and compose an object called an entity.

That’s an overly broad definition of “object”, since under that same definition a record type (C struct) or any other blob of memory is an object.

In the common type of “components only store data” ECS, the entity is an ID (think a foreign key) that connects multiple records together and systems are independent functions (they are not tied to nor live in an entity) that operate on collections of subsets of these components.

That sounds a lot more like old school C-like procedural programming to me than it does like OOP. There’s more to OOP than the data attributes a class contains (eg the associated methods)

I suppose it depends on your game engine and your ECS, but since entities don’t contain logic, it’s the systems that communicate between each other (either by sending messages or by accessing the other entities components or by just calling functions of other systems). This isn’t all that different from different parts of a procedural program communicating. Although I do personally think that making a system be an OOP object does makes sense, but it doesn’t have to be.

With that said, it seems pretty common in games to use a component system that isn’t “pure ECS” (like the default Unity components prior to their new ECS), which definitely seems like typical OOP to me, just decomposed a bit more.
I think what the comment above is missing is that these are the metrics that the PR team chose to publish.

The lab meat might also use 100x the CO2 in other production materials. It might be more labor and energy intensive. The cost might be 10x higher - even at scale.

You cannot trust the PR numbers from a company looking to normalize their product.

This is why 3rd party analysis is required.
The article does not really try to explain the underlying technology. It is very interesting. There is a nice page on Wikipedia:

https://en.wikipedia.org/wiki/Distributed_acoustic_sensing
HN isn't a monolith and someone will always find something to complain about. (I'm happy to be the someone here.)

Google has such a dominant position in both search and browsers that, yeah, they're going to need to work extra hard to make sure one doesn't unfairly advantage the other.
Wait until you hear about how "corn" just means grain, or used to anyway. Or how "flour" tortillas are actually always wheat flour.
Why does everything have to be a slippery slope?
In Google News, there are articles and video from CNN, ABC, Space.com, and other U.S. news organizations, some of them dating from yesterday (Sunday).
Exactly. Without engineering better technology, the only real solution to climate change is that everyone goes back to pre-Industrial Revolution living standards.
I had Arepas in Paris that I'm sure were made from masa, they were incredible.

https://www.leandres.paris/coffee-and-brunch.html
Tell a Product Manager "I can do a preliminary version of that feature for the next release, but it'll be really inefficient" and they hear only "I can do...that feature for the next release."
What architecture are YOU building aren't you a lawyer?

Consider using the royal we especially around the real architects
I did outdoor ed and summer camps for decades, and I've never though Hersheys smelled like anything other than doo-doo.

Like actual doo-doo. I remember bringing it by a kybo and doing a smell compare. Yep. Doo-doo.

Its gross, nasty brown candle wax.
> Today is the opposite: Apple reigns supreme over the computing landscape.

Really wonder where this comes from.

Rough estimates of worldwide users:

- Windows: 1.5 billion

- macOS: 100 million

- Android: 2.8 billion

- iOS: 700 million

That's hardly "Apple reigning supreme".
I taught myself to count from the pinky, because each of the gestures for 1-5 is quite natural: the thumb retains the bent fingers and releases them one by one.

It's, er, culturally variant, but not in a way that raises eyebrows.
With HM type systems, the type system becomes an asset, rather than something you have to fight against or satisfy in peculiar ways. It's a breath of fresh air doing FP in a statically typed language that's not based on type erasure.
This is effectively how the normal DMCA works, though. If they file a counter-notice the content goes back up and you have to sue them.
> the driver pay a fee when they text and drive.

Rich people will just pay this fee and keep texting.

Anecdotally, I noticed that all my friends who can't stay off the phone when they are driving are all heavy social media users, so I think the social shaming method will work well: The car takes a picture of them texting and driving and posts it to all their social media accounts.
> usually don't even count their revenue from outside of movie theaters

I assure you, people are counting revenue. They're not releasing Blurays as a charity.
Because propaganda.

How much coverage of US missions made it into Chinese media outlets? Significantly less than the coverage of US missions in US media outlets. Why is that? Chinese propaganda.

For the same reasons, the coverage of Chinese missions will be downplayed in US media.

You can't downplay US missions and then ask why the US downplays yours. You already know why. Because of the propaganda war.
This is sort of meta, but it's cool to see Free Think popping up here. It's a great publication that I think would really be of interest to this community.

More germane to the article, it will be interesting to see what happens over the next 10 years as bio-tech becomes more accessible to hacker types and hobbyists.
Relevant username.

(thanks for your dystopia, they sometimes show up on HN and I love them. This one is very well written)
> But technology is never the problem, politics is.

I agree with you argumentation but I do not see why 'some/many technological problems are political problems' means 'all technological problems are political problems'.

I've also noticed the opposite pattern on HN: Folks arguing that a problem cannot be a technological problem, because in their society/country, it is a political problem. First example that comes to mind is healthcare in the US - just because there's some political debt around healthcare in US, doesn't mean there are interesting technological problems to be had elsewhere.
One thing Microsoft does really well is passwordless logins. As long as you've set up MFA with the Microsoft Authenticator app, you won't need your Microsoft account password to log in ever again. Instead, when you log in, you receive a notification in your Authenticator app which lets you log in without a password.
In the past, all programs expanded until they included a bad email feature. Now, all programs expand until they include a bad social network.
It’s a good idea. We could also incentivize companies to allow work from home to keep cars off the road. It’s discouraging how companies are ignoring the environmental footprint of going back to the office - but maybe if the government rewarded wfh they’ll change.
It’s super disappointing to receive such hostile responses to a genuine question but I appreciate the two people who replied kindly.
There's a difference between a "friendly user interface" (which is pretty clearly referring to the earliest points about design-heavy skeuomorphic icons and complex window management functionality) and a friendly, e.g. accessible and functional, user interface.

A POS system doesn't need window management, it doesn't need skeuomorphic design, and I'm sure there three or four dozen other features that come along with a full-blown Windows installation that are irrelevant to a functional, usable POS system.
Kosher certification in Israel is a process, but it's entirely possible that they'll be able to get certification because it's not "really" from a pig.
That's very interesting. What kind of car do you drive? Do you know what your fuel efficiency is at 55mph? I would certainly expect there to be some difference between 75mph and 55mph.
I had an awesome professor for a QA course at SFU, who for a project had people choose some piece of open source software at their leisure and work on something substantial for it related to QA. (Adding a different test suite, improving the existing tests, writing some documentation, etc). There was no pressure to actually send the work upstream, but people doing so made him happy. I thought that was a good model, where you get to spend some time with a lived-in software project, you discover the wonderful world of sending patches if you want to, but in general nobody's time is being wasted.

This reminds me of that in some ways, and I think its success depends a great deal on how people are incentivized. There's a tremendous amount to learn from doing this - and it is nice feeling like your assignment is actually something useful - but it's really important people don't feel like they have to get some big change merged to get full marks. That can lead to unpleasant situations.
Functional Programming Headlines for the week of June 28th, 2021
Nothing is making you run arch Linux with gnome wayland on your btrfs raid 5 with pipewire sound.

One could have installed mint mate 16 in 2013 and painlessly updated between versions without huge difference between then and now.

Linux isn't a product like windows it's an ecosystem use whatever works for you.
Sleeper cells: New neural stem cell state gives insight into cancer
I wonder if those figures include the 200M+ Xbox consoles that all run a Windows-based OS.
I mean...

If you had to pick a brand of chocolate to represent "American milk chocolate", would you pick anything but Hershey's?
> Can it be that JS is not good starting language then?

@ozim, I don't believe you are trolling!

JS is an absolutely awful language for beginners; it's a 155mm howitzer pointed at your foot. Although you can get the hang of the basics quickly, AND it runs in the browser (super-convenient unless you're headless), those "basics" that you thought you'd got the hang of turn out to have semantics that make sense, but are not what you expected.

I wrote JS (about 0.2 of my time, I guess) for my job, for about 20 years. I got 18 out of 25 on that test. Now, I think it was actually an easy test; I got a third of my answers wrong because I haven't learned about a third of JS semantics. I'm either not very good, or not as smart as I like to think.

A certain recent colleague of mine would probably have got 25/25; he was cleverer than me, and he was REALLY into Javascript.

Try a Pascal-type language, to learn an imperative-type language. Modula2 is better. Learning Prolog is (I think) purely declarative, so it gives you the view from the other side of the curtain - as it were. Forth is a perfectly-feasible beginner's language; it was the second language I learned.

I can't recommend any OO language for beginners. Not because I think all OO languages are way too difficult, only all the ones I've used. I haven't used Smalltalk.

I haven't used any flavour of Lisp. That language is so pliable that I'm sure there's a flavour that would be good for beginners.

[edit] Actually, I wish I had learned a functional language like Lisp as my starting language; I strongly suspect that would have made me a better programmer throughout my career.