skysight-inc/HackerNews huggingface dataset:
I very much like VirtualBox and hope it continues to be around. However, there has been an open job posting on the site for a while now, and just after that popped up, the release cadence dropped from once a month to around once every two months. That implies things are not going as smoothly as they used to. Also, recent versions have an odd “New Cloud VM” option with only Oracle Cloud as an option. Oracle is also extremely aggressive in pushing their cloud in general, so it just seems like there could be something going on behind the scenes (like maybe a developer quit because of some things Oracle was starting to demand). This is highly speculative but seems to be a few things pointing in that type of direction.
Unrefined. Low build quality — remember when one of their product pages effectively said, “Don’t buy this if you can’t handle a couple dead pixels.” Their goal is to ship as much stuff as possible and then leave it up to the “community” to improve the software while the hardware is at-best third-rate.

Result is a bunch of releases people want to like but never measure up. Best reviews you’ll see are like, “It’s passable for the price if you can live with…”
>>amongst the unvaccinated, and those people have now made a conscious choice to expose themselves to the virus.

What about those with immunological disorders that cannot handle any vaccination? What about the children?
Now that I did not know! Wow!
> add a UI that shows the user the key and helps them verify it [...] probably nowhere near as good as Threema

Indeed, Threema really has to get more credit for this one.

How many people verify their contacts in Signal when they opportunistically get the chance? Wire? WhatsApp? Matrix?

My mother in law wanted to verify keys with me in Threema of her own volition. In Signal, which she tried for the same reason (securely communicating medical data between colleagues), she didn't even know it was possible, let alone that she should be doing that.
Institutions like this are profitable because of the status quo. Recorded lectures and remote learning threaten them to a great degree and they might not be able to afford all those overpaid administrators.

Go ahead and try to find Stanford CS lectures on the internet that aren't the annual Christmas ones.
Imho, ocaml is a way better language than Haskell when you are learning FP coming from other paradigms: it doesn't require you to learn mathematical constructs such as monads or monoids when you are beginning, it allows you to use imperative or OO constructs (though they are discouraged by the language)...
When you are used to FP, though, more abstraction can be nicer
A more efficient one-liner:

seq 1 8000000 | xargs touch
If they were littering like that in the early 80s, their community was very much lagging behind the American culture overall. Or maybe it was just the people they were around literally being trashy.

It wasn't, and isn't today, an American thing. Plenty of countries had, and even still do have, casual attitudes about littering.
In Edinburgh there is a rape crisis centre run by a man pretending to be a woman so nothing surprises me anymore
Depends, but really IPv6 and IPv4 seems to be more or less comparable in practice. If you use an app with a login, you are basically screwed anyway. Even on a random website, you can be reliably fingerprinted: https://amiunique.org/
Absolutely amazing nobody was killed. I wonder what the conversation was like on the bus keeping folks in while there was fire encroaching. Even if you don't touch the conductors, potential gradient can ruin your day.
I presume you're referring to the Katipo.

Note that white-tails and redbacks have also migrated to NZ from Australia.

Also, from Wikipedia: "A katipō bite produces the toxic syndrome latrodectism; symptoms include extreme pain and, potentially, hypertension, seizure, or coma." Not exactly what I'd call charming.
That depends, batteries on top might make it top heavy and much more likely to roll over...
You can write the closed form in FP just as well as any other language.

Most FP languages will let you write a recursive form that won't blow the stack. In C, you'd need to used closed form or a loop if you value your stack.
I'm not quite sure it's really a book on assassination. This being said, it also has a great BCC adaptation with Derek Jacobi [1] !

[1]: https://www.youtube.com/watch?v=oEeXcJZEATU&list=PLEjWO5ZEvW...
Works fine for me with the Intel haxm driver installed. You need to remove Hyper-V though.
Yeah, webcams are prohibitively expensive for a University.

No. This is because remote learning makes these institutions obsolete and they're going to continue throwing their reputation around to try to prevent that.
Twitter is where humanity will die. Delete your account
That's a very troubling quote, so I went to the article, hoping it wasn't as bad as it sounded. But it seemed bad in the article, too.

The lead-up alludes to what I suspect was the author's intent, in that way of putting it (i.e., saying the effect relative to some goals of the assassin), but that's really not communicated as clearly as it must be.

I can understand that a writer might miss this communication failure, when in tunnel vision on some narrow point they were trying to make. But I'd hope a professional editor would've caught it. Perhaps there's an understated standard proofreading markup notation like "WTF?!" with a firmly-pressed circle around it. Then the writer would realize their communication mistake, and feel awful about it, but also relived it was caught before publication.

Ideally, that never would've made it to publication without editing. But a small consolation is that at least we readers can learn from the mistake, and be less likely to make that mistake ourselves.
Some have, some haven't... Various US federal circuits are currently in dispute, so there are some interpretations where it's all legit, and others where it's not, or is limited... Also, various states have drastically different statutory laws that govern software sales & EULA enforceability.

... Point is, the parent poster is correct... A significant portion of legislatures & jurists believe EULAs to be valid contracts. Not all, but plenty enough.
It’s the thought that counts, the social media platforms that ban you would gladly put you in a gulag if they could.
> but journalists are usually journalist because they WANT to be journalists

So do accountants. And actuaries. And doctors. And programmers. And artists. And pretty much most every other profession. There's nothing special about clergy or journalists or doctors because they chose the career they did.

> and local journalists routinely put in 60-80 hours of work

This is just more romanticism. I'd wager that the distribution of hours of journalists looks very similar to most professionals.
> But I'd be very skeptical of putting a one-liner from a generator into my DNS without understanding, at least at a basic level, _what_ it was doing

You're completely right, of course. In my experience, these generators usually explain what the generated code means, though. These records are a lot easier to read than they are to write if all you've got is a manual and a technical specification.

I haven't used any hosted mailing services myself, but I can't imagine their control panels don't have either an option to generate the necessarily policies for you or an extensive guide on how you should configure these records and why. These records are the only part of the mail ecosystem these hosted platforms can't manage (unless you also let them do DNS) so they're a crucial step of the onboarding process.
Your github username is a nazi, alt-right dogwhistle. Mods, please handle this.
The construction of the Great Pyramid and the new history of humanity revealed
Yep my Denon did this in 2000
One way to think of a monad is through the example of a shell (e.g., bash) pipeline:

# cat data.csv | process-1 | process-2 | ... | process-n > final-output

Imagine you have this pipeline that already works for data.csv. But now you have data2.csv which has some difference (e.g., some values are null, while the original data.csv had no null values).

Monads are an approach to making the existing pipeline work (with minimal changes) while still being able to handle both data.csv and data2.csv. The minimal changes follow a strict rule as follows (this is not a valid shell command anymore):

# wrap(cat data.csv) ] process-1 ] process-2 ] ... ] process-n > final-output

In other words, only two kinds of changes are allowed:

- You can bring in a wrap function, that modifies the entries of the given csv data.

- You can bring in a new kind of pipe ']' instead of '|'

The idea being, the wrap function takes in original data stream, and for each "unit" (a line in the csv file, called a value) produces a new kind of data-unit (called monadic-value). Then your new pipe ']' has some additional functionality that is aware of the new kind of data-unit and is able to, e.g., process the null values, while leaving the non-null values unchanged.

Note, you didn't have to modify any of the process-1 through process-n commands.

BTW, the null value handling monad is called the 'maybe monad' (and of course there are other kinds of monads).

If you make the existing pipeline work in this way, you essentially created a monad to solve your problem (monad here is the new mechanism consisting of the new value, and the two new changes, the wrap function, and the new pipe).

edit: There may be a need to also modify the '>' mechanism. But I think that is not essential to the idea of a monad, since you could replace ">" with "] process-n+1 >" (i.e., you created a new outermost function 'process-n+1' that simply converts the monadic-values back to regular values).

edit 2: If instead of handling null-values, the purpose is to "create side-effects" e.g., at every pipe invocation, dump all/some contents of the data into a log file, then the kind of monad you end up creating would be something like an "I/O monad".
2021 - 100 = 1921

The US wasn't on the victorious side in World War I or World War II?
Laserdisc. Good luck finding a (working) player.

And for an encore, 2" AMPEX :)

That might be a bit costly with shipping.
As opposed to the intentional breach earlier this year that they gave customers only one month to opt-out of?

https://fortune.com/2021/03/09/t-mobile-sprint-metro-data-pr...
Yeah, I'll put my 13 years of working around newsrooms and with journalists against your fantasy of what they're like any day.
Got my t-mobile SIM hijacked and the hackers changed my email, then tried to get access to my Coinbase account. Thank god I was using a 2FA app for the latter.

To this day I don't know how the hackers did it. Thru social engineering on phone? In person at an agency with fake id? Or a corrupt insider working at T-mobile.

This happened after the Ledger hack. My SSN was also leaked in the Equifax hack. This experience made me realize how much of a joke the concept of "identity" is in our society. It can be bought and stolen like any asset.
I think this has happened coincidentally with a very substantial increases in spikes in markets they targeted, more than increases in the general market. Maybe they are good, maybe they are contributing to it. You identified the mechanism by which they would create a feedback loop.
But they don't want it to go up much more than 2% either. So when it does, they'll have to stop lowering rates as they've been doing over the past three decades.

They have been able to keep lowering rates because technology and offshoring make real prices ever cheaper, while faux austerity keeps the newly printed money out of the hands of consumers. This has allowed them to point to the CPI and say that inflation is still low, despite higher asset inflation. Direct consumer stimulus stops their ability to keep ignoring inflation, by causing CPI inflation instead of asset inflation.
> Another thing that's kind of scary (and makes it worrying if this is used for Copilot) is the second prompt to make the text uppercase results in code that is superficially correct, but is very semantically wrong - innerHTML.toUpperCase() is dangerous because it not only makes the content uppercase, it also modifies the attributes on the HTML elements inside. This definitely broke the vote button, which uses inline JS which is case sensitive. It also destroys any attached event handler since the elements are basically deleted then re-created.

This is actually an issue I have with all these Transformer-based code generators - they have no inherent constraints on safe and correct code and often seem to generate superficially correct but bad and potentially even dangerous code. I remember that the first Copilot showcase also included stuff like that (not to mention that it sometimes generates GPL'd code).

All the model does is a very complex form of association learning. It may "understand" the relationship between English and various programming languages, but you cannot code in any constraints about optimization, security, licensing etc. There is so much bad code out there on the internet and this model may have seen a lot of it.

It's also no coincidence that most demos shown so far are very high level dynamic languages like Javascript and Python.
Functional programming is hard because some proponents of it spend more time on theory and proving why you should use FP than simply doing things with it. That's why most things shipped with FP is created with languages like Ocaml, Scala, JavaScript, Clojure, etc... You know, functional but more pragmatic and multi-paradigm.
Mmm I had a boss on one job who used to scoop see snakes up out of the water by their tail and bring them up on deck for the rest of us youngins to see. Wild creatures. Their colours are amazing.
I've made minor GUI and perfs updates on my options screener tool. https://www.freeoptionscreener.com

next steps is adding some screener presets and then I will need to contact some options trading youtube gurus to try the tool looking for feedback.
The real value of studying outdated development methodologies is that it teaches you how to think about new problems. It will almost never give you a plug-and-play answer for a problem you are facing, but it will give you a new a useful way of looking at things.

Brooks wrote The Mythical Man Month in the 1970s about his experience in the 1960s and it is still extremely relevant today.

When I was starting my software development career in the mid 1990s and trying to understand how to manage the process, one of the things I did was write to NASA and request a copy of their Manager's Handbook on Software Development.

This was not because I wanted to run things like NASA. That would have been be horribly inappropriate for a startup dev team. However, I wanted to understand an extreme; a process where spec writing, testing and on time delivery were prioritized.

I never used anything directly from that NASA handbook, but I learned a lot.

Almost 30 years later, I still have that book. It's one of my little treasures.
It's not hard at all. It's routinely taught to beginners.

However, it's not a silver bullet. I found that basic software engineering principles are way more important than the language. I've seen extremely messy OCaml code and super clean C code. What is important is how the code is organized at high level. Whether you use a for loop or a fold, an error monad or an exception mechanism matters less.

I'm also wary of functional programming gurus that tend to over-abstract things and use all the language latest features, making code very hard to read.

Also, when developing in a niche language, you tend to miss important tools and need to rely on unstable third-party libraries.

I used to be quite enthusiastic about FP, but I think I'd stick with more mainstream languages unless there's a good reason not to.
I think the other user has since edited their post so we would be talking past each other.

When I responded there was nothing about what " A significant portion of legislatures & jurists believe".
I happen to have an Oxford English Dictionary next to me so I took a look. Definition 1 for poisonous is "Containing or of the nature of poison; having the quality of property of poison; venomous".

1665 ... poisonous viper ...
I've done startups for 25 years which has included publishing, there's nothing special about the hours of journalists. Every profession thinks that they put in more work and hours than others. Ask anyone at a law firm.
I will probably buy this, but if the pine people are reading this, please please create a larger one
Some other useful resources, including how to get tabs on bottom for those of us that like our world topsy-turvy:

- https://github.com/black7375/Firefox-UI-Fix - a good base including different light/dark themes. See Tips for code to put tabs on bottom

- https://github.com/aris-t2/customcssforfx - huge collection of different CSS that you can mix together for the perfectly customised UI

Hoping some day someone builds a playground so it's easy to build/customise interfaces through a GUI as I find it a bit of a chore to get things tweaked exactly right!

In the meantime it's worth noting you can use remote debugging[1] to live edit the interface.

1. https://www.reddit.com/r/FirefoxCSS/comments/73dvty/tutorial...
in fact, our native animals (mostly birds) are really really unprepared for hostile species which is why they are getting decimated by introduced pests like possums, rats, ferrets. They evolved traits like being "smelly" so that they can find each other easily.... which, for a predator is like opening a fast food shop with neon flashing lights.
Ah I see, thanks.
I like the way that "Learn You a Haskell" puts it:

"If we have a fancy value and a function that takes a normal value but returns a fancy value, how do we feed that fancy value into the function?"

That's basically all a monad is. If you know what map() does (in Haskell terms, map is a "functor"), then you know what a monad is, as it's just a fancy map().

I'll put it in Rust terms:

let x: Option<u8> = Some(5);
fn foo(x: u8) -> Option<u8> {...}

How do we apply the function foo to x? That's what monads are for.
The Way of Walking Alone
I suspect you think about recursion in terms of a call stack, yes? So when you have tail recursion, you're still pushing a frame onto the stack by default, unless the compiler recognizes that it can optimize that way. Yes?

The traditional FP model of computation doesn't have a call stack. It proceeds by reduction: replace one subexpression with another, in the program text itself, and repeat until you can't do it anymore.

So if I've got a fibonacci function in two clauses, `fib 0 a b = b` and `fib n a b = fib (n - 1) b (a + b)`, then a reduction may look like this:

fib 3 0 1 -- initial program
= fib 2 1 (0 + 1) -- substitute second clause of `fib`
= fib 2 1 1 -- evaluate `+`
= fib 1 1 (1 + 1)
= fib 1 1 2
= fib 0 2 (1 + 2)
= fib 0 2 3
= 3 -- substitute first clause of `fib`

Notice how the tail-recursion naturally falls out of the substitution steps performed by the interpreter. There are no stack frames; the whole "rest of the program" (which is what a call stack is) is just the program itself.

This isn't just an analogy; this is the way computation works in an FP. To an FP system, the call stack is the invisible, behind-the-scenes optimization.
Those seem so dry. I would suggest Assassination Vacation by Sarah Vowell.
Not sure about audio tapes, but video tapes could hold a lot of data... there was even a D-VHS standard:

https://en.wikipedia.org/wiki/D-VHS - 50 gigs

also some standards worked with normal tapes:

https://www.youtube.com/watch?v=TUS0Zv2APjU (1.5gig)
Most carriers, including T-Mobile, support a "NOPORT" feature to disallow porting your phone number:

https://www.vice.com/en/article/ywa3dv/t-mobile-has-a-secret...
In each case, it is liquidated and used as cache. Some of the skill of the best philanthropy folks is in finding ways to offload these wonky donations that donors think are useful.

However, from the donor's perspective, donating stock, and other valuable stuff, is a good tax dodge. You don't have to pay capital gains taxes and then send money to the org. So usually the org is happy to accept these gifts, but yes, they'll sell them.
> can you expand on what _mm256_permute4x64_pd is used for?

In one place I was doing single-pass marching cubes on multiple FP32 scalar fields. A source data for every cube is 8 FP32 number in 1 AVX register. Sometimes I need to broadcast FP32 lanes from the vector, where the source index is known at compile time. For most of these indices, a combo of _mm256_movehdup_ps/_mm256_moveldup_ps + _mm256_permute4x64_pd is the fastest way to do so.

In another place I needed to broadcast FP64 values from non-zero lane.

In another place I wanted to avoid MXCSR error flag for 3D FP64 vectors:

// Duplicate Z into W to avoid division by zero
size = _mm256_permute4x64_pd( size, _MM_SHUFFLE( 2, 2, 1, 0 ) );

In a few other places it’s just math e.g.

const __m256d b_xxy = _mm256_permute4x64_pd( b, _MM_SHUFFLE( 3, 1, 0, 0 ) );
const __m256d bw_yzz = _mm256_permute4x64_pd( bWeight, _MM_SHUFFLE( 3, 2, 2, 1 ) );
__m256d tmp = _mm256_mul_pd( b_xxy, bw_yzz );

> we have not needed complex-valued functions yet

Wasn’t related to complex numbers, I was doing something like that, saving a few instructions: https://en.wikipedia.org/wiki/Distance_from_a_point_to_a_lin...

> but #ifdef is increasingly infeasible now that SVE and Risc-V V are coming, no?

I think that’s wishful thinking like all these years of Linux on desktop, or rewriting everything in Rust. I think ARM is good enough for most applications, except very small niches (very low power, very price-sensitive, mostly embedded).

> Those can actually be bridged just fine

Yeah, but other things can’t. For one, ARM has 8-byte SIMD vectors. Quite useful for a library which implements non-trivial algorithms processing 2D vector data with tons of FP32 2D vectors. Another thing, this whole source file https://github.com/Const-me/DtsDecoder/blob/master/Utils/sto... implementing an equivalent of a single vst3q_s16 NEON instruction. That code is called in a loop which does not do much else and is inlined, i.e. these 9 shuffle constants stay in vector registers.
https://www.theverge.com/2021/6/25/22550376/microsoft-window...
I strongly disagree

> Further entrenches the big players by making it harder to enter the market.

On the contrary, I think dual stack from the ground up is cheap. Big corps are reluctant to switch because it means paying the "interest" in their tech debt.

> Making decisions for companies with no understanding of the costs is a bad strategy. If it was easy to support they'd just do it.

Who said we don't understand the costs? You are underestimating the stringiness of the bean counters that got us into this coordination failure. You are also assuming the aggregate demand for abstract public goods like IPv6 availability could ever be sufficient in already-developed countries for market-based solutions to work.

> It is still arguable if IPv6 is even necessary. I think yes, but the situation isn't clear enough to legislate. Maybe some better solution will be found when the pressure is on.

IPv6 is necessary for a bunch of decentralization to work better. Thks isn't good for profits (no, "crypto" isn't the decentralization I have in mind), but it is good for society. This is clear to me, but the exact sort of abstract thing which is hard to put political weight behind.
VR Porn Statistics for 2020
Here is an infographic with the most interesting VR Porn Statistics for 2020.
Retiring from a competitive game because of AI makes very little sense to me. Cars can go much faster than humans, yet we still run for sport.
Doesn’t surprise me considering their POS systems have regular users (employees) as local admins.