skysight-inc/HackerNews huggingface dataset:
It depends what "easy" means. Go is a language that has very few surprises.

As a beginner, it takes a while to figure out good goroutine design patterns. And you get bit by append to slice copies a few times. And it takes a bit of time to figure out how to structure code efficiently, and get over the fact that the code is not completely DRY.

I'm sure I forgot a few gotchas, but this list is still a miles shorter than all the popular languages out there.
A way to publish each branch of your Gitlab project as a sudirectory of the pro
The french royal family would like to have a word
I feel the same about it as I feel about most of the economic system. It's a disappointment that we as a society are still so focused on greed and wealth.

So yeah, no change in feels. I don't really care for money, have left six figure jobs mining because they made me feel like a scum of a human. Zero regret.same goes for participation in crypto, I had coins. But got out like 3-4 years ago once I realised it's cancer with no benefit to society as a whole lol. Zero regrets.
Germany is doing much better than Poland if you look at excess mortality alone. It's largely due to the collapse of Polish healthcare system in October which a direct result of years of being underfunded (Germany has twice as many doctors per capita than Poland). However Germany did close too late in March and many deaths could've been avoided if this happened two weeks earlier. The initial response to pandemic was much better (i.e. faster) in Poland but unfortunately opening schools in September caused a huge spike in infections. Since then Poland is doing quite well and it's vaccinating people faster than Germany.
The FAT driver is definitely not a problem....
Risk of Covid-19 among spectacles wearing population of Northern India
> I need a hero, and by that, I mean that I need a usable methodology for building scaleable decentralized apps. Yes, you've heard that right. We don't need more "Ethereum killers" that can do 10x more tx/s than Ethereum. Those are useless.

> Instead, we need an approach for the average Joe developer to create their idea within the Ethereum ecosystem without the need for hardcore unproven technologies.

So instead of fixing the actual problem, Ethereum scalability, we will do what? This technology was developed by a few guys, most of them already left. It was meant to fix Bitcoin "smart contracts" (there is a such thing).

Tech behind Ethereum is outdated. Even newer versions rehash the same broken idea with sharding. We got 10 years and billions poured into consensus research. There are actual papers and universities doing this stuff. There are github projects that do stuff like decentralized auctions, mixers...
I'm not saying it's not complicated, but complaints about expense and overheads for a company that makes something like $40 billion a year in profit ring a little hollow. That's roughly the size of the UK's defence budget.
As someone who reads a lot more Go than I write, Go is awful to read.

Reading Go means that I keep having to read idioms (as posted in the article) and parse them back into the actual intent, rather than just reading the intent directly. But I can't even trust that, since the nth rewrite of the idiom might have screwed it up subtly.

Reading Go means that I can't easily navigate to the definition of a function, because it implicitly merges folders into a single namespace, so I have to try them one by one.

Reading Go means that I usually don't have tooling that can jump to definition, because there are umpteen different dependency management tools, and Gopls only supports one of them.

Reading Go means that even when I have tooling available, and it feels like working today, jump-to-definition becomes impossible as soon as interfaces are involved, because structural typing makes it impossible to know what is an intentional implementation of that interface.
Meanwhile, in the much more complicated Rust, all but four of those are one-liners[0]. The exceptions being:

* Expand. Rust doesn't provide an easy way to insert multiple values into the middle of a vector, so I had to do 2 lines: append, then rotate right a subslice starting at the desired insertion point by the length of the insertion.

* Shuffle. No RNG in Rust's stdlib, so I used Rand. I did re-implement the shuffle, but in reality I'd probably just use the shuffle function provided by Rand.

* In place dedup. Needed two lines: one to sort, then I could call dedup.

* Move to front. This is not a function Rust provides, so it's completely implemented. Needed 10 lines. This one needs to search for the item and move that if it exists. In the event it exists, I rotate it left onto the end of the vector, then rotate the entire vector right. Otherwise it inserts at the beginning.

[0] https://play.rust-lang.org/?version=stable&mode=debug&editio...
Humanism replaces faith in God with faith in humans. It professed to free us from religion as we were told we don't need a God in order to make decisions. The fact that we never had a God to help us make decisions seems to go unnoticed.
Thanks for that comment :)
yeah I'm having a blast

you can pre-purchase gas when gas prices are low and use it when gas prices are high like now

there are a lot of currently advanced ways to use Ethereum, and all EVMs

The EVM is the thing to learn, being aware of the decentralization ideology is a nice to have and really irrelevant

(which is hilarious argument to have with Ethereum bulls regarding other less secured EVMs because the bitcoiners and no-coiners and general Ethereum detractors don't even consider Ethereum decentralized)
Hi,

For quite a while I've been specifically looking for a reliable source on the "e-ink prices are caused by patents" (or alternative explanation) to bookmark, but haven't been able to find one.

Please educate me. Preferably with sources I can cite. The best I have right now is a freaking reddit comment.
Well, then don't wake me up.

I know it's hard to imagine this if you've never experienced it, but be a little tolerable to the parts of the world where this happens, including where I'm leaving in right now
The idea of transcending the line between the real world and the digital using NFTs is particularly useful, and I bet we are going to start seeing this kind of thing regularly when publishing and acquiring NFTs get streamlined.

I believe this is a career building point for artists adopting NFTs, akin to Instagram's early adopters.
>People forget that they get these free services for free

This would be true if youtube/google created the content as well. Youtube essentially gets the content "for free"... and then decides what to do with.
Oh my! We spent a fair bit of time playing this on my friend's PCjr in 1986 or so. My main problem with text adventures was interface discovery. What precise verb or noun is the parser looking for?

The first one I recall playing was Adventure for Logo on the C64. Don Hopkins has a great writeup about it here: https://donhopkins.medium.com/logo-adventure-for-c64-terrapi... This article would have blown my mind and changed my world when I was 6. After Adventure, I always wanted to write my own text adventures. The first programs I wrote in c64 basic when I was 6-10 attempted to accomplish this, but I had very little concept of how to write a parser.
> If not proof trees, what?

Just make the proof language similar to the standard mathematics language and possibly process it with a presentation layer that makes it even better. The examples start from Mizar [1] (since 1973), IsarMathLib [2] (disclaimer: my project), Naproche-SAD [3] (bundled with Isabelle recently)
[1] http://mizar.org/
[2] https://isarmathlib.org/
[3] http://ceur-ws.org/Vol-2634/FMM4.pdf
Why would you do that? There is significant cost and no obvious benefit in fragmenting data into minuscule database files.
What exactly do you find complex? I see that it is just a blob of C++ that is difficult to read at a first glance, but if you get past that, it is actually super simple.
Q
Can we talk about Q and causation?
It still seems to be working as you described.

https://github.com/golang/go/blob/db8142fb8631df3ee56983cbc1...
It's so odd that this crucial detail is always omitted from this explanation.

If you're encoding a byte stream, the receiver already knows what the set of symbols is, although not the order. Is it really more efficient to send the ordered list of symbols plus the histogram of code lengths than it is to send a length per symbol, with an implicit list of symbols? Surely not.
Sure. The point being that Bezos didn't do that. He did provide value and should be filthy rich, but not $200 billion rich. Much of his wealth is unfairly extracted from others he exploited. If he treated every employee humanely and gave them salaries roughly corresponding to the value they provided, he might only be worth $100 million instead of $200 billion.
You're right! I meant back when I used it.
Dramatically wide compared to invading a whole country, occupying it for decades, killing tens of thousands of civilians?
This is all down to not having a "managed runtime", so it has to be shoehorned into the environment available where you have a stack, a heap, and that's basically it.
Stackless means when you resume a coroutine you're still using the same OS thread stack. Coroutine contexts/activation records are conceptually heap allocated (although in some cases that can be optimized away).

You can use coroutines for what you say, but there are no execution contexts (like a thread pool or an event loop) in C++20 standard library in which to execute coroutines, so to do networking and async I/O you need to use a library or DIY. Hopefully standard execution will come later as part of the Executors proposal.

You can currently use C++ native coroutines with the ASIO library, but this is probably subject to quite a bit of API churn in the future:

https://www.boost.org/doc/libs/1_75_0/doc/html/boost_asio/ov...

You can also wrap things like ASIO yourself. I did this in 2018 when I was learning about C++ coroutines to create a simple telnet based chatroom:

https://github.com/heavenlake/coro-chat/blob/master/chat.cpp

Note that this code is likely garbage by todays standards. One thing i can't remember is why i needed to use the cppcoro library in the end.
The idea of a symbol is that one does only do a lookup when the symbol is read. During execution the symbol is not read again. After reading the symbol is a reference to a symbol object in memory. That's why early Lisp has symbols for identifiers and not strings. Early on the data structure to find or intern a symbol might have been not very efficient, but finding a symbol was thought to be done mostly at read time.

Lisp then used a memory image which was loaded on startup (and possibly written on exit) - which contained the pre-interned symbols.
Ohh no - someone is staying poor
The library itself doesn't depend on anything, instead it delegates the "platform integration" (rendering and input) to outside code.

The examples somehow need to connect to the underlying operating system, and that's why they depend on GLFW as intermediate layer, but this could also be SDL, or - shameless plug - the sokol headers (https://github.com/floooh/sokol), or (more commonly) a game engine like Unity, Unreal Engine, or your own code.
Wool with short fibers thick tends to be. Wool with longer thinner fibers like merino is much better.
>, because in the era of television, people understood that the advertising commercial breaks in programmes were distinct from the actual content of the programme, and that the advertisers are _not_ endorsing the contents of the programme at all!

This isn't true. In the past, some viewers have always followed the money trail of a tv show which inevitably leads to the sponsors/advertisers that help fund it. Example of tv advertisers pulling out of controversial topics:

https://www.nytimes.com/1997/04/30/business/main-character-e...

As I've mentioned many times before, there is no media institution on the planet (whether private corporate or public government funded) -- that is immune from censorship because every piece of the chain (creation, distribution, broadcasting, advertising, etc) all require money and money is the ultimate lever to apply pressure via government decrees, consumer boycotts, advertiser boycotts, employee revolts, journalists shaming, etc.

Nobody has invented an implementation that can withstand any pressure to filter content but also be available to the mainstream masses. Google even with its billions has to tame Youtube to placate advertisers. Apple, even with its billions has to placate China. Niche/obscure "censorship-proof" tech like Freenet/IPFS is not for the masses and the desirable content creators can't monetize their effort there.
Of course Go has hidden behaviors and overly complex syntax, like any programming language before or after.

For example:

xrefs := []*struct{field1 int}{}
for i := range longArrayName {
longArrayName[i].field = value
xrefs = append(xrefs, &longArrayName[i])
}

Perfectly fine code. Now after a simple refactor:

xrefs := []*struct{field1 int}{}
for _,x := range longArrayName {
x.field = value
xrefs = append(xrefs, &x)
}

Much better looking! But also completely wrong now, unfortunately. `defer` is also likely to cause similar problems with refactoring, given its scope-breaking function border.

And Go also has several ways of doing most things. Sure, C# has more, but as long as there is more than one the problems are similar.

And I'm sure in time Go will develop more ways of doing things, because the advantage of having a clean way to put your intent into code usually trumps the disadvantage of having to learn another abstraction. This is still part of Go's philosophy, even though Go's designers have valued it slightly less than others. If it weren't, they wouldn't have added Channels to the language, as they are trivial to implement using mutexes, which are strictly more powerful.
> You are too discussing ESR here.

No, I am not.

> You're the one who brought him up in the first place,

No, I never mentioned him until you did.

> and linked to his fund raising page.

No, I did not. I only linked to one page, the page of the SRC project, which is what I wanted to suggest that people might want to evaluate as an alternative to RCS.

> How did I "trap" you into suddenly trying to change the subject? Who did I ask to "cancel" you? That's "physically impossible", as you would say. ;)

[…]

> Is asking you that a "trap" that will "cancel" you if you answer?

Yes. As is obvious to any but the most casual observer.

> > America, conservatives will tell you, is under siege by “cancel culture.” What they won’t tell you is that they couldn’t be happier about it, since it gives them a handy comeback to any criticism, and helps feed their supporters’ sense of victimization.

Which one of us is trying to cancel anyone right now? Me or you? It’s quite obviously you who’s first trying to cancel ESR for some things unrelated to the software which I suggested, and you are then also trying to get me to argue about ESR, which would make me an easy target for suggesting that I would then somehow be on ESR’s side, responsible for ESR’s opinions and thereby making me eligble for cancellation as well.

EDIT:

> You're on record as having submitted two of his other ridiculously arrogant articles to Hacker News […] you're obviously a fan of his. […] Were you seriously suggesting that ESR would be a good person to collaborate with on developing a source code control system, despite all the evidence? Please explain why. Do you still endorse contributing to his fundraising campaign that you linked to?

Apparently having submitted articles by ESR three years ago is enough to get me smeared as supporting whatever ESR is being accused of. I’m feeling seriously stalked here.

(You neglect to mention that I have also submitted to HN your story about Sun Microsystems PizzaTool. Does this mean that I also endorse your opinions?)
If you want your software to work everywhere, you either need to take responsibility for making it build everywhere (yes, including old versions of Debian which don’t support the versions of your dependencies you need) or you punt that work to someone else - in which case your software simply won’t work on lots of computers. From the perspective of an upstream maintainer, the status quo is pretty awful.

There’s a reason people are turning to docker - because the “portable executable” idea on Linux is so often broken by weird incompatibilities between libc versions or some important dependency being missing or broken from some users’ systems. Automatic package translation suffers the exact same problem - a dynamically linked binary you build on your computer often won’t run on my computer.
And it's not exactly gatekeeping to think that anyone who uses a method on any data structure on their platform should know the (rough) complexity of it (At least in the family constant, linear, or better/worse than linear).
Removing a value from an array-backed list that isn't at the end is usually not a good idea.

My main problem with having "remove items by value" in standard library apis is that it assumes a notion of value equality. Having that notion inserted at the very "bottom" (Like Equals/GetHashCode in .NET for example) is a mistake that has caused an infinite amount of tears.

I much prefer this situation where the user must provide his own implementation and think about equality. It's boilerplate, but the boilerplate is useful here.
>Agriculture uses orders of magnitude more land than energy generation (half of all habitable land on Earth).

Agriculture is a problem. If you add renewables, you now have TWO problems. And funny you should mention agriculture because one of the proposed solutions to get around renewable intermittency problem is to burn bio-fuels or bio-mass. This means we would be using land not just for agriculture for human consumption, but also to grow corn or trees or whatever to burn to support the renewable infrastructure. Here's a pellet advocacy group (https://www.youtube.com/watch?v=bOzj-d83kFM) touting how green Denmark is because it burns wooden pellets! This is the technology of future: growing trees to burn. I'm not against this by the way, and it's a nice way to reuse discarded saw dust, but we also live in a world with little renewable deployment. When we scale up renewable infrastructure there will be dedicated land to just growing bio-mass to support renewables.

Anyway, the general problem is that renewables compound every other problem we need to solve around ecosystem collapse.
A lot of bitcoin/cryptocurrency early adopters were there because it's fun.

Especially in 2009 and 2010 before bitcoin proved it could have value, but even up to about 2016, a lot of people still seemed to be attracted due to the fun.

And a lot of those people ended up in leadership positions.
Are you familiar with the “DeFi revolution?”
But you still apply Huffman coding to the bytes after filtering.

I think this is true even when using 16 bits per sample, but i'm not sure.

From what i remember, in gzip, Huffman coding is applied to the offsets of repeated blocks, which are not single bytes.
I think it's useful to realize this isn't a binary question, in almost any sense:

1. As you said, the amount of luck you are born with makes a huge difference in how much you "deserve" the money, for some definition of deserve.

2. Part of this luck includes things like your intelligence, ability to work, energy levels, etc, risk tolerance, all of which is (partially) genetic, and contributes to the whole "he put in lots of work" part of the equation. So even for that, you can't really give him sole "credit".

3. And obviously, the society he lives in paved the way for lots of this success, in so many different ways (not least of which is creating the internet in the first place).

4. Then again, we don't have to say "well he did the hard work, so he should reap 100% of the benefits". In fact, we don't say that - we tax him quite a bit, so that not 100% of his money goes to his descendants, rather part of it goes to maintaining society, helping poorer people, etc.

5. Worth mentioning that "put in the hard work" is one framing of what he did - but I'd personally prefer framing it as "created a huge amount of value for other people, worth so much money, and he got some percentage of that.

6. Of course other people might disagree with point 5, or at least want to point out that part of the value created was possibly do to exploitation (I mostly disagree with this framing - not saying there was or wasn't exploitation, but I think at a minimum you have to acknowledge that Amazon did provide a lot of value to a lot of people, way more than the insanely large amount of money that Bezos has).

I mention all the above, because I think it's useful to reframe things from moralistic question of "what someone deserves" in an abstract sense, to the much more practically relevant question of "someone created some amount of value, got to extract some (smaller) part of that value, how much of what they extracted do we want to take and spread around society, versus how much do we want them to keep?". That is usually the actual question facing voters/lawmakers, and has lots of ramifications, but is much more concrete, and more easily lends itself to optimization.
Not everyone has a million dollars lying around to earn a 5% return, if your bet is correct...
True, but he did create value worth 100b.

Why does it matter how much you suffer or work or whatever? It's all about results.

Is it fair? No idea, but that is how the world works. If you don't agree, you can take a look at societies that value the work inputted, such as communism. But in the end the real world cares about value, not work.
Just as I thought the author was going to make an actual assertion, he goes "When I was in my twenties.."

I think that's enough of my attention for now.
Look, I've come to the place where the hackers ARE because deterministic forces surrounding my discovery of Q is not allowing me to send certain data if anyone picks this message up and has professional advice, please call 0750 624 7509. And don't hack me, for ya own damn sake.
> You are now planning to build your next big system as a state machine,

Often people don't actively decide to write a state machine, but do so anyway.
I think the big takeaway of FSMs is how to recognize them in an idea or implementation and actively using them as a nice abstraction.
Hey, I think you're making a valid point and I probably should have explained more what I meant by my statement.

IMO, there's a middle ground we can go between slow PoW on L1 and scaleability. I think that it can be done by having tools that give us the same guarantees like deploying a smart contract on the main chain. It's difficult to explain: But what I want is Plasma but as a framework to develop dapps.

This project is going that route: https://github.com/hoytech/quadrable
Nice product. Created an account and it's smooth.
Two questions:
- what's your plan of monetisation
- how you will maintain the ads sanity? Not all side projects are worthy enough for ads.
Well, yes, everyone feels that way, but whose feelings are well-founded and whose aren't?

This is the difference between "we are banning substance X because we did a controlled experiment and found it to be carcinogenic", and "we are banning X because we are afraid of ghosts".
Wasn't cardano supposed to fix this?
I think (US perspective) mostly that along with Hagar the Horrible and a generic connection between vikings and Scandinavian ancestry (that is common in some parts of the northern US). Although many racists are really into the vikings so it isn't always seen as cool. For that matter, I think the British Empire is unfortunately often seen as cool also.
> Now, for whatever reason, nothing has effectively changed and millions suddenly care.

Can't it be due to coronavirus lockdowns? People have more time to read such news and discuss with others.