skysight-inc/HackerNews huggingface dataset:
As a developer I used to have a secondary boot for Ubuntu for stuff that's reliant on *NIX tooling, like Ruby (Ruby on Windows is possible, but it's not worth the hassle).

With Windows Subsystem for Linux 2 I'm able to develop the same without having to dual boot and feeling just as native as running Linux on the system, and I can use Windows software like, say, Photoshop. Visual Studio Code integrates automatically, it's like I've got a Linux 'Window' open.

And when I want to switch off I'm back in Windows for a full gaming environment etc.

I'm completely switched over to full-time Windows now. Maybe not a good thing, but it sure is convenient.
> I've read that paper in the past and it doesn't actually answer most of the questions I asked above.

OK, well I still don't have the numbers, so we have nothing better than intuition to go on regarding whether it saves time/improves quality or not.

> A `typeof` assertion or similar is hardly more work and continues to function once the TS types have been stripped.

Yes, and if a typeof assertion is enough, than you don't need any additional syntax in TypeScript either. But a `typeof val === "object"` doesn't tell me a whole lot though.

> If you expect to interact with the outside world, then you must test against unexpected types.

Agreed. That said, with TypeScript, you only have to do it once, at the point where you interact with the outside world. Once I've verified that e.g. my API response contains all the properties I expect, then I can pass it on to any other function in my code safely. Whereas without TypeScript, I have to be aware at the points where I access those properties that the original source of that value might have been the outside world, and to explicitly verify that it looks as expected. (Or alternatively, I need to still verify the object at the boundary, but have to manually know what properties of it are accessed in the rest of my codebase.)

> Meanwhile, in every real-world TS project I've worked on, you wind up with tons of "template soup" where devs spend tons of time trying to find out which variant makes the type checker happy (or just giving up and slipping in an `any` type)

Yes, I've seen that happen to. I will not argue that you don't have to learn TypeScript, and that if you do not (want to) put in the effort (or are unable) to do that, it might be counter-productive. In fact, I advised another team in my company to move off of TypeScript for that very reason.

> By the time you're done documenting this, when someone glances at the docs, they'll probably not worry very much about the types because they'll be obvious. Why write up a bunch of complex types when a simple, human-readable doc string does types and so much more?

Yes, type annotations are not a replacement for documentation. They help your tooling help you. So the reason to write up a bunch of complex types (well, preferably simple types most of the time, of course) is that your tooling can help catch mistakes early - I'm not working off of documentation most of the time. I read it once, refer back to it every now and again, but more than that would be a massive waste of time. My memory is a major asset in being able to quickly type out a bunch of code, but my tooling helps me by removing the need to memorise some things.
That's getting to my point though - they should accommodate different workflows and use cases. But what's happening instead is that people are overusing notebooks in cases where plain text + REPL is more appropriate.
The advantage is that you have _one_ Docker container for hosting your wasm host, and they can use some clever communications inside there, instead of having many containers which have to find each other and communicate using only basic networking primitives.

At work I have a Rust web server with basically two parts - What humans see (HTML), and what computers see (API)

The API rarely changes, and I was thinking of splitting them into two services so that I could iterate on the human side without worrying about breaking the API side.

But I don't want to do that because it means extra management overhead in Docker, extra build steps, etc. And the Docker image is unwieldy from having all of Debian packed in it.

So 1 Docker image with 2 Wasm servers in it, is less overhead (of ops) and less risk. I should still use testing to prevent the API breaking, and I still have to figure out a deterministic way to get Wasm images into the server, and measure the performance overhead of Wasm, but it's a tempting option.
I think that depends on your learning style, doesn’t it? In school they always want us to use the word in a sentence, and from my own experiences learning foreign languages and eastern philosophy, some words just don’t translate.

It’s a big reason why when you ask your friend what the two foreign characters in the movie are muttering they may pause and say, “this character is really mad at that character.” Because translating their swearing just does not make any sense in English, or sounds even harsher than it really is (according to screenplay writers, the French like to slip the word “whore” into any exclamation, from jovial mocking to impotent rage. Or perhaps more illustrative, there’s a “dang it” that refers to either a cow, or a dog’s name.)

Or going the other way, you want to explain “Bob’s your uncle” to a Swede? There’s a political history lesson in that explanation. They’re so weird you just learn them in context and go on, mostly.
I did not walk away from watching Kedi (or leave my recent visit to Istanbul) thinking that the cats live anything but an excellent life.

I think it's inhumane how cats are treated basically everywhere else! In Istanbul, cats are loved, fed, petted, and live a pretty great life. In almost every other city on earth, they're picked up and sent to shelters where they live in cramped cages until someone happens to adopt them or they're killed.

Which sounds more humane?
At first I hated them and thought they were pointless and weird, but now I'm so used to them that it feels a little off if I don't see them.

It helps to visually parse things a tiny bit more quickly, I think. And it makes things more aesthetically pleasing, for me. Combined symbols like == and <= really are unique, independent things that make logical sense as their own separate units.
Or a ThinkPad.
Made the switch a month ago from Mac to Pop!_OS on a desktop. Everything installed without a hitch, including wifi, bluetooth, and a usb webcam. Incredibly, just turning on a paired wireless speaker instantly connects and selects it for output. The volume control on my keyboard also worked as expected without any configuration.

Pressing "Super" (I mapped it to Caps Lock) floats all the active windows in my workspace and allows me to start typing for a search, and unlike Spotlight it actually works. "Alt + Tab" and "Alt + ~" cycle through open apps and windows within apps just like on OS X.

No more fussing with homebrew, macports, or Apple weirdness when working with CLI programs. Everything is blazingly fast. The IntelliJ ecosystem works without a hitch. Zoom, Spotify, Slack, even Teamwork Chat have native clients. I have a Win10 VM in case I need it, but I haven't yet.

The only thing I miss is Spark for email (Evolution is pretty good) and Carbon Copy Cloner for bootable backups. I have CloneZilla for that, but would be great to run a bootable diff without that hassle.

Definitely worth the ~$4000 I saved for a comparable iMac Pro or Mac Pro.
Exactly, I mean you can just add a small animation of how evaporation in 1 component is faster and pushes the two-bubble structure in one direction. It runs untill it gets too cold (endothermic reaction). Or something like that.. but correct ;)
i3 with arch linux on thinkpad carbon, everything else feels clunky and wrong
I bought a lenovo to have a linux laptop earlier this year, and I must say I think it is the best laptop experience I've had. It has fantastic battery life, everything works with very minimal configuration, and with my i3 desktop setup exactly how I like it I'm more productive than I was on my macbook.
> Linux gesture replacements I’ve tried feel like hacky proof of concepts.

Shall I do it? I'm doing it. Shall I? Yes.

It's proofs of concept.
Plot twist: It looks like they are back on the Mac. [1]

And so it goes. You look at almost all of these "I'm switching from Mac to (Linux|Windows 10)!" blog posts and they're almost always back to the Mac within weeks/months.

I've attempted to go back to Linux plenty of times, and while the kernel and userspace is top notch, every GUI I've tried just pales in comparison to even the trainwreck that is the current macOS experience.

1. https://docs.monadical.com/uploads/upload_8293c5cdcc3cf0dc6a...
This page completely fails to load without JavaScript. :( It looks like just static content though?
Good point. Audio from a 3.5mm jack would add little to the cost, and also keep down headphone cost. Also, most monitors have really shitty audio. Boo.

"Getting audio out of the Pi 400 was a bit of a challenge; it defaulted to attempting to deliver audio over HDMI, and Raspberry Pi OS' audio control dialog isn't the best. Even after changing the output device to USB Audio (my gaming headset), YouTube wasn't producing audio—and there's no "test" button I could find in Pi OS, like the one in Ubuntu's audio-control dialog. Closing and reopening the browser entirely after changing the output device resolved the issue, and audio played from the headset fine afterward." https://arstechnica.com/gadgets/2020/11/raspberry-pi-400-the...
There was a rather famous story about Aceribo being abandoned due to lack of upkeep and high cost of repairs.
I did too switch from Apple to Linux, but I think there is a difference between Macbook (the Laptop) and Linux (The Operating System).

The author is complaining about Apple hardware but then went on to describe how Linux fixed his problems? Last time I checked, hardware that competed with Apple on specs and slimness was also quite expensive.

I think this post should have been about the new hardware he is using.
That depends what is your use case.

I use two 5TB 2.5 SMR drives in ZFS mirror:

https://vermaden.wordpress.com/2019/04/03/silent-fanless-fre...

These drives can slow down to 30-40 MB/s when filled to 80% or more but I use that storage over WiFi which is at most 11-12MB/s which means the SMR problem does not exist for me.

If I would be using that storage over LAN the 30-40 MB/s in 'WORST CASE' is also not bad considering that maximum real life LAN speed over gigabit network is about 80-90 MB/s.

Its also not possible to get non-SMR large 2.5 drives. I use 2.5 drives as they are silent and they need very small amount of power comparing to 3.5 drives.
> French Canada doesn't like the rest of Canada and vise versa.

Please stop these generalizations that are borderline racist. I personally have nothing against the English, for example. If you hate us so much, that's on you.

Go watch, say, The Last Kingdom on Netflix. It wasn't made by Ubisoft or French Canadians. And yet the depiction of English vs Danes is pretty much the same: the cowardly christians with their silly religion. That's the POV of one character. It is flawed as well. But it has nothing to do with French Canadians, come on.

> I'm just saying that given their cultural baggage (as a group) this is likely to a blind spot where they're less likely to notice.

I'm sorry but you seem to be showing your own "cultural baggage" here and projecting it onto others.
The actual signature checking is complicated, but associating the sig call with the method is pretty simple in Ruby — you just hook `method_added`. (Of course the actual implementation in something like Sorbet is a lot more sophisticated than just `def method_added`, but that's the basics of how you make a method call alter the next method definition.)
How to Funk in Two Minutes
Wouldn’t work well for ls -l.
This is insane, I had no idea Sega almost launched a VR headset in 1993... and for $200?!

I'm not surprised it didn't work out, but I never imagined we had the tech even for low-resolution tiny color LCD screens back then, or the "intertial measurement unit".

I mean, I lived through those years and now I kind of have to retroactively alter what I thought was possible...
You can do the same thing with the jupytext extension. But sometimes it is helpful to have the rendered results in version control, eg internally we use it to discuss data science findings on Gitlab.
Author claims 4 KB for a stack page here:
https://news.ycombinator.com/item?id=25163677
Part of the beauty of Linux is that if you're having issues with gdm's stability, you can replace it with another DM. This isn't possible with Windows or Linux.

As for your DPI issues, I've heard many have had better luck with Wayland than Xorg.
This stuff is always a joke.

Who knows what his actual job is but any time you see these articles they immediately start with long sections of all the hacks & work needed to make the basics work.

Battery Life Issues

Getting a mouse to work

Getting displays to work

Wifi Issues

Fixing keyboard mapping issues

You're not supposed to have to waste your time on this stuff.

It's been about 3 years since I tried to make a laptop work for actual work with Linux. It didn't work well. The last time I successfully did so was from 1996-1999. Linux itself has improved immensely, but the pain of getting a laptop actually functioning is still pretty terrible.

The thing is 20 years ago the Windows and Mac laptops weren't seemless either.. Linux wasn't that bad in comparison. In the meantime Linux hasn't kept up.

It's all fine if the goal is to mess with linux or contribute to linux. You learn a lot and have fun.

If you've gotta be contributing to some other piece of software someone else is paying you to work on it's not fun.

It's too bad cause my job is working on software that's only supported on Linux. It'd all be great if we just used desktop linux workstations, but everyone seems to want to use notebook computers today.
How are you enjoying living in Istanbul? We spent some time there a few years ago and felt like it was the first international city that we would move to (we currently live in Brooklyn).
Smiley Lore:-)
Beaglebone Black ($43) or even Beaglebone AI if you're willing to go to $127.

The power system doesn't suck like the RPi series. The chips are all well-documented with the possible exception of graphics. It has eMMC so you don't have the microSD idiocies if you don't want them.

And if you need genuine real time, it has two RISC cores (4 on the AI) that operate in actual real time as opposed to Linux kinda/sorta/when-it-works/maybe real time.

"But the RPi is cheeeeeeaaaper!" <grumble>
"You can't self-host with Observable."

You can self host observble, but you can't self host observablehq.

Literate programming just means the combination of code and documentation/visualisation.

Observablehq provides a nice inline code editor, but that's incidental to what observable is.

Git can also be used with a GUI but that GUI is not essential to what git is.

Simularly observable notebooks can just as well be created without the GUI, in a quite convenient way.
What Does RISC and CISC Mean in 2020?
Awesome! Thanks for chiming in :)
What about... workers in the cafeteria who handle our food, cashiers at supermarkets and waiters who bring food over to you. I'm shocked most of the papers I'm reading don't mention these folks who are at the very intersection of our daily lives!
I don't know what good can come from comparing Christian "bad apples" (presumably the 'judgmental hypocrite' caricature) to brutal mass murderers. Similarly, this reads like you're suggesting Christians are uniquely bad at shunning/expelling their "bad apples" or perhaps that they are unique in that they are actively voting them into some office, and perhaps even suggesting that this discrepancy justifies their mistreatment:

> But like any other community with rotten apples, you need to work on shunning and expelling these people... not voting for them.

I'm sure you didn't mean any of those things, but it might be good to clarify.
Is there any specific HN guideline that this post is violating?
> Google's reasons for doing that are anti-fraud

The problem here is that google has an interest in hiding the URL other than anti-fraud. Apple isn't a major player in the internet market and they have a history of "dumbing down" features, or at least reducing their apparent complexity, to make the experience friendlier to the average user. So when Safari hid the full URL, that didn't raise many eyebrows.

Many of Google's moves in recent years, most notably AMP, appear to be part of a larger plan to make the internet require Google to function. Messing around with the URL visible in the address bar seems to fit in with this plan to reduce the average consumer's awareness of where exactly they are going on the internet.
My take: one significant issue is that nuclear power is the only large scale electricity source with meaningful, consistently enforced regulations.

There's no equivalent of the NRC setting welding standards for the steam systems of coal plants and demanding that control systems are guarded against wiring fires. General safety and environmental regulators are often deliberately underfunded by business-friendly legislatures, and even violations that they catch are rarely considered severe enough to shut down a site until remediation. And of course nuclear reactors are (rightfully!) expected to contain their waste products, while combustion plants still get a free pass to dump CO2 into the atmosphere.

The result is that very few industrial sectors in the US have experience receiving meticulous government oversight that they cannot ignore. Aerospace [1], pharmaceutical manufacturing, and nuclear power are about the only ones I can think of. If contractors don't have institutional knowledge of actually working on nuclear projects (which are already more complex than a big coal or gas project), they may not be prepared for regulators that actually check the work and demand it adhere to documented standards. Just about every other project can let marginal welds or inconsistent paperwork slide with "eh, you tried." The really expensive part about nuclear projects isn't doing the work. It's redoing the work that you failed to do up to standards the first time.

But you absolutely do not want to make the NRC more lax to bring it in line with the barely-there standards the rest of industry is used to ignoring. You don't want the nuclear equivalent of the West Fertilizer Company -- inspected twice in 28 years, minor violations ignored until the plant exploded [2].

[1] You might even put an asterisk on "aerospace" considering the 737 MAX debacle.

[2] https://en.wikipedia.org/wiki/West_Fertilizer_Company_explos...
The font rendering is one of the main things that keeps me on Mac.

On Linux the font rendering is either far too thin or far too thick, no matter which setting I fiddle with. I don't have the greatest eyes and bleh font rendering is huge pain.

I understand others may not be so picky, but acting like the font rendering is on par with Mac is just not true.
Indeed. Apple is such a nasty company, I personally never had any appeal to touch anything they make.
> I got into Linux when I was younger because I thought it was cool, and I had plenty of time to fix it when things broke.

> What I'm trying to communicate is, Linux desktop is usable, and it's worth pushing over the hump.

Huge fan of all of the above.

I do think though that now desktops are less inherently compelling than they used to be. They used to represent a center of activity, a locus of control for the user.

Now, a very sizable % of our computing is off in far away clouds, & the desktop itself is a less compelling, less interesting place to invest time.

My hope is that the Free Desktop / Linux world can begin to grow new roots, become more connected, & return to a little bit more of a place of prominence & relevance. Lots of visioneering & pioneering & engineering to do.
There is so much x86 stuff alone that will easily run linux and outperform a Pi4 for that budget, used and new.

Pi 4 as home server value proposition gets bad fast for me at least once cases, power supplies, storage etc factored in.
"Por que no los dos?"

I use Linux Mint on a multi-headed display as my desktop machine. Runs many VMs. Fast. Stable. Clean.

I have a Macbook Air that moves around with me. I'm planning on getting an M1 Air.
I got into Linux because I couldn't afford a Windows OS back in the XP days ha. So I would be able to boot some laptop/cheap desktop with Linux Mint at the time. Those were the days 20GB hard drive and 512MB of ram.
Dmitry here, from Stripe. One of founding members of Sorbet(though I no longer work on it anymore).

Story that Ufuk shares is common.

We saw this process repeat in many companies, Stripe, Shopify and many others - folks are initially bothered with verbosity of `sig` syntax, but as the company starts using it in practice stop being bothered pretty quikcly. It happens even faster now that IDE integration allows to auto-complete entire signature and can in most cases correctly guess the types of arguments & result type. You rarely type `sig`s yourself.

The common internal asks at Stripe are about even better IDE support, new features & etc and that's where most of investments are. Well, and and obviously performance. Sorbet was already very fast and we intend to keep it fast as our huge codebase grows.
I understand what you're saying but I disagree: atheism is not a religion. The verb "is" does not mean "fulfills the same function as". Just because atheists have to answer the same questions as theists does not make atheism a religion.

If you want a word to describe what atheism and religion have in common, I'd go with "spirituality". Not in the sense of "burning incense" or "believing in ghosts" but rather in the sense of holding beliefs that are not rational and deciding to care about the world and about humanity in particular.
It seems everybody who tries out a Linux distro has individual problems with various UI stacks, rather than Linux itself. The bigger the software (i.e. GNOME, KDE) the harder it fails. And often in unexpected and unpredictable ways, too.

The kind of people who use GNOME or Ubuntu or whatever the 'windows competitor' is always seem to be having problems, but are also the kind of people who see needing to use a terminal as a problem in itself.

I've never ever had a problem with i3, emacs, firefox, and simple <20 line configs. Terminal is fine, it's what most GNU tools are built around in the first place. It's apt that people who really love Linux and appreciate what it does out of the box, and who don't feel the need to turn it into Windows or MacOS, also seem to have the least issues with it.
Because there isn't as much to HIPAA compliance as people like to think. The HIPAA security rule defines a set of administrative, physical and technical safeguards that must be met - how you accomplish those is up to you.

(And yes, there's more to HIPAA than the security rule - but not everything in the regulations applies to every covered entity, and the combined regulation document you need to read to get started is a total of 115 pages you can read in a day or two).
Show HN: Centralized, Bias-Free, Skill-Based Job Posting and Screening (Pivot)
Conclusion - in an unfair fight, the ones at a disadvantage lose.
> This explanation doesn't really hold water.

During the 2010-2019 US recovery wage stickiness was noticed, even with everyone complaining about not being able to find qualified workers. Companies were very reticent about increasing wages, often preferring to go with signing bonuses.

It is suggested that this reticence/stickiness was because after 2008-2009 GFC many places were stuck with high wages (from the previous boom), and getting people to cut their salaries was almost impossible.

* https://www.investopedia.com/terms/s/sticky-wage-theory.asp

* https://en.wikipedia.org/wiki/Nominal_rigidity