skysight-inc/HackerNews huggingface dataset:
I think there's a conflict between FFIs in practice and theoretical FFIs. The few papers I've read for sound FFIs between languages A and B rely on the fact that the common interop target is a high-level language whose features subsumes the features of A and B. ABI, calling convention, etc. are merely implementation details.

So from this perspective, the interop target should actually not be the lowest common denominator, but the opposite: a target that can describe all possible user languages in a common format.

In fact, I would actually argue that the implementation details are NOT that interesting and only a distraction: that we need an abstract way of declaring compatibility. For instance, one can imagine a high-level FFI target where function types are parameterized by their calling convention i.e.:

`foo: (VOID<C>->VOID<C>)<C>`

`bar: (UNIT<Rust> -> UNIT<RUST>)<RUST>`

and attempting to call `bar` from `foo` involves a compiler intrinsic like `RUST_CALL(bar)()` to convert the type (and the calling convention) appropriately.
I went down the same road last year and many of the suggestions are same I eventually found. I gave up scaling though because it's garbage.

The gnome-tweaks solution mentioned in the article works, but it's buggy. Some apps ignore the setting (Dia, I'm looking at you!) and in some distros (Mint, I'm looking at you) parts of the OS bug out, with e.g., some dock icons being scaled and some not. Anyway, the resulting hodge-podge was awful enough that I'm using a 1080 resolution on my fancy 4K screen.

Remaining issues include video playback, which bugs out from time to time, bluetooth, which mostly works except when it doesn't want to connect or when it sets the sound profile to the early-bleedingly awful HSP setting.

One issue worth mentioning is new hardware. When I switched I bought a (then new) X1 Carbon 7, which turned out to have no support for its fancy new digital microphone. The driver took six months to make its way into mainstream distros and I spent this period doing telecon calls with voice via my telephone and video via the webcam.

Anyway, everything mostly works these days. One thing I enjoy compared to modern macs is not having to fight my machine over the right to install software I want (code signing my own gdb binaries is an awful experience).
I’m not sure I follow. There’s no reason Electron can’t use the platform’s ample facilities for shared libraries, and distribute one copy per Electron version rather than per app product. It would possibly be a slightly different startup experience (eg download the components on app launch; even that I think could be solved by detecting their presence with URL protocols, a fairly common practice, to determine which bundle to download).
In that case the priority review voucher process doesn't make sense if they can evaluate them concurrently.
I've been using Verdana for ~10 years. I've tried others but keep coming back to it. It continues to be a very consistent and elegant design for screen.
You can lie with press releases all day long. The pacific NW had more "renewable" energy production than carbon sources for decades, its carbon footprint per MW is about 3x that of France.

Shifing to a pacific NW model is economically something that is happening on its own, and has been for the 30 years I linked above. But not because we are building "Green" because all those intermittent sources are 30%+ backed by NG generators which can be spun up/down on demand and over the past 15 are super cheap to install. And NG has been super cheap due to fracking and the fact that the US can't sell it internationally.

But its not about percentages, its about how much CO2 is being produced.

https://www.nwcouncil.org/news/northwest-carbon-footprint-lo...
Memory safety and FFI operate on two different layers of abstraction entirely. What does it mean to enforce 'memory safety' across the boundaries of two different applications/libraries that may have entirely different ways of keeping track of memory allocations and deallocations? Again, FFI has to be agnostic to such implementation details in order to work, and it does so by forcing you to define interfaces in terms of the lowest possible level of abstraction common to all applications. That means explicitly specifying expected memory layout and calling convention on both the application and library sides, i.e. an ABI.
Sold, on all counts. I have an MBA 2012 running Ubuntu that will be trashed this weekend in favour of Arch.
1. Ah! Sorry I missed that and went to the GitHub. Might be helpful to also add that link to the "website" field of the GitHub?

2. I get it. I never had the "pleasure" of being an academic, but got the chance to be a software engineer working alongside grad students for a couple of years and it felt like I imagine what taking a tour of a sweatshop factory floor would be like. (a huge exaggeration, but I saw a lot of low pay and lots of time on pdfs and not enough on code)

3. Yeah, I get it, but maybe allowing everyone to run it on their own VM would be better (and providing a one click "click here to get your own droplet on digital ocean running kyrix" sort of thing). I've found that Docker suffers from the XKCD problem (10 different environments to support—what if there was just 1....11 different environments to support!). I've almost never had a pleasant experience using Docker (and anything that requires downloading a 1GB+ image I don't consider pleasant). But again, I'm probably just being a grump and the other grads I worked with all seems to like it. Another idea is could use do this with SQLite? Have a more slimmed down version that didn't require Docker + those dependencies

Thanks for the answers! Very cool stuff and it's a very interesting problem.
Start with simple stuff on small boards, and just order some boards, solder them, add bodge-wires as needed to make them work, fix the design, repeat. With places like oshpark and JLPCB a few iterations on small boards luckily don't break the bank anymore.

Go look at other people's designs. If you're doing something mildly interesting to others they might also be willing to help review your designs (user forums etc for the PCB design tool you are using can also be helpful for that)
Looks great. Let me try Arch this weekend and then give PopOS a try.
or is it obviously executing `something()` followed by an anonymous scope with a less-common indentation pattern, e.g. equivalent to

var x = 1;
something();
{
var x = 2;
}
// x is now 1 again, as the scope
// containing the new variable x=2 is gone
something();

or, as mentioned in another comment, is it passing an execution block to `something()`? (I didn't mention that in my original since it's a bit less common of a language feature, but it's valid too)

enforced semicolons and/or significant whitespace/newlines can resolve this in some cases, but it of course depends on the language. and diverging too far from common langs has its own downsides too, especially where you're changing the interpretation of what are already common patterns.
Yup! Not 100% Bluetooth works but I can confirm AUX working without a network.
> But if its truly cheaper than all the worlds CO2 production problems are solved!!

I mean, the International Panel on Climate Change certainly thinks renewable energy is a core part of solving carbon emissions. Their special Report on 1.5C AKA SR15 (https://www.ipcc.ch/sr15/chapter/spm/) says:

> In 1.5°C pathways with no or limited overshoot, renewables are projected to supply 70–85% (interquartile range) of electricity in 2050 (high confidence).

For the 3 scenarios where we achieve needed emissions reductions, renewables are 48-60% of electricity generation in 2030, and 63-77% in 2050.

> Energy is sufficiently deregulated in enough of the US that they will sell to the areas that aren't

In the US in 2020 the majority of new generating capacity being added is from solar or wind: https://www.eia.gov/todayinenergy/detail.php?id=42495# -- and if you do the math for capacity factors (around 40% for wind, 25%ish for solar, 60% is for natural gas) then you'll find that solar and wind capacity generates more electricity than the gas.

If the US grid operators and utilities are building all this renewable energy capacity, perhaps they know something...??

> in places like TX the power costs frequently go to zero when the wind is blowing and spike at other times.

Isn't that what a free market is supposed to do -- respond to supply and demand? Last I checked, we don't say that the stock market is broken because it goes up and down.

> that does little but create an oversupply problem

Are you saying free excess power is a BAD thing? I can think of a TON of ways to take advantage of a temporary oversupply; capturing it in storage is only one of them.

> If big battery plants are economically workable then we would also see a lot of companies arbitraging the free wind energy into $ when the price spikes but we don't see that either

Hold your horses -- they're literally starting to do this in Australia. Batteries were pretty expensive up until a couple years ago: https://arstechnica.com/science/2020/10/us-grid-battery-cost...

Now we're seeing a race to install batteries. Energy arbitrage is only one of the possible income streams -- grid services such as frequency regulation are an even bigger source of funds. The "Big Battery" in Australia has already paid for itself after just a couple year and they've already increased capacity by 50% and are installing a second one in Victoria.

> balancing with gas

In the US, gas capacity is mostly replacing dirtier, more expensive coal powerplants. I don't see a problem with using spare gas capacity to help balance the grid while storage gets ramped up -- the renewable generation is directly replacing fossil fuels except when they need an extra boost.
If you think about it, _thats_ always been Apple’s MO. Back when they had 10% marketshare with macs in the ‘90s or even with 70% marketshare with iPods in the ‘00s.

The forcing function, for all the attributes you listed, over the last 10 years has been the iPhone.

Even the headway’s in 3rd app support that the Mac will get now, is funnily because of the iPhone. Can you imagine what it must look like to Bill Gates from 2003? “Wait you’re telling me that a not yet built device with zero support for existing apps is going to magically make macs have the most abundant catalog of apps in 17 years?!!”

There’s only way counter action to those problems — stop buying apple products.

/disclaimer: I love apple products. But I didn’t mean any of the above with sarcasm.
They may be gen3 and gen3+ and newer designs, but they are still just working on the old regular fission model. I'm talking about using breeder or FAST reactors, which are completely different in the underlying physics. So far I believe there haven't been any of those built commercially but have been in testing for 60 years without issue.
Seems to depend on the PDF viewer (font issues?). The kerning is almost unreadably bad in macOS's PDF viewer (Preview), but looks perfectly fine in Firefox's built-in PDF viewer on the same machine.
Yeah sorry it's a home-grown blog platform and we're still working out the kinks. No-JS support is on our list but has been low priority.

Here's a static-friendly version:
https://docs.monadical.com/s/SJagdPZ7w
I did this in 2015, and then I switched back because I actually wanted to get work done instead of fighting with my tools. I wish the bet of luck to anybody who does this, but with time and maturity comes an understanding of the reasoning behind the trade offs Apple has made, and what the benefits are.
Reality TV show concept, there. Take your hyper modern family of 4, dump them in a cabin in the woods with no connectivity at all. No phone, no net, no broadcast TV, no nothing, for two weeks. Books, perhaps. Mark Twain and some howtos. 1910 encyclopedia.

Honestly this reads like someone whose next post is going to be about the wonders of Alcoholics Anonymous or something. Good luck but the first step is realizing that its an Addiction.
I imagine the post you are replying to is referring to actually getting the Linux kernel to boot (since there is no BIOS, UEFI, etc.) and writing drivers for all the possibly specialized hardware Apple put in there.
> Keeping up with mac OS and the trackpad was already quite hard, but CPU could be the killing blow.

The CPU is good, but it's not a miracle.
Ryzen is still faster, what makes waves is that this is the first time an ARM CPU has beat Intel.
In the words of David Heinemeier Hansson:

> In fact, Ruby, to me, so much of the enjoyment in Ruby is these incredible subtleties, of how many different ways you can structure a conditional. Like, Ruby has, I don't know even the count, there's gotta be 60 different ways you can say `if something`, right? And it is in those 60 different ways that I find half the enjoyment of writing Ruby. Like, it was one of those things where I knew, very early on, that Python was not a language for me because it said, right in the manifesto, there should be preferably one and only one way to do things. Ruby has the exact opposite approach, there should be preferably ten thousand subtle different ways of doing things, that will allow you to write that particular conditional, with just the right emphasis, do you write it in the front, do you put it at the back, is it multi-line, is it single line? Like, there's so much variety and it's in that variety that I find poetry. And it is the poetry of writing Ruby code, of making those subtle distinctions where, at the end, you can like, "Ehh, should we move it around" like, where I just go like, giggles, right? Like, this where like we talked about that big smile, right? So much of that big smile comes from, not just like solving the problem, but solving it in a poetic way.
"CEO Douglas Feirstein, reached by phone on Thursday, said the company was in the process of being acquired but denied that it was shutting down. He said he was not at liberty to disclose the name of the buyer.

The San Francisco–based startup, founded in 2012 and recently valued privately at more than $500 million, came to prominence amid a tech hiring boom by helping companies such as Twitter, Airbnb and Lyft recruit workers. It raised more than $150 million from investors including Sierra Ventures, Crosslink Capital, Investment Management Corporation of Ontario and Lumia Capital.

Equity investors are not likely to get much, if any, of their investment back. Schaffer, the CFO, told shareholders that the board had verbally agreed to sell the company’s assets via an assignment for the benefit of creditors sale and that the special entity established for the process had already received a number of proposals for the assets. Hired does not expect to distribute any cash to shareholders after paying off creditors, he said.

“It is unlikely the sale will generate sufficient funds to pay all unsecured creditors in full,” the email read. “After the ABC sale transaction, Hired Inc. (which will own no assets) would be wound down and dissolved.”

Hired had been having trouble with its premium recruitment model even before the coronavirus pandemic roiled the job market. In 2019 it missed its revenue goals by more than 50%, according to people close to the company. Feirstein said he could not comment on its financial performance in that period. It now employs fewer than 80, down from about 250 at its peak, according to people familiar with the company."
So where does the power efficiency gains come into play. Is this a feature of ARM specifically, or RISC in general?
> Flash was so much simpler than the Javascript "standards" layer cake we have today.

For basic animation and graphics that's true but not for creating anything interactive. ActionScript was based on ECMAScript / JavaScript and was very similar. If you knew JS you could easily write AS and vice versa.

If you mean it didn't have the complexity of today's JS-based apps that may be true but that's a choice, not a technical limitation.
The screenshot is from my mac, the author is my colleague however who is still on Linux.
I’m also just old. Mobility, or rather a desire to be mobile, has ebbed.
+1!

I use Input for about two years and really like it. IMHO you need a high dpi/Retina display, though.
I also like Output, a new font by Input‘s author, but haven‘t tried it yet. Might be a great fonts for usable interfaces
This looks really interesting and all their other products seem to be sold-out (which I assume means that they are working). I would be interested but I am not sure I should spend even more money on gadgets ...
> All the people writing terrible code in Flash simply started writing terrible code in Java script instead.

And then some genius decided "What if we ran JavaScript on the server?" and Node was born.

Then came the node_modules black hole and the left-pad debacle.

Sometimes I think JavaScript was a mistake.
So is Rome.
I used nbdev when it was first released. Some things must have improved since then, but I was already amazed by the experience. I think having code + docs + tests in the same document makes a huge difference in the effort needed to get those 3 done properly.
I live in tx, and have a bit of knowledge about this.

Gas plants are still being constructed, and there are more in planning. There is 0 indication its going anywhere anytime soon.
Faker.js Has a New Godaddy
It's all whats in your tabs, comparing otherwise is useless.

I typically run between 100-200 tabs at any given time, most of them hibernated, but some readers only run 10 tabs.
It great until something breaks. I had a Arch Linux system going for a while and at some point (probably my own fault) broke graphics. I'm technical enough to where I could have probably fixed it on my own but honestly just did not have the time.

Not sure if something like this already exist (especially with ZFS and Btrfs) but it would be nice if there was a easy to use system restore manager you could boot into and restore your system to a last known working state. Again, keyword easy. Yes I'm technical enough to where I could fix it but I just don't have the time.
Central place to add your own stuff and basic setup, push out customized versions of tools with less conflicts, control over what people run (e.g. if your security people or lawyers don't want some software to be ever used).
I was skeptical but I have to admit that I like its simplicity. Compliments.
The main issue might be video drivers and other non-standard hardware. There are many reports of people being able to boot into linux on the new M1 by tweaking secure boot.
> many otherwise informed Americans

It also has to do with conversation venue. Think how many HN commenters work for companies like Uber/Lyft, just for one example.
As far as I know it is not encouraged and possibly not available for people in my age range to receive flu vaccines from the NHS. I have a higher mortality risk from the flu than from covid. From a purely selfish point of view I don't understand why the flu vaccine is difficult to get but the covid vaccine will be easy. It might make sense when you take into account the wider social costs but the situation seems weird to me. I'm not anti-vaxx. I actually want to get a flu vaccine based on advice from my doctor in Australia but I haven't because it looks like it would be an ordeal to get one from the NHS.
The sin^n x notation is bad. I don't blame the undergrads there.

So we learn the following fact:

sin^{-1} x = y
=> x = sin y

Being enthusiastic new algebra students, we presume know this must work by applying sine to both sides:

sin^{1} sin^{-1} x = sin^{1} y
=> sin^{0} x = sin y here sin^{0} is zero applications of sine to x
=> x = sin y

Noting we could start at line 2, and apply sin^{-1} to both side also, we have now learnt that:

sin^{a} sin^{b} x = sin^{a+b} x
if a = +/- 1
and b = -/+ 1.

Presumably, if notation is at all sane, the rule applies to other values of a and b so:

sin^2 x = sin sin x (? Surely!)

Right? No.

sin^2 x = (sin x)^2
and sin sin x = (has no other name)

No wonder students get confused. The notation is trying it's darnedest to confuse them.
That's already been answered by reviews, the answer is there's a dip in sustained performance for the fanless Air but not on the Pro and Mini, and the fan noise on those is almost imperceptible.
> (ARM has 16. So does x86-64.)

64-bit ARM has 32 GPRs.

> Fixed-length instructions instead of variable-length.

This is the big legacy of RISC that helps "RISC" cpus most against x86. M1 has 8-wide decode, with very few stages and low power consumption. Nothing like it can be done for an x86 cpu. The way modern x86 handles this is typically with a uop cache. But this costs a lot of power, area and only provides full decode width for a relatively small pool of insns -- 4k on modern Zen, for example.

> > One of the key ideas of RISC was to push a lot of heavy lifting over to the compiler. That is still the case. Micro-ops cannot be re-arranged by the compiler for optimal execution.

> Modern compilers do use instruction scheduling to optimize execution, and instruction scheduling for microcoded execution is well-understood.

Compiler-level instruction scheduling is mostly irrelevant for modern OoO architectures. Most of the time the CPU is operating from mostly full queues, so it will be doing the scheduling from the past 10-~16 instructions. Compilers are mostly still doing it out of inertia.

> "precious silicon"

The big difference from that 25 years ago to today is indeed that silicon is now the opposite of precious. We have so many transistors available that we are looking for ways to effectively use more of them, rather than saving precious silicon.
Is Free Better?
Found this explanation of 'delay discounting' quite good:

The phenomenon scientists call delay discounting can tell a lot about
a persons ability to set and attain goals. Some people are more likely
to prefer smaller but immediate rewards rather than larger but delayed
rewards. The tendency to prefer immediate rewards, even if they are
smaller, has been linked to impulsive behavior, which is connected to
problems such as substance abuse and addiction.

https://medicine.wustl.edu/news/podcast/delay-discounting/
I tried Apple in 2015, then I switched to Linux because I wanted to actually have control over my own computer. I wish the best of luck to anybody who does this, but with time and maturity comes an understanding of the trade offs of using Linux, and what the benefits are.
Theres a more static version with plain markdown download option here: https://docs.monadical.com/5QRy1k-dT_mbD724FC09fA
I got an SSL error on this page. This is the second time that’s happened today. And I can’t remember this happening on my phone in the past. Is this something on my end or are others seeing it too?
Very cool idea! Useful for evaluating whether or not to order a new MBP now or later.

One minor bug - Sketch shows under all apps, but not under design apps (I thought it was missing altogether because I didn't see it under Design).
turn it up to 11 with "truly modern" or similar.
64-bit Arm is fixed width. Modern 32-bit Arm was not fixed width, as Thumb-2 was widely used.
That's an interesting concept. I'm sure there's lots of pieces to that. Perhaps you should email them that as part of your feedback to their comment period.
If the floor slab is insulated on the bottom (so you're decoupling it from the earth), and it's around 100 - 200 mm thick, I think it could do some nice passive heating/cooling - cooling the space in the summer and warming the space in the evenings.

But, it's true any active heating would also be buffered by any thermal mass (especially radiative heat). But you can just cover up the slab with carpet to limit the buffering.
People mean different things by REPL - the nicer Lisps had richer reader prompts that were not totally text bsaed, could show you graphical stuff and accept commands other than just source code, have interactive features etc - see eg https://upload.wikimedia.org/wikipedia/commons/c/c6/Listener... or some youtube videos of Lisp machines.