skysight-inc/HackerNews huggingface dataset:
A bit of a tangent, but I tried F# recently to make a small gamedev framework. I absolutely adored the language at first. Loved the syntax. loved the type definitions and domain modeling. I felt maybe, this is it, this is the language for me. Never felt that way about a language since the last time I wrote something in Crystal.

Then came the part where I needed to work with list of records and realized that something as basic as that which I take for granted in other languages, is a monstrously complicated concept in f#. I got introduced to the shady world of Lenses, tried my hand for a bit and decided to get out. Lenses are not for me.

I can't believe that a language makes updating records so difficult. F# is my first functional language and while I expected some friction in doing such stuff in a functional language, I never expected so much work around something so trivial.
But is does helps me understand why people don't use F# for things like gamedev.

Anyway TLDR; love the language. Wish that it will make concepts like Lens much easier to use in the language
The architecture reminds me of 'mogilefs', which has a similar mechanism of filename to file storage.

https://github.com/mogilefs/mogilefs-docs/blob/master/HighLe...

It's an old system from the folks @ Danga, but the mailing list still sees random activity now and then...
A generic course in QM won't really help you understand electronics any better. Perhaps if you have a background in electronics or if the course makes attempts to link QM with electronics but otherwise it's just relatively abstract physics.
Arch is stable not "Stable". I had less problems with Arch then with Ubuntu, so it is stable operating system. There is a separate "testing" repository [1].

[1] https://wiki.archlinux.org/index.php/official_repositories#t...
Actually, you may be unaware due to the lack of or low-key reporting in the MSM, but Assange didn't actually leak that information; David Leigh leaked it in his book about Assange by publishing the password (which Assange had made him swear to absolute secrecy about as a condition of giving it to him) to the encrypted unredacted document store. Then John Young published the decrypted unredacted documents on Cryptome, the day after which Wikileaks also published them in order to warn anyone involved that they had probably been compromised by the earlier leak. This has all come out during his extradition hearing, and is uncontested by those directly involved. It also came out during the hearing that the USA could not provide evidence of a single person being harmed as a result of the leak, despite spending millions on an investigation.

https://www.commondreams.org/views/2020/09/28/guardians-dece...

https://www.theguardian.com/media/2020/sep/24/us-never-asked...
Even after iOS updates stop, it's fine. iPhone 6 here. No iOS updates, but all major apps work fine. Aside from those that lack hardware support for AR.
Yeah, the Discord SuperMemo community has grown actually a fair bit over the last year: https://discord.gg/vUQhqCT

I myself only started using SuperMemo over the last 2 years but I think in the last 1, I've seen lots of friends get massively better and I'm looking forward to what we create over the next 5 years.

In terms of new implementations, one thing I'm excited about is dendro: https://dendro.com.au/.

It's made by a long-term supermemo user and some other friends and I think is the best shot at a modern incremental reading alternative to SuperMemo. It's missing lots of features and is aimed at bring IR to the masses rather than power users but I personally like it and find it good enough to use on my phone when I'm on the go.
On most Linux distros, it's a requirement for a lot of the desktop functionality. Why would having a default Python environment you can count on be a annoyance?
I find buying a phone and getting settled into it a big hassle. It's more important to me to do that as infrequently as possible. The cost savings are trivial to me when amortized over the life of the phone. If I buy an iPhone at launch, then I'm set for 4-6 years before iOS updates for it cease.
Thanks for the link.

Lots of companies have products with claimed effects or measurment of sleep but personally I suspect they are almost always complete BS. I've used a recording pulse oximeter when sleeping a number of times and the pulse seems to reliably predict when I get to sleep but nothing else, not even when I am awake vs. sleeping. IMO, there is no possible way a pulse measurement could replace an EEG. I am also not convinced that sleep tracking would be helpful at all for most people, at least beyond keeping a log with a basic estimate of how much sleep you think you got and how long you were in bed. And even that seems only rarely useful, mostly because I've found it isn't obvious when I've had a month where I slept quite a bit less than usual. So maybe the helpful part is putting it in a spreadsheet and doing some statistics. But for most people I would guess that doing any sleep tracking would cause some disruption and be more harmful than helpful.
CCC providing the streaming facilities for Arch, that's really nice to see! And their setup gets beefier each time! There is a bit information about it here: https://streaming.media.ccc.de/about/#en

There was a talk about the streaming setup as well, 35c3 I think, but can't find the recording now.

Otherwise it's nice to see open source communities helping each other, instead of going the easy YouTube way that most are doing today. Chat/QA over Freenode is also refreshing to see!
Online Audio Spaces for Virtual Gatherings
My main takeaway from reading this a year ago is different than what most people have focused on in the comments so far. In my current life situation, lack of alarm clock (in the shape of an infant) and free running sleep are simply not possible.

However, this article does highlight the importance and naturalness of a mid-day nap. When reading this I started practising mid-day naps at my desk, but I never really learned to do it until other things got in the way and I started forgetting about it. Maybe I should try again.

At the very least, I encourage anyone to stand up for the right to take a mid-day nap, even if you don't personally use that right.

If you feel like you could use a nap, napping is probably the responsible thing to do. If we defend that position with evidence, maybe we can slowly change the culture at work to not look down upon it.
One of the companies on the list took consumer crowdfunding money from IndieGoGo and failed to deliver, and said IndieGoGo buyers "eventually stopped receiving communication" from the company.

But one shouldn't mention the names of the founders because future crowdfunders being able to look them up for the purpose of due diligence and deciding whether to invest their hard-earned dollars in their next venture would be unethical.

(I'd imagine both the law on, and attitudes to, online privacy would be in a much different place if people in Silicon Valley exercised the same level of empathy for all those pesky end users as they always find in droves for the saintly and well-intentioned startup founders.)
The richest 10% of the UK[1] have enough to afford the latest smartphone each year with no real difficulty.

[1] income threshold per taxpayer: £35,345, but unlike US almost nobody bothers with private medical insurance
I would disagree :)
I think the main idea of SuperMemo (now) is actually incremental reading: https://supermemo.guru/wiki/Incremental_reading
though it is nowhere near as popular as spaced repetition. I think we'll see more alternate implementations of IR pop up over the next few years.
The article goes through a series of examples to show motivations for the following:

1. Variables should not be allowed to change their type.

2. Objects containing the same values should be equal by default.

3. Comparing objects of different types is a compile-time error.

4. Objects must always be initialized to a valid state. Not doing so is a compile-time error.

5. Once created, objects and collections must be immutable.

6. No nulls allowed.

7. Missing data or errors must be made explicit in the function signature.

The idea being that each feature or constraint _enables_ you to reason and predict more about a program than you could otherwise.

I encourage anyone interested in these ideas to play around with F# or a similar language and get a feeling for how they influence your code. If you've mastered one paradigm such as OO one of the best ways to find holes in your mental models is to try and find another point of view to look at the same problems. Even if you keep writing most of your code like you do today, in the language you do today, it can still be beneficial.
All About the Apple Watch with Alan Dye, John Gruber, and Om Malik
Amanda Goetz Doesn't Believe in Balance – Superorganizers
A glob isn't a regular expression, and indeed one of the reasons it isn't is that it lacks the Kleene star - which is the thing an asterisk does in the typical regular expression syntax.
That’s exactly how everyone spends their money. Most things are a waste of money but they still pay for it. Oh check out that pair, that’s hot, I got to have it
I once got married just to know whether my battery pack is charging or not.
That's the wrong default though.

There is no reason to assume equality is a sensible concept, so objects should not even be equatable by default, and you could have an attribute which gives them structural equality (with a third option of a full-blown custom equality if necessary) as e.g. Haskell or Rust handle it.
Oh, right, so they were. Thanks - it's hard to keep this stuff straight these days, especially before coffee.
> So the improvement of Moore's law (RIP) ends up going to programmers' salaries

If businesses demanded that everything be of optimal performance, developer salaries would most likely increase because that would increase demand for developer labour in the market without increasing its supply. And I know that many developers would be more than happy to do this (performance optimisation being one of these classic 'nerd sniping' tasks that really appeals to many programmers) but are simply not granted the time to.

And there is a reason that hardly anyone's boss is telling them to eek out every bit and clock cycle: they can't afford it, or at least don't want to pay to do that. So the "benefit" of doing this actually lands squarely on the business, if you want anywhere to look for wasted resources.
"Graphing Calculator Story" - 29. https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...

Though a few link to a recorded talk or another copy, 23 go to http://www.pacifict.com/Story/ .
Apple can also choose to challenge it, if not legally there then at least in the court of public opinion as they have done for US government requests. The reason they haven't is either fear of speaking out or that they don't disagree much with the requests. Either way, their silence is a deafening description of their principles.
That expression clearly implies that MOST immigrants are drug dealers, criminals, or rapists - and that he can only assume that a few of them must also be good people (he can't know for sure that any are, though, he can only assume it - implying he has only seen the drug dealers, criminals, and rapists).
Cranelift looks really promising, and this article is a great peek into how it generates machine code. +1
It was, before the shitshow
If they were 80% less after 2 years, a lot more people would do it.

That’s what I do as well, but I find they’re more like 50-60% off new, not 80% (which means they’re 2-3x as expensive as if they were 80% off).
25 Years of His Dark Materials: Philip Pullman on the Journey of a Lifetime
I vaguely remembered there being something to it, and to remind myself I didn’t dig deeper than Wikipedia: https://en.wikipedia.org/wiki/Motorola_Droid

"The brand name Droid is a trademark of Lucasfilm licensed to Verizon Wireless."
The genocide and marginalization against the native population continued well after the union, as far as I know.
This is a local news link from MI. These half-wits were indeed dangerous but were clearly on the fringe and bound to fail. The "leader" of these flunkys was homeless and living in the basement of a vac shop via the benevolence of family friend.

https://www.freep.com/story/news/local/michigan/2020/10/10/w...
That is a compelling analogy but I don’t think it holds because a country you can’t leave. You have to live in a country. Apple is an opt-in thing you choose for yourself and your next purchase can always be an Android.
We all know the answer to that
> If the Arab nations decided to embrace science education and to industrialise their economies there's nothing the USA or Europe could, or would want to do to stop it.

Agree. But to be fair, not all is rosy. Israel has been signaled as the responsible of serial killings of scientists "of interest" in other countries.

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

This means that we have less people in the planet able to find a solution for the problem of managing nuclear residues, for example. Something that would have greatly benefited Israel itself.

And there are more than 300 cases of teachers being kidnapped, tortured and/or assasinated by US army (or other agents).

http://www.iraqsolidaridad.org/wordpress/wp-content/uploads/...

The idea of a country systematically killing 320 academics in Occident would be clearly seen as something atrocious. This should be treated exactly the same by international organisms.
I haven't boycotted Twitter entirely, so writing that I've stopped reading tweets would have been inaccurate.

I have, however, stopped reading tweet after tweet via the home feed habitually. I think it's fair to say that I've been consuming them.
At 36k or even 100k/year, spending 1000/year on new phones is a big deal. Giving up 1% of your income each year isnt taken lightly.
I've seen terrible bugs in the past where there were multiple incompatible versions of a header file in a codebase, but nobody noticed because both headers used the same guard variable name, so the header that was included first always won.
In this case it is telegram which the government ought to need to compel. Or they could make Apple remove the telegram app. But that hasn’t happened
What do you mean by throw default assumptions about hardware away? It is just sitting unused, but don't we need apps that need or can use that performance? I only ever use full cpus while rendering and a lot of memory can be needed there, but really not so much. The stuff that can use full usage is designed that way and the stuff that doesn't can't probably get much faster spread over cores?
I did the fun part of a RISC OS emulator 20 years ago - http://riscose.sourceforge.net/ - i.e. WINE but for RISC OS applications.

It got as far as being able to run the RISC OS C compiler, compile and run its own output for a few command line applications.

But then we got to the stage of needing a test suite. Then my friend & collaborator on the project (Chris Rutter) died at the age of 19, then I finished college, had to find work and lost most of my RISC OS connections & nostalgia.

There was definitely a rich seam of RISC OS software in 2000 that Linux desktop could have used - great text editors and word processors and Sibelius. But Linux got most of that pretty fast.

Also I don't think RISC OS would have escaped the trap of most desktop OSes - that a desktop OS with native applications became a niche, expensive taste. By 2010 most desktop computer users were looking for a host for a web browser, and RISC OS itself is still spectaularly unsuited to that - hostile code, multithreading, support for proprietary blobs (at least in 2000) etc. etc.

That doesn't stop me missing it though!
But what about eels and saury fish
IIRC, this is documented in the CPP part of the GCC manual. Whenever a header file is completely enclosed in a ifndef guard, and that guard is still defined, it will skip the whole file.

Another option is "#pragma once"; it's non-standard, but every popular C compiler (even MSVC) understands it, and has the advantage that there's no risk of accidentally using the same include guard for more than one header file.
I don't think you need the Kleene star to be regular.

Star-free languages are regular languages without the Kleene star.

https://en.wikipedia.org/wiki/Star-free_language

But I'm not an expert in formal languages and maybe you are.
"Also, smart people tend to do something with their life,"

Dunno. The Unabomber had probably a higher IQ than most people on hackernews.

And on a side note: who cares about James bond? It is always the villain who makes or breaks a James bond movie. I am actually sad that Jet Lee never played the villain.
Most of the biosphere is on the brink of some sort of extinction. We are pushing this planet to another climate regime. Prepare for the anthropocene, because it's coming faster than expected.

https://en.wikipedia.org/wiki/Anthropocene#Biodiversity

https://en.wikipedia.org/wiki/Eocene#Climate
Sure, it's all speculation, not claiming otherwise. But this can be said about any historical event that was "prevented" - by definition, it didn't happen, so we can only assume that it could have happened if something didn't stop it.
I think it's great. It may seem weird to some, but for me it's a timesaver. The most painful thing is the installation. I don't particularly enjoy doing things following some guide, I figure it'd be best done by some automated script. However, I find it's an investment which yields a ton of dividends. Once it's installed, everything is pretty much painless and I don't usually install it that often (only when I get a new PC).

I usually enjoy having fairly up-to-date software and doing this is often a pain on Ubuntu. You have to chase down alternative ppas, which may or may not work well with other ppas. Sometimes there's nothing available and you have to build your own – I've had this issue when I was trying Ubuntu 20.04 right after it came out and wanted to have my BT LDAC headphones working [0]. Some guy came up with a custom build after a while, not sure what the situation currently is.

I use i3 and wanted to experiment with a compositor. At the time Ubuntu had an old version of compton. I would have had to mainain my own install of picom. I don't much enjoy doing things manually when they can be automated. Ditto for alacritty. They used to provide .deb packages, but not anylonger. Sure, installing alacritty is fairly simple, but again, it would have to be maintained up to date separately from the main packages. I don't enjoy that.

In the end, Arch just gets out of my way. I only have to run a full system update every so often (once a week works for me) and I have the latest and greateast of everything. And in case something's missing from the official repo, there's the AUR (a sort of "user-managed ppa" with packages built from source) and if using a helper, this is kept up to date automatically.

I understand some people don't really care about what they're using as long as whatever applications they run work fine, so I get the appeal of something as stable as Ubuntu, especially if not running brand new hardware requiring the absolute latest kernel for support.

[0] https://github.com/EHfive/pulseaudio-modules-bt
I don't see any documents confirming the lawsuit. Maybe this just some kind of weird advertisement?
Lord help us at the next election.
Interesting. Cap and trade sounds similar to a carbon credit system but I think it could work in the US
Terry Bisson is worth checking out if you like this story. “Bears Discover Fire and other stories” for instance is a story collection (obviously). It has some funny ones like this one in it and some more serious, like the title story which won a Hugo and Nebula. I remember originally reading it in Asimov’s magazine.
If they go down that route, doesn't that legitimize other countries banning any app for 'national security' reasons? A lot of people are bitter about China banning Facebook and Google, and support the banning of Tiktok in order to take revenge, but what about the implications of it?
Does Apple even have a presence in Belorussia ? If so, it's apparent Apple choose the side of a tyrant/dictator/censorship over free speech . . . Tim Cook should be shamed and humiliated on all social media.
American culture is very strong in its distrust of governments and authorities of any kind, and always has been. That was one of the first things I noticed while living there.

But the Assange case won't move the needle at all. Of the few people who actually know of the case, almost none will learn what actually happened because they won't look deep enough to see past the many, many red herrings. To the vast majority, he'll just be an egotistical journalist-wannabe rapist with no regard for the safety of others, and not someone to be missed or cared about. Truth doesn't matter when it comes to writing history, or protecting the powerful.
Could you go into a little more detail what task you were trying to solve?
Pakistan: bans TikTok for being immoral

Also Pakistan: revenge rape https://www.telegraph.co.uk/news/2017/07/26/pakistan-village...
> So this essentially means there can never be a NULL object assigned to anything…

No, it means that you can't leave bits off yet claim to have a valid object, either the object is fully initialised or it's illegal. This is mostly a concern in older languages like C where you can reserve space for a struct then not fill in anything.

In some more recent languages (Java, Go, C# historically though that's changing) everything is zeroed by default so you avoid the "random garbage" situation, but it means you need to assume anything can be zero even if that's not intentional, and depending on the specifics you might "double write" each location even when that's not actually necessary.

In the more functional slate of languages, you simply can't let any members off. There might be a concept of "default value" but that tends to be opt-in, the baseline is that if you define a type you must fill in every member, explicitly, before the compiler will accept it.

Initialising items to null is orthogonal.

Now since the rest is predicated on a misunderstanding I've a version of each for "incomplete initialisation" and a version for "null".

> how is [forcing complete initialisation] possible?

The compiler just requires that every member of the structure be specified.

> how is [things never being NULL] possible?

Don't make NULL an implicit member of every type.

> is [incomplete initialisation] avoided by throwing exceptions instead of returning NULL?

it's avoided by the compiler refusing to compile your code if you leave off members.

> is [things never being null] avoided by throwing exceptions instead of returning NULL?

It's avoided by NULL being a member of a completely different type than anything else, whether that type is a special case or not e.g. in Rust "null" is one member of the Option "wrapper type" so to indicate that, say, a user is optional you write `Option<User>`, then that can either be `None` (no user, ~ null) or `Some(user)`.

If you just type something as `User` then it's necessarily a valid user and nothing else, because there is no null value you could put into it, you'd get a type error.

* Rust playground which fails to compile because one of the struct members was left off: https://play.rust-lang.org/?version=stable&mode=debug&editio...

* Rust playground which fails to compile because trying to put a null (None) in a non-nullable field: https://play.rust-lang.org/?version=stable&mode=debug&editio...

* Version of the previous with an optional (nullable) member: https://play.rust-lang.org/?version=stable&mode=debug&editio...

* Version with opt-in default (through Rust's Default trait, the default derivation of the Default trait will recursively default each field, which usually means some sort of zeroing): https://play.rust-lang.org/?version=stable&mode=debug&editio...
So if an app shows an image of two men kissing, Apple should order the app makers to take it down worldwide because it's illegal in Uganda?