skysight-inc/HackerNews huggingface dataset:
It's exciting to see so many systems programming languages implement async/await.

For a further comparison, Nim works in the same way as Zig when it comes to eager evaluation. Something that I'm particularly proud of when it comes to Nim's async/await implementation is that everything, right down to the macro which defines what `await` means, is implemented in the standard library. The compiler only implements the coroutines. This means that the language isn't bloated by this extra feature and makes it much easier for developers to implement their own async/await.

I believe there was talk to do the same in Rust, but for some reason the developers decided to implement it in the compiler instead.
There's a huge advantage to not everything being async/await. Knowing exactly when you yield control can give you atomicity and more determinism for free.
An interesting book was this geneticist's book 'The Diet Myth' http://www.tim-spector.co.uk/ which is a critical look at nutrition myths such as fish oil supplements though it has low signal to noise ratio, way too many personal stories.

Maybe look at university department pages to see what kind of research they're publishing, or look at at their course offering to read the same material such as: https://online.usc.edu/programs/master-of-science-in-nutriti... they're using the book 'Gropper. Advanced Nutrition & Human Metabolism 7th ed' in some of the courses.

For cheap food I buy shares in a community supported agriculture (CSA) program that delivers food weekly through the season.
And also the telephone `robocall' e.g. the Canadian conservative party`s voter suppression attempts :
https://www.cbc.ca/news/politics/key-facts-in-canada-s-roboc...
Thinness does have some value for phones. For laptops, there's certainly a market for ultra portable machines but Apple seems to have forgotten that some of us use our computers for work and are willing to trade off thinness for practical usability.
Pretty sure you need at least an operating system and memory allocation
The best solution I can think of to tackle this problem is to design a probabilistic model that include a confidence level for future risk and payment for k&r, if the risk is increased the maximal payment is decreased in such a way that the mean risk is kept constant. So if you communicate that you are covered and your probability of kidnapping increase ten fold then the maximum payment is divided by ten.
I particularly enjoyed Diamond Age by Neal Stephenson (won the Hugo Award) and Liu Cixin's collection of short stories, The Wandering Earth.
The problem as I see it is the type for lst.

Common Lisp has a (CONS α β) type for cons cells with member types α and β, but its LIST type is defined as (OR (CONS T T) NULL), basically more of a binary tree type, where T is the Common Lisp "any" union of all types.

A useable (LIST α) type would be something like μβ.(OR (CONS α β) NULL), but that's not expressible within standard Common Lisp. I expect it to very hard to infer too, especially with CONS cells being mutable.
> I just don't like betting against myself.

Hm? That's not how insurance works.
Truncated graphs are really misleading; I ended up doing a double-take. There are more honest ways to compress the height of a graph if vertical space is at a premium, like showing %savings.
Adobe Photoshop Shortcut Keys for Graphics Designers
Feels like he forgot the obvious: By having exactly one developer.

Although I see he got some freelancer artists and a musician. At least he didn't have to learn to compose music (people have done just that).
The downvoting of the above comment is ridiculous. There are two distinct issues:
1) ads may persuade voters to do X
2) the belief that everyone is seeing the same ads

As the above comment correctly points out this story offers no evidence that #1 is taking place.
Can a Smart Legal Contract Be Considered a Contract According to the U.S. Law?
That's actually exactly how insurance works. You place a bet against yourself, and you hope not to lose, but if you do lose, at least you win the bet.
>if you register for a trial, for example, you should be "paying" with your email to let the company start a marketing process.

Sympathetic customer fallacy. Figuring out how to get new paying customers through the door is not the problem of everyone who considers trying your product. Expectations that trial users should "pay" by taking on the burden of having to tell your marketing department to go away if they aren't interested enough to buy it on their own initiative is reality denial. Obviously people aren't going to do that, and spending effort trying to "disposable-email-proof" your trial system is a bottomless pit into which you will pour money for all eternity. People are actually paying money to the disposable email companies to have them actively combat you. You will never complete that project and you will never be able to stop spending on it.

Ideally your trial is persuasive enough to have a steady trickle of people decide to buy the full product, but not so generous they feel that they'll get the full experience by cycling disposable email addresses. Finding that balance is the responsibility of your business, no one else will change their behavior to do it for you. If you can't find it, maybe that's a sign that you've made a product that maps poorly to sustaining a business. One might call this the "bittorrent inc" strategic mistake.

Always remember to stay grounded in reality.
As I understand, the basic idea is to minimize surprise over the organism’s life using models of the world to predict the causes behind what the organism observes and actions to keep the organism within states suitable for survival.
And you watch porn, your brain thinks you are ....
The most commonly expressed reason is that you should be able to use variable names like "list" without shadowing the list function.

Someone with insight mentioned that there was a belief that it would be easier to optimize separate namespaces, but that reality proved them wrong, but I haven't verified that claim.
It is hard to do business in Africa, or even with Africa.

Just consider hosting and latency issues: you want at least a server in South Africa, and one in Europe because of how backbones are laid up. By doing LBR, you will find many of your clients are better off with the European server (!!)

It would be better to have a third one in Eastern Africa - say Kenya, and fourth one in Western Africa - say Nigeria. Now try to find hosting there!

South Africa has Hetzner and a few others, and soon an Azure DC. Kenya and Nigeria, I'm still looking.
Why does it have to be either one? Why not the possibility of choosing the implementation you want to solve the problem? A language where you could easily run whatever you want would have my vote. Not having it shoved down my throat (I’m looking at you JS). While it’s possible to build most of it yourself you should have the possibility to choose.
cat 1.txt

http://example.net/?p=
https://www.example.com/?page=
...

For a given URL prefix in the file 1.txt, print URLs for pages 25-35. Desired URL prefix is on line 100 of the file.

cat 1.sh

#!/bin/sh
l=$(exec head -$2|exec tail -1);
n=$3;while true;do
test $n -le $4||break;
echo $l$n;
n=$((n+1));
done;

1.sh 1.txt 100 25 35

cat 1.k

g:{_getenv x};
u:0:g "u";
l:0$g "l";
b:0$g "b";
e:0$g "e";
`0:{,/$u[l],x}'b _!e;

u=1.txt l=99 b=25 e=36 k 1
Macs have never been cheap. There was a period where the Air (at < $999) and the 13” Pro (at $1199) were fantastic deals.

Let’s go back in time to when the choices were the $1799 12” PowerBook, $2199 15” PowerBook, or the $1299 iBook
Definitely. I meant more recent than the foundations of information theory
If I’m reading the proposal correctly, it’ll be possible and even straightforward because the standard library only provides the interface. You’ll be able to swap implementions by replacing the package with whatever fulfills the interface requirements.
Although very loosely Sci-Fi, there is the Russian classic of Roadside Picnic. One of my favorite books, and spawned some amazing derivative works down the line.
Oh thanks !
US Congress “The Future of Money: Digital Currency” [pdf]
I think Mozilla should advocate for patents free Software or get rid of Software Patents completely.

The graph starts at 50%?

And they didn't mention in the Moscow State University test, AV1 was 300x to 1000x slower.

While I like competition from AV1, whatever they are doing in terms of marketing really doesn't resonate with me.
> It’s shocking how expensive Macs have gotten

Expensive now? A Quadra 950 in 1992 had a starting price of $7200 (1992 dollars) and that didn't include any hard drive. That's almost $13000 or more than €11000 today for the basically empty base model before several thousand more to upgrade RAM and add storage.
1) Have you checked what number of the emails bounce? (Incorrect or non existent addresses)

2) Have you thought about skipping password setup and using magic links instead?
Enjoy Your Own Company
If you're in Canada, it'd be categorized under "War Heroes"
> no ability

The bank could have abandoned Microsoft products. They could have sued Microsoft. Blaming one's underlings is a sign of weakness. Blaming the customer would be a disaster.
the benchmarks also pretty much scale with cpu core count. I’d like to see some web, compilation, video and photoshop benchmarks, stuff people with Macs actually do.
One thing I like about Go is that there is no dichotomy between sync and async. Every function call presents a sync interface, but under the hood all I/O is async. I really miss this in Python, where every library has an async twin, usually maintained by someone unafiliated with the sync library.
Judge jails man for failing to unlock phones
What are one or more modifications to the board game Monopoly which would allow the gameplay to sustain itself; which is to say that nobody would win?
Last time I checked (very unscientific test using Handbrake) the AV1 encoder was something like 10x slower than the hevc encoder on the same system. Is this likely to improve?
Featured Professionals – MLM Gateway
I just finished reading the proposal and I’m super impressed and even excited. I really appreciate the commitment to not leaking implementation details into the standard library (i.e. exposing only the interface). This is fantastic for both embedded and (operating) system applications. Nice work everyone.
In July 2014, the U.S. dollar was worth around 0.73 euros; today, it is worth about 0.86 euros. In January of last year, it was worth about 0.95 euros, and Apple obviously has an incentive to account for possible short-term exchange fluctuations.

2300 / 0.73 * 0.86 = ~2710

2300 / 0.73 * 0.95 = ~2993

It would appear that currency fluctuations account for a significant portion of that price difference that you're seeing.
I first look at the whole sourcecode itself, then at the database schema. I need to understand how it ticks.

I escalate only if I find nothing obvious, but most issues are obvious once I have even a basic understanding of how it works.

As you said with the loop, there are only so many ways to do things. With experience, you know them and their respective failure modes.
> And they didn't mention in the Moscow State University test, AV1 was 300x to 1000x slower.

Reference implementations of codecs are always slower. AV1 hasn't had the benefit of years of optimizations yet, so this slowness is to be expected.
Green threads is very different from CPS actually both from an implementation and semantics point of view. In a CPS model the continuation is first class and is available at every single call point. In practice this would require heap allocating every single function frame, which is expensive and and a huge problem for interoperability (a smart compiler can turn it back to a traditional stack if the continuation is only used in traditional ways)

With the normall call/return model, the implicit continuation in a normal call stack can only be accessed via return. Green threads do allow accessing the continuation at specific yield points (although most green thread implementations do not expose it to the user) but because the yield point are much fewer than every single call, a whole stack can be allocated and used in one go. There aren't in fact many issues with interoperability as foregin functions or even os calls can be accommodated on this stack.

Async is a tradeoff, basically the programmer is responsible of marking functions that are to be CPS transformed and that need their stack frame reified. This way no full stack is needed nor there are the performance and interoperability issues of full CPS. You end up with the blue/red functions issue though.
The report is that the keyboard is not the same. Quieter, but not necessarily more reliable. Reliability remains to be seen. Keep in mind that the uproar over keyboard problems started far too recently to have affected the design of the 2018 version.
Which is exactly why Amazon is not sacrificing the long term for short term profits.
Blockchain in the Insurance Industry
Learning a new programming language is a low-risk endeavor. Your highest cost is likely to be a book that you buy, if you decide to go that route.

Compare that to a business, where you have to pay to file paperwork that you may have to hire a lawyer to tell you that you did wrong.

You need to know how to structure an articles of incorporation in a good way for your organization, and you only know you get it wrong when it's too late.

You need to know how to raise funds in a way that own't personally bankrupt you.

You need to know how to read and understand contracts.

You need to know how to hire people in a way that doesn't expose you unduly to lawsuits.

You need to know bookkeeping well enough so that you don't need to hire someone for that right off the bat.

There are tons of things. I know that I don't even know how much I don't know, because I've only ever had a small rinky-dink business.
What if the plans were for home-made dirty bombs or nuclear devices? What's the different between disseminating how to make a gun and a weapon of mass destruction?
> ...trying to attract developers by dancing and chanting "developers, dev..."

That video was from Microsoft's _internal_ company-wide meeting held annually to rally their staff, so your assertion is invalid.

Moreover, it's a bad example to begin with; Ballmer was and still is absolutely correct. What makes the FOSS software ecosystem so successful? That's right: developers, developers, developers. Somebody has to write all that code and it isn't going to be the end-users. When developers get pissed off at a platform, they abandon or fork it, which is why it makes sense to keep developers happy.

Those of us who were around in the '80s-'90s remember that Microsoft's rise to dominance was partly powered by the fact that they offered relatively cheap and good compilers and dev tools and solid documentation to make it easy to develop software for their platform. Contrast that with the workstation vendors back then that charged much more than MS did just to get a compiler.
Why would kernel threads be polling in practice? Won't most be waiting on locks, file descriptors, timers, etc?
depends on the complexity. if it is 2^1000 then forget about finding an optimal result.
If you want mass adoption, yes. For whatever reason, few developers want to pay for their tools. Maybe we've been spoiled by all the open source ones.

A few companies manage to get people to pay for tools (e.g. Unity, Visual Studio), but they're the exception, and it's more due to a lack of open source offerings with comparable features.

No one would pay a license for a new JS framework or for a compiler outside of niches, which is where proprietary tools still survive.

If you want mass adoption, you need a complete free offering (as in beer and as in freedom). Which sucks for the tool vendors, since that's a lot harder to monetize, if not impossible.

On the other hand, it's a boon for people getting started since they can try out all these tools without a monetary investement, and it's great for companies who don't need to pay for the code they base their whole business on.
Hum, I don’t think the FOMO is linked to Internet usage, but real life things. We do social media to kill time, not because we FOMO.
He's a political scientist at a conservative think tank.

And no, he's not using "whiter" as if it were a problem. He's saying that different age, race, density, and sex groups becoming massively disproportionately represented in the Senate is a problem. He specifically mentioned "older", "whiter", "rural", and "male" because those are the groups that are the ones that will be massively overrepresented.

You can only infer racism (or ageism, sexism, or whatever ism bias related to urban/rural is called) if you have some reason to believe he would not be saying it was a problem if the skew was in favor of blacks (or the young, urban, or female).
Labour is a party that since the Kinnock purges of the 1980s only retained a rump of what could be described as `left-wing` and a majority that whole-heartedly embraced neo-liberal economics.

Since the democratic upheaval within Labour (resulting from hundreds of thousands of people joining) this Blair/Brown appartus is being ousted -- and that`s why they are doing these sorts of things. They hate and fear socialist policies, even the watered-down ones advocated by Corbyn and McDonnell.

There`s no point in winning an election if you become right-wing to do it.
40 days with no rain in Ireland – water rationing in place
Get what you deserve
No, I am not. Perhaps you read up a bit about Common Lisp and SBCL before we continue the discussion.
hmm, did a naive quick speed test. Man, this lib is extremely expensive... 500 times slower than doing the same comparison in vanilla JS

const num= 74;
( (typeof num === 'number') && (num > -1 && num < 101) && (num % 2 === 0) && (num !== 32) )

compared to their first example:

v8n().number().between(0, 100).even().not.equal(32).test(74);
Secure multiparty computation. You both put in an input (I need the insurance or I don’t; versus I provide the insurance or I don’t) and you only learn whether the two preferences match.
DevOps: Who Does What
It did with H265, the prototype implementations were horribly slow.
And also the ABI compatibility for C interop is harder without a "classic" stack.
An article on that topic, https://www.scmp.com/magazines/style/tech-design/article/215...
Cow lynchings, political lynchings, WhatsApp lynchings - many have direct connection with Hindutva organisations. Recently we had an RSS minister openly felicitating convicts of a cow lynching. That is the state of democracy in India. State governments are virtually powerless under Modi’s Raj.

Here is an up to date chronology of lynchings under Modi
https://www.thequint.com/quintlab/lynching-in-india/

Let us stand firm against hatred in the name of religion and race. Stand for democracy - stand against authoritarianism.
To pick some nits and generally elaborate, Erlang's VM also has a scheduler; it's not the presence or lack of a scheduler, it's how efficient it is and what guarantees it allows the programmer to make about their system. For example, OS schedulers are typically pre-emptive, which means your OS thread can get interrupted anywhere. On the otherhand, Go's scheduler (I'm using Go because I'm more familiar with it than with Erlang) only allows context switching at well-defined points in your program. Further, operating system threads have more overhead than in Go (presumably also Erlang) because they're fixed stack size (yes, I know this isn't true for all OSes).
I also find myself using Apple Notes for a lot of short list-type stuff, from to-do lists to my daily cardio log. Somehow the simplicity and prevalence -- all my local machines are the spawn of Cupertino -- make the default just good enough I don't want to invest mental energy in a more featureful alternative.

Unless I write it myself, but I'm trying hard to avoid that temptation, as are probably half the people commenting here.

For longer-form stuff (brainstorms mostly) I switch to Markdown in whichever text editor I'm using that day, and... ooh I'm setting myself up here... Dropbox.
The writing has been on the wall ever since they dropped the ethernet jack from the MBP. They're making the Pro as thin and light as possible, so the Air doesn't make a lot of sense as a product line anymore.
I'm not familiar with the way rust is going, but in general Async can be implemented purely a compile time by turning an async function into a set of functions tail calling each other or a switch statement. The stack frame need to go somewhere, but with allocator support this does not need to be exclusively handled by the runtime.
If you have to fold the whole bench to get out you are less likely to accidentally leave something behind. But I guess the real reason for this design is probably that folding the bench saves some space.
IIRC Fidonet had a real name policy.
The article also incorrectly calls AV1 "patent free".

It's royalty-free, but what that really means is that contributors are licensing their AV1-connected patents to everyone for free. That's all fine and good as long as AV1 isn't found to infringe on patents owned by non-AOM members.
That's a very unfair comparison. You need to compare the relative price against comparable laptops produced today.

Also Apple seems to be the first laptop producer to raise prices instead of lowering them. In 2010, I could get a MacBook for 1000 euros. The equivalent laptop upgraded to today's standards would cost 2-3 times that.
Be careful with this. I'm not saying you should not do it, but consider you'll have to design it very carefully.

In python you can chose what event loop to hook to async/await, and hence we have gevent, qt, uvloop, twisted, asyncio, tornado, trio and curio as competing implementations.

They are very difficult to mix, and their ecosystems are mostly isolated, dividing the man power to add features, fix bugs, provide support, create libs or frameworks and write docs or tutorials.

Another problem is that you have (except for gevent which causes other problems by monkey patching the stdlib) to setup the event loop explicitly.

Those mechanisms are complicated, easy to get wrong, confuse beginners, make docs introduction long and annoying or misleading before getting to anything interesting.

E.G: to use asyncio, you are exposed to an event loop, an event loop policy, awaitable, coroutines, coroutine functions, futures, tasks and task factories.

But there is worse... You can setup any event loop any way and time you want, and because the api is public, another lib can come and swap it. No lib to my knowledge provide any form of locking.

This leads to some weird situation where libs are considered so low level you end up writing wrappers on top of it (e.g: https://github.com/Tygs/ayo) just to be able to start using it sanely.

Now compare with JS.

I'm really not a fan of the language. However, even when you can't use async/await, using a promise is straightforward. You don't have to bother about creating the loop, starting it, stopping it, cleaning after it has stopped. You don't have to wonder if somebody is going to swap the loop. You don't have to get a reference to a loop to schedule anything. Actually you can mostly ignore the loop and just code the solution to your problem.

Now this makes JS dependent on one loop implementation for each runtime. Also you can't code any new async feature in JS, only use the existing ones. It's probably not what you want for a language like rust.

However, you should learn from the python ecosystem fragmentation and overly exposed low level API to avoid the same mistakes.

Somebody that just wants to use async/await should not have to learn how the implementation works in details, nor take so much precaution to avoid implementation lock in or break somebody else work.

And you really want a federated ecosystem. Having 7 incompatible websocket lib sucks.