skysight-inc/HackerNews huggingface dataset:
> monads have very specific properties that imperative code often doesn't have.

You don't know what you're talking about. In the context of programming language theory, monads were first used by Eugenio Moggi precisely for the purpose of specifying the semantics of imperative programming languages. Only later did Wadler realize that they could be useful as user-defined constructs within a programming language.

The "very specific properties" are actually just the identity and associativity laws of a certain monoid. These are trivially satisfied by imperative-style code including the "algorithms research and papers are expressed in imperative pseudo-code" you mentioned: you can write an imperative program that does nothing when sequenced with other programs (identity), and A; B; C does not require explicit grouping (associativity).

> It's only Haskell's laziness that makes it require monads for i/o, by the way. Other pure functional languages don't use them. For example, in Idris, IO and state are not monads, they are effects - tracked at the type system level, but without all of the commodity of monads. For example, you can have a single do-block in Idris that does IO and state operations without needing any monad transformers or lifting.

This is an incoherent train of thought. Haskell's laziness does not require the explicit use of monads, nor are monads only useful in the context of laziness. Haskell could have used Idris's IO system instead—algebraic effects work just fine in lazy languages. But also it is not true that Idris programs do not use monads just because you don't see the word "monad" in Idris programs. Effects give rise to a monad, mathematically; namely, the free monad for the algebraic theory. Read the seminal work by Plotkin and Pretnar, for example.
> As of 12:00pm on a Friday you could have your friend wire you $1B and get someone to attest that they saw $1B in your bank account, which is then wired back out; does that make you a billionaire?

This is literally what happened.

https://davidgerard.co.uk/blockchain/2021/03/30/tether-produ...
I think the various discussions in these comments show that we don’t realllllly know, just that we understand what forces are there to allow it, and how to generate them.
before people accept this uncritically, in particular if you're not familiar with the saga do your own research and keep in mind the list of accusations against him is far wider than just the people in question in that article, including for example

https://twitter.com/jacquicollins_/status/127450935942738330...
Apple themselves claims that roughly 80% of the emissions of an iPhone comes from production; with the remainder being transit, use, and end of life recycling. As far as electronics are concerned, the best thing you can do is defer upgrading as long as possible.

Interestingly enough, the same is true for cars. It’s often better to just keep using an older car until it dies from a CO2 perspective (sometimes older cars emit other pollutants that makes this more complicated). Depending on the exact mix of electricity production in your area, it can sometimes be greener to use a used gasoline car than a new EV, although that is changing as energy production shifts towards renewable sources.
Linux already runs Android apps. It's called "Android".
It gets me thinking about community agency in technology.

Large scale consumer technology has a lot of central planning in it, by nature of how specialised the skills required to produce many aspects of it are.

But central planning has its tail risks and other downsides as history attests.

I'm curious about how communities can be better empowered to make these choices for themselves, be it how moderation is done on social media, or what features are prioritised in consumer electronics.
I'm surprised nobody has mentioned Linus's rant about spinlocks in userspace: https://www.realworldtech.com/forum/?threadid=189711&curpost...
This article is certainly low quality, it rehashes existing media stereotypes (something bad happened, and naughty China is behind it) instead of making things clear. Obvious questions (What game or other software bundled the driver? Was it made by the same company that signed the code? What runs on the servers from the redirected addresses list?) are not even mentioned. If the narrative is that Chinese hackers tricked the impregnable systems of Microsoft, then it falls apart after learning, say, how many times official drivers from Intel and the likes were found to have privilege escalation functionality. Also, we are supposed to be happy when it's official western corporate rootkits that collect all system information they want, and share it with who knows which organizations, or when Microsoft itself does it.
This was common in vintage computing, for example Apple II disk controller had the same CPU as the II itself.
Bottom left, click on: ©lose
Unfortunately, this just doesn't pan out in practice. There are various techniques that are much more inefficient to express with immutability and pure functions (e.g. computing a histogram). There is also a pretty big body of evidence already that doesn't show any hugely significant (say, 2x) changes in productivity, correctness or speed for using pure, strict functional languages and styles vs more traditional imperative, impure or even dynamic languages.
It is all "anti-cheat". Many years ago gamedevs like John Carmack were no joke wizards pushing the envelope, which certainly required low level access. Today's gamedevs aren't doing that... not even close. Modern games are known for shamefully janky code - and it isn't motivated my performance, see the GTA json parsing travesty for example: https://news.ycombinator.com/item?id=26296339
Something dull like compute fibbonaci numbers. Though there was a legit reason to do this: IIRC this procedure was how you bootstrapped the machine.
The article blames 10% of local collapses on these particular bees. I suspect "mystery" means a complex system with multiple interacting causes. This is one of them buy may only exist in a few places in the world.
There are two subtly different things here, "monads" as a concept and specific monads. If I ask you, what's the thing in common between async functions, nullable types, exception handling, sequenced evaluation, and arrays, and you only know, say, Java, Scheme, and Python - you'll probably not see anything.

Nonetheless, these are all monads, and learning specific monads helps in lots of other languages. Optionals are nice in Java. Arrays in Lisps. Error handling in Scala. But the "universality" of monads escapes these languages. I would kill for better monadic error handling in Go, but conversely I would have little use for monadic I/O or futures.

The critical mental step is seeing the commonality in all of these, which is really only possible in languages at that level of type sophistication. And necessary in Haskell where the particular combination of purity, laziness, and HKTs means monads are the only way decent way to do most of these. Once you see that commonality you can develop tools - patterns of mental reasoning about code and idioms for writing code - you can also use when dealing with the specific monads or nearly-monads in other languages. But you can't show that property in examples in a single other languages, and it's difficult to show how some deep structure is shared in examples spanning five languages.
It also just keeps happening. A recent game(Genshin Impact) shipped with an Anti-Cheat driver that had unauthenticated read/write primitives via IPC for debugging and it's been abused since.

It's a security theater.
Conway’s Corollary (2015)
>To be clear, the game press don’t need to check the “facts” — all they need to do is report that someone said something or fall back on the word alleged, and it’s a story. And so they did, and the clicks started rolling in.

There are no journalism, we are left with only reporters.
The problem with your website is that you accepted bunch of low quality, no value websites made in 7 minutes and selling for thousands of $$$$. Which make hard or impossible to find real quality projects.

That's why curating, reviewing, examining real projects is needed in order to keep the quality and not quantity.
> while also being the last thing on earth languages like Node and Java would ever permit developers to do.

You sure about that?

https://www.npmjs.com/package/mmap-io

https://docs.oracle.com/en/java/javase/11/docs/api/java.base...

mmap is a system call, not some C-exclusive fancy feature. If your language can print something on the screen, there is no reason it can't mmap a file.

And if the serialization was the bottleneck, mmap would not have changed anything anyway.
Who has the incentive to put heavy dollars into it?
Never heard of a long term stack exchange. Is this a US thing against HFTs?
Out of the loop, can I get some context?

Was the original accusation submitted to HN so we can compare comments?
Long simply means taking a position that would benefit if the stock/currency/commodity/bond/etc goes up in value. Similarly, being short generally means the opposite (although in specific situations it can mean selling something you do not own, like a stock, with the intention of buying it back later for a lower price). The terminology isn't limited to stocks, investors talk about being long currencies all the time.

Hope this clears up some of the confusion.
ninety-nine little bugs in the code.
ninety-nine little bugs in the code.
take one down, patch it around.
one-hundred twenty-seven little bugs in the code...
Actually GNU project is one of the culprits for C spreading into a world of that was already moving into C++ and other safer languages.

> When you want to use a language that gets compiled and runs at high speed, the best language to use is C. C++ is ok too, but please don’t make heavy use of templates. So is Java, if you compile it.

https://www.gnu.org/prep/standards/html_node/Source-Language...

20 years ago, it was more like

> When you want to use a language that gets compiled and runs at high speed, the best language to use is C. Using another language is like using a non-standard feature: it will cause trouble for users. Even if GCC supports the other language, users may find it inconvenient to have to install the compiler for that other language in order to build your program. For example, if you write your program in C++, people will have to install the GNU C++ compiler in order to compile your program.
>
> C has one other advantage over C++ and other compiled languages: more people know C, so more people will find it easy to read and modify the program if it is written in C.

http://gnu.ist.utl.pt/prep/standards/html_node/Source-Langua...

Thank GNU for C.
Oh but I know why they choose it. They want to geek out and feel smart.

Haskell is somewhat unique regarding modern programming language in that it was created as a research project on programming language. Most other languages emerge as a solution to an engineering problem: C for Unix, Rust for Servo, Ocaml for Coq.

If you allow me an analogy, a good programming language and its community starts wanting to build a great building and thinking their scaffolding technoly is inadequate. They then build better scaffolding as they are buildinh their building.

Haskell started thinking they had a really cool way to build a scaffold and the community is still more interested in building scaffolding than actually using them. That's why there are more lense libraries than useful software built using Haskell.
Same question. My password wasn't unsafe. Abcdefghij1 seemed unsafe to me.
1. Having to share the phone number is the biggest issue for me. This shouldn't be the case in 2021. I can only use Signal with my close friends. OTOH, I can confidently share my Telegram handle with anyone I have known for a some months, even online (not in anonymus forums, of course).

2. Notifications in one platform is weird for me.

3. Video quality is extremely bad to the extent of unusable.

4. Completely agree with the lack of settings whether other users with my number can text/call me on Signal.
> In this case “panic-selling” Tether means a massive rush into Bitcoin and Ethereum.

I’m sure there would be a lot of people who would like to trade their Tethers for Bitcoin in the event of a collapse, but who is going to sell it to them?
Which it does. That comment you replied to is complete bullshit.

For instance:

Breast cancer:

https://www.bevolkingsonderzoeknederland.nl/borstkanker/

Cervical cancer:

https://www.bevolkingsonderzoeknederland.nl/baarmoederhalska...

Colon cancer:

https://www.bevolkingsonderzoeknederland.nl/darmkanker/
> I still think they don't often come up in algorithms research, though.

Why are you so fixated on algorithms research in your attempts to dismiss the usefulness of functors and monads?
I don't have any experience with the US tax system but where I live we have certain accounts that exclude private shares (and many other things). The main problem is valuing these shares correctly and if this can be done in an appropriate way I think it makes sense to not exclude them. For example... Private shares can be traded and are sometimes relatively liquid even though they're not public, in that case the trading price should be pretty representative of its real value.
Hardware drivers that deal with hardware acceleration are written by hardware companies. Libraries and applications only call their functions as defined in the documentation. Game programmers in most cases have no clue about the low-level specifics of hardware that accelerate their games.
Portfolio Insight analyses crypto markets, so you don't have to
Signadot (YC W20) Is Hiring Engineers to simplify microservices development
PC was an accident caused by IBM's failure to put Compaq into line.

All other platforms were hardly any different from Apple, in fact Apple is just like they always have been
‘The Movies That Made Us’ Is Returning with Season 2 in July 2021 on Netflix
Life's too short for bullshit. You know when you see it. Bad jobs that won't go anywhere. A relationship or commitment that your heart isn't into. Once you identify it, get out ASAP.

Find something that is exhausting but you'd rather not do anything else. For me, my sweet spot is in business growth, startups, user flow, modeling the real world into data, training (which melded well with working with NLP/AI).

It involves software a lot, especially being able to build things, but there's a lot of jobs that pay well but would be ultimately unfulfilling for me. Yours is probably different.

Some people call it passion, but the misconception is you won't be entirely passionate or dispassionate about a whole field. Rather there will be patches of interest that you hook on, like a mountain climber and handholds.
The article isn't saying what people think it's saying, but tether fud makes good clickbait I guess. Tether has indeed misrepresented its balance sheet at times, but the reality is it's a highly over-capitalized bank -- whereas most banks have liquidity ratios of ~10% (less than that pre-2008) no one is questioning tether is >50%.

A common misconception is that banks use "fractional reserve" lending, in reality private banks create money out of thin air when making loans, constrained only by regulated capitalization requirements (and the obligation to take the write-off on their own balance sheet should the loan default) [1].

Another common misconception is that unregulated banks lead to financial instability and panic. The theoretical and historical evidence for this is pretty weak [2] -- people are much more vigilant with their money when banks are unregulated, and much more aware of the inherent risks of financial systems.

(If all of our regulations worked so well, why are our financial crises worse than ever? cf 2008)

[1] https://www.bankofengland.co.uk/knowledgebank/how-is-money-c...
[2] https://www.jstor.org/stable/1814673
The State of Python Packaging in 2021
Indian government has official channels in Telegram, too.
S.F. spends more than $60K per tent at homeless sites
The Czech Republic has one of the highest fertility rebounds ever documented
>So, forgive me, if there is not much actual wealth been put in, if it collapses why is it a risk?

There is zero wealth put into Bitcoin. When you buy Bitcoin, someone else sells their Bitcoin and gets your money. The money enters and leaves instantly.

The USD works a little bit different. New USD are created when you borrow. Loans create future buyers, therefore USD has value in the sense that people need it to repay their debts. People will willingly exchange real goods for USD to pay the loan. The wealth used to pay the loans doesn't exist in the banking system. It exists in the real world. So loans encourage real wealth generation to some degree and the presence of real wealth makes USD a very convenient medium of payment as people willingly exchange real wealth for USD.
Source code available,

http://www.projectoberon.com/
That reordering would be bad even with different locks because it can introduce deadlocks, as somebody has pointed out.

There must be some formal semantics reason which forbids it, and I think the reason boils down to the lock not being a single acquire load but instead a loop of acquire loads.

Unlock followed by lock is a store that is followed by a potentially infinite loop. If you move the store past the loop, and the loop happens to be or becomes infinite, then the effect of the store will never become visible, and that is an incorrect program transform because it'd be as-if you simply erased the store.

So you can probably move the store past any finite number of loads, but not past a potentially infinite loop.
Usable for what, though? If the criterion is correctness, I'd bet good money that Haskell would beat python in any fair comparison. Just because there are languages that let you forget the complexities of your domain doesn't mean these complexities vanish when you use said languages.
Apparently Richard Branson uses a very similar method.
Agree eith everything you've said, but with one caveat - the resale market for cars and consumer electronics is completely different. Everyone I know has a drawer full of old laptops/chargers/phones that were purchased new and are only destined for landfill. Meanwhile, cars get reused long after their first owner gets rid of them even if they replace them every two years.
Look, quite a lot of new timber is used to produce toilet paper. But OP was complaining about people cutting trees to take notes. Seems reasonable to ask if they also have a problem with toilet paper, which probably will use more wood pulp over the life time than their notebooks ever will.
For completeness, would you mind posting a link to some of this evidence so we don't have to take your word for it?
Yeah, but Cloudflare is accountable to the US Congress, they better be transparent.
For the corpse it makes little difference how it got hit.
A 6 pack would be normal, it's dictated by body fat and even the weakest people would have visible, albeit tiny, 6 packs showing.

The inaccurate representation in the photo is the fact that you'd need a shitload of calories to be able to put on that much mass, while working out pushing serious weight a few times a week. So yeah, completely inaccurate unless this guy was benching deer before eating them solo.

But annoyed? No. That's sounds like insecurity. Time to hit the gym bro.
Same thing for myself, I really enjoyed the learning experience from Arch, but one day I updated my distro and after a reboot the entire thing became unbootable.

Undeterred, I downloaded the latest ISO of Arch, reinstalled and updated it. Again unbootable. So rather than provide a working latest ISO that resolved a breaking glibc change they had introduced, there was a poorly communicated and (what I considered) fairly unclear set steps to upgrade the OS. I gave them a go, still broke.

I wasn't even that mad, but at that point I realised it just wasn't the OS for me.
Thin slices, then spread those.
AIUI the problem there wasn't with the branch name, but that the "-origin" bit -- the reference for where to push to / pull from -- was missing. The -u parameter someone else suggested apparently sets that at the same time as pushing/pulling, so it combines the effect of "--set-upstream" suggested in the error message you got and then push/pull. (A bit like "checkout -b newbranchname" combines creating and then switching to a branch; there is some consistency to the UI, but it's weird and spotty.)

I've almost never had this problem; nearly all branches I've come across usually "know all by themselves" where their remote is. I suspect they inherit it from a global or repository-level setting that might be missing from your setup. Have you tried executing that "--set-upstream" it suggests? Maybe that sets it for the whole repo, or have you had to repeat it for each branch (like the "-u" parameter for the push seems to imply)?

Or maybe, even if you have the remote set correctly on the repo level, branches just somehow don't "inherit" that...? Idunno, maybe some magic setting missing. Aha, one further possibility: If you set the remote on the "master" (or "main") branch, maybe branches branched off from that (and others branched off from those, etc) "inherit" the remote setting?

Finally: Creating a git repo by cloning in stead of from scratch (git clone in stead of git init) automagically sets the remote for the master branch of the newly cloned repo to the master of the repo it was cloned from. Maybe, if this is how it works, that's why it's always worked for me: I've worked mainly with cloned repositories, and my branches are almost always -- albeit sometimes indirectly -- branched, ultimately, from "master".

Anyway, I think somewhere among all that there should be something that fixes your problem once and for all (i.e. for all future branches once it's correctly set for a repo). I'm sure your problem isn't standard behaviour. HTH!
If wings only generated lift in one direction (i.e. towards the curved side), then even flying with your nose up would pull you down if you are inverted. What people here are missing is that curved wings in level flight generate lift, but any shape of wing can generate lift with a positive angle of attack. Just stick your hand out the window while driving on the highway and tilt it slightly, you'll see.
> option #1

Great! So you agree that your claim that these stablecoins have audited reserves was false, and you retract it. Pleasure doing business.

Since you were a good sport about this, I’ll say that I agree that Gemini is one of the better participants in that market. That being said, I’ll leave you with the notice on page 4 of your linked document, which is the only relevant passage for legal/regulatory purposes:

This Information Has Not Been Examined by the Company’s Independent Accountant
You've described most of Eastern Europe for most of the last 100 years and many parts of Asia. I came from a Polish city of 100,000, and everybody I knew (who didn't completely surround themselves by concrete) grew at least some type of fruits and vegetables in their yards, no matter the size. We knew the next big disturbance is just around the corner. Outside of vegetables and fruits directly planted in our yards, we also raised pork, and at different times, chicken, turkey, ducks. Our neighbours raised rabbits. Most people "leased" a small plot on the outskirts of the city (in our case for strawberries). Community gardens were everywhere. Now, things are slowly starting to change to mimick the West. People are even starting to grow lawns for some reason. Sad state of affairs. It seems humans believe that progress means you outsource all of the labor to somebody or something else. In my opinion, the labor itself, is the lesson. The folks that need assistance in their gardens would generally get it from family, friends, and neighbours.