skysight-inc/HackerNews huggingface dataset:
I wonder if the fastmail protocol could be hidden in AWS-like data streams to take an approach like telegram. If they try to block it, they shut down their entire digital business infrastructure.

I have been looking for an alternative to Gmail, does anyone have recommendations? Fastmail? Proton mail?

What put me over the edge is my young friend had a heart attack, went to the hospital and (during recovery) logged into his Gmail account using a laptop there; this triggered some security thing that permanently locked him out of his account.
It's more common than we imagine. That's usually the start of many of the historical network incidents. The important part, as usual, is to make sure the remediations of such incidents focus on how to limit blast radius of small changes, and how to accomplish that without imposing artificial gatekeeping and bureaucracy into the change process.
I see programming language advocacy the same as car advocacy, where someone driving a VW will crap on all other cars, and then buy a Toyota, and again say all other cars are crap, including VW, .. and then back to VW, and Toyota is crap again.

And again, languages are also like cars... you usually want a simple enough car, that does the job.... if you go to ikea to buy a pack of curtains, you don't need a huge car, and a motorcyle is a best price/performance selection... if you can drive one. To translate this to languages, if you need to create something, use something that is able to do the job, and that you're actually capable of using to write the code for that job. Need to open a url, get an xml, parse it, and print a number from it to a terminal? Yes, optimized assembly will do it the fastest, perl/python/ruby will do it with the least code, but if you're only familiar with JS, even if it's slow, a a (node)js solution might still be best for you.
Doesn't he need to deal with relocation types? Otherwise you can't do a lot of interesting stuff like relative jumps, or loads computed from a base address. x86 has dozens of different relocation types.
I still miss Opera 12.16...
Guy claims this blockchain project is the fastest (really?)
Indian Ocean, at best, embraces only Madagascar
Any user who intends to review a script they intend to run on the computer will do something like this:

curl https://potentially-malicious.com/get-infected.sh > get-infected.sh
$EDITOR get-infected.sh
[[ $POST_REVIEW_OPINION -eq happy ]] && bash ./get-infected.sh || rm ./get-infected.sh

The reasons for this are at least twofold:

(1) $EDITOR probably has syntax highlighting, which will help you understand the text better. Always do your code reviews with the supportive assistance of tools.

(2) If you intend to review a script before you run it on your computer, it is intrinsic to the task that you review the script you are about to run on the computer. As you observe, a malicious user might detect the User-Agent and give a different script. But completely non-malicious changes could happen too: for instance, there could be an update or you could type in the command wrongly and accidentally review one script but run another.

In any case, it's worth noting that the user who wants to review the install script before they run a potentially malicious installer needs to consider whether they actually trust the software they're about to install. A malware author could easily install a binary of potentially-malicious in a perfectly benign way, and it happens that once it's been running for three hours it reads exfiltrates your aws keys on apparently ordinary API requests it makes.

If you don't trust author/distributors (whether it is ad hoc distribution or appstore distribution), it is probably better to rely on third party distributors as found in traditional GNU/Linux distributions. They aren't flawless, but the delays are there partly to help making trusting a random group of independent developers more trustworthy.

If you don't trust first party author/distributors or third party distributors, I guess you have a sufficiently sandboxed setup that means `curl | sh` is actually safe, or else you download the source code, review the whole package, and build it or don't, so you don't want to `curl | sh` anyway.
Wow seeing this for the very first time. Very eye opening I must say.
http://phroxy.z3bra.org/bitreich.org:70/0/con/2020/rec/energ...
There's a decent Wikipedia entry [1] on the Southern Ocean that provides a "Definitions and use" section listing how the ocean's been defined/redifined over time, and as by Australia: Pre-20th century, 1928 delineation, 1937 delineation, 1953 delineation, 2002 draft delineation, Australian standpoint.

[1] https://en.wikipedia.org/wiki/Southern_Ocean
Yes luckily YouTube automatically transcribes 90% of videos.
Best countries to outsourcing software development - through our lens
The guide gives a rundown of outsourcing, how you stand to benefit, and lists some of the best countries to hire developers.
Ask HN: Is YouTrack by JetBrains Slow?
I am thinking of migrating my bug tracker from Redmine to YouTrack. My question is, is YouTrack fast when you have like hundreds of thousands existing issues ?
The Chef Cooking a Cicada Recipe for Every Palate
Won't be popular opinion but, one benefit of driverless subway is: decreased risk of industrial action disruptions.

In the city I live underground drivers hold ridiculous privileged (even compared to other underground workers) that allows positions to be effectively hereditary: children of drivers are more likely to get into the job than others.
Is this super app? Oo
A couple of years ago, I redid the error code definitions in an internal C++ library. The error returns were of the form:

-__LINE__

which, if you know C++, means your error code is just the negation of the current line number. That's super convenient when writing. It's really annoying when someone actually sees such an error code and emails you about it -- because they obviously can't do anything with it in software. The obvious problem is that the semantics of an error code depend on the software revision they built with, but you also need to figure out which source file has an error return at that line that the user could have reached at their context.

The new error codes are almost as ergonomic to write (involving a little splash of code generation to make it so, not ideal but worth it). However, they can actually be handled in software and there's a functional perror-equivalent.
Without new money coming in, stock returns don’t beat inflation. Average dividend return on S&P500 is only 2%. Most people invested in stocks are dependent on stock prices going up to beat inflation.

https://ycharts.com/indicators/sp_500_return_from_dividends_...
So they can’t be removed, right?
The article appears to be a tongue-in-cheek argument for Test Driven Design, but it does not give a very balanced view of the pro's and con's.

I have been in teams that tried to use it. Our general conclusion was that it invites you to make implementation decisions too soon, before you have good overview of the problem domain. So many tests turned out be tests of an implementation instead of tests of a specification.
In a cultural perspective emotional investment is commensurate with tradition, norms and mores. That is human nature that any endeavor will take on the trappings of our evolutionary heritage. Programming languages are no different. Taboos and other tribal patterns apply. It doesn't do the computing community any favor pretending this is just about learning.
Some tube lines in London have been closed lately due to unavailability of staff. Not sure if it’s drivers specifically but could be a reason to consider this.
Interesting that AMD is supported, could this mean Apple Silicon 16inch MBP with an AMD GPU?
> Unfortunately the API was that you used CreateFile without colon.

I don't have time to do any detailed testing of this right now, but I believe that `CreateFileA("COM1",...)` and `CreateFileA("COM1:",...)` are equivalent, and both work identically. Am I wrong about that?
Sure, power usage and price are the highest during winter, though PV panels are already cheap enough that you can profitably setup them in Finland too. Going off-grid with solar is not an option around the year though.

I actually did get myself a 10kWp on-grid plant one month ago. I'm not planning to touch it during winter. The day during winter is so short that it doesn't make sense to take any risks, for example to climb on the roof to clean the panels. Even if you could do it without personal risk, the chance of damaging the panels is non-zero, so the expected value of this activity is very low.

It could make sense to install some vertical panels facing south, those would capture a bit of energy even in the winter. But the rotation mechanisms are a waste unless you're area constrained, just add more panels with the same money and the ROI will be better.
Good point and down to cost, which is ironic as you have a system built and used mostly from people going to and from work and they are focusing upon reducing the wrong job in that equation is a very fair perspective.

Does make you wonder, if years/decades later they fully automate it, turns out cost way more than just keeping human drivers. Equally even if on paper for TFL it breaks even cost wise or cheaper, those people will still need jobs/income and may well be case of shifting that problem elsewhere in the governmental chain of things.
The ad value doesn’t reach zero though, so more ads = more revenue
This is very very cool and I'm excited to eventually get access to it. I'd love to see a Crashlytics integration so that we can also use Runway to monitor post-release health in one place - looks like maybe you thought about this as I can see Firebase support is coming.

Anyway good luck with this and I look forward to giving it a spin.
Propaganda Linux Desktop Backgrounds
Germany for example has about 35.000 train conductors. Subways are just an obvious first step. Add renewable energy to the equation and you can build a fantastic system running 24/7 without any waiting for trains.
Kind of pointless if the message doesn’t actually reach the advertiser. There are a lot of advertisers whom I would like to, in-person or remotely, tell to fuck off for being so completely irrelevant as to constitute a major annoyance. There are advertisers with clever, interesting ads that I voluntarily watch, but the bulk of them produce the same boring, unwatchable crap that just becomes societal noise.
I disagree. Opera mini allowed me to browse the web almost normally (I was using a Nokia E65) and I never really understood why I regularly see people saying the iPhone brought internet to smartphones or something of the sort.
Lua is definitly not the best option, but GC isn't an issue when a real time aware implementation is used.

https://www.ptc.com/en/products/developer-tools/perc

https://www.aicas.com/wp

https://www.microej.com/product/vee/
you can make games for roblox, uses lua as an embedded scripting language, I think it is also available for minecraft.
The problem with writing user friendly error messages is in a lot of cases you have no idea what context they'll show in. I mean, do you think they could have predicted yesterday's particular problem at Fastly?

Better to give some plain debug info than tell the user "have you tried turning it off and on again?" in my opinion.
Were the performance claims false, or did Intel just catch up, while PowerPC stagnated?
You could disable the Lua GC and mostly manage C buffers with Lua functions. There's some precedent given that Lua has been used a lot in embedding
I go back and forth on Python in this regard, specifically the named vs positional arguments in that an argument can be one or the other.

Part of me prefers just using an anonymous object in Javascript. Typescript is also cleaner than that.

Day to day I use Hack (FB's PHP fork), which has a type system and shapes, which are essentially anonymous objects in the JS/TS sense but a little more awkward syntactically:

function foo(shape(
'a' => int,
'b' => int,
?'c' => int,
)): void;

foo(shape('a' => 1, 'b' => 2));

But with Python you sort of have this awkward mix of args and kwargs.
I hope you're right about Firefox. I think their hand is forced in terms of supporting any API additions that Google makes because of Chrome's dominance among extension developers, but they can choose to maintain support for the manifest v2 features that are getting removed.

I would love to hear more about your personal project ideas that involve remote-browser. My contact info is in my profile, feel free to reach out.
The entire section makes it clear that this was put in so that DfT, and by extension politicians, get to claim they've pushed for driverless trains, and TfL get to claim they've engaged constructively about driverless trains, yet everyone knows nothing much will happen, and if anything does happen with will be Waterloo and City, which is in effect a token upgrade.

But they get to point out they've also pushed for Piccadilly, where the business case will point out lots of cash will need to be provided for signalling upgrades first, and it will be quietly put aside.
One thing why I still like reading programming blog posts is because every now and then, I come across some way to implement things that I would never, ever could even think about. I understand how it works, it's basically equivalent to storing cross-references inside a text file like this:

[chapter1]\s\e\e\ {chapter2}\ \f\o\r\ \m\o\r\e[chapter2]\g\o\ \b\a\c\k\ \t\o\ {chapter1}

no problem, it's just... I wouldn't even think to think about trying to store this information inline, and if pressed to, I would not think about quoting every single verbatim piece of data individually.

And arguably, it kinda makes more sense than trying to quote the { and [ instead: you've already lost the ability to just copy a blob from one file to another with a couple of places patched at known offsets, so you may as well simplify your life further.
> The point was to show that the OP has a false-confidence in their arguments that could easily be countered by more nuanced takes on mask wearing.

That's a gross misrepresentation of the facts, and one which flies in the face of reason and reality.

It's widely known that basic and low-effort protective measures such as social distancing, washing hands and wearing facial masks, are effective in reducing the spread of covid-19 and other airborne respiratory diseases. The point was never that these basic, low-effort measures are not full-proof.

The whole point is that they are effective, they are demonstrably effective, and they require little to no effort to implement.

For some reason, anti-maskers try to move the goal post by pretending that a basic protective measure is either full-proof or is not worth doing at all, which boggles anyone's mind.
https://www.bloomberg.com/news/articles/2021-05-18/apple-rea...

That is exactly what the rumours suggest Apple is working on.
Is there a story behind that logo?
The specifics were discussed in the Nim forum:
https://forum.nim-lang.org/t/4758
Wait a minute. Why would Fastmail preemptively block Russian IPs if they don't have any legally vulnerable presence in Russia? Just to deny Roskomnadzor the joy? There is Russian proverb that aptly describes such behavior: "назло маме отморожу уши" (cut off your nose to spite your face).

> What you can do if you're affected

> - Talk to Roskomsvoboda: a digital rights advocacy organization.

I like when private companies tell their customers what politics they should engage in.
I was taught there was an Antarctic Ocean when I was in school (UK, born 1984), so I find this article both surprising and interesting.
Could you share the script? I would be quite interested!
Bezos is practically a personal market black hole. His warehouse and delivery workers would certainly not be worse off if he was forced to pay them a decent wage. His customers would not be worse off if he was forced to operate an ethical search system on Amazon and remove scams.

If Amazon hadn't been invented, how long do you think it would have taken someone - probably a HN reader - to build a multisite search aggregator and bargain hunter?

Apple and Google's customers would not be worse off if all scams were removed from their respective app stores. Web users would not be worse off if Google search and ad tech didn't distort search rankings by promoting clickbait at the expense of high quality content.

YouTube's small content creators would not be worse off if the copyright strike system wasn't biased towards big corporate at the expense of small creators.

The electric car market would have happened without Musk. It may or may not have happened as well - that's up for debate - but it's clearly not going to not happen.

And the fact that we have a small but growing electric car market in 2021 instead of 2001 - when it was really needed - is entirely due to the political distortions caused by the billions generated in Big Fossil profits.

I have no problem with smart talented and driven individuals making money by solving real problems. But I do have a problem with attempts to deify and canonise the individuals who are most prominent just because they become very rich.

We need more accurate accounting systems that select for benefit without ignoring social, political, and environmental costs. Otherwise we're just rewarding people for being high-functioning narcissists instead of selecting people who can get shit done cheaply and efficiently without ignoring the social and other externalities that are currently ignored.
Opera Mini is still a thing.
According to the article, it sounds like Fastspring themselves blocked customers with Russian IP addresses from signing up, and removed their app from Russian app stores.

I'd hope that even if the Russian authorities would block Fastmail, that they would only block their web servers and maybe their IMAP servers, but not their SMTP servers. The latter would impact a lot more people in Russia.
Fedora 35 Looking to Use Yescrypt for Hashing User Passwords
> Do you really think that Israeli Air Force was acting in its full unrestrained force?

Total non sequitur. It doesn't have to be the absolute worst possible response to be disproportionate. Do you know how thresholds or ratios work?

> About 20-30 of the Gazan civilians were killed directly by the Hamas' own misfired rockets.

Do you know how subtraction works? What's 128 minus 30? Still enough to be considered disproportionate by the standard defined in international law.

> all of them were indirectly killed by the Hamas

For the second time, one crime does not justify or exonerate another. Nobody's denying that Hamas also committed war crimes.

> Anyway you can't compare this with atrocities done by NATO
>

For the third time, etc. It's not worth trying to debate someone who can't learn.
El Salvador approves Bitcoin as legal tender
Completly unrelated, a page editor that writes pages in a WYSIWYG using only HTML and CSS, Dreamweaver style, can't be compared with using Assembly.
Lol doesn’t this defeat the whole point of a decentralized currency? You basically just described a modern bank
Instead of an error prone human checklist, has anyone made frameworks with these sequenced structural migrations in mind? I’ve worked with both Rails migrations and Alembic, but they seem a layer of abstraction too low to only allow safe migrations.
The stated reason in the article is largely: to avoid strikes. Though the article also argues that this just pushes the power to strike on to other places.
I’ve had a paid account with Fastmail for probably going on 8 years I’d say. It’s been a fantastically reliable service and the odd (perhaps 3 or 4 times) I’ve needed to reach out to support it’s always prompt and a real conversation.
Really weird case of infinite number of monkeys. I wonder if fuzz testing would have found this one.
Yeah but you are most probably using a centralized exchange to execute BC transactions for free which might froze your account as well in the future because $REASON. Also thinking that in the long-run, in a future where BC is accepted almost universally this is not going to be heavily regulated by governments it's being naïve IMO.
> Won't be popular opinion but, one benefit of driverless subway is: decreased risk of industrial action disruptions.

Very true, though equally the increased risk of automated safety system stopping the train in the middle of a long tube tunnel because one of it's sensors got dirty or a rat triggered a sensor as it went splat on the tracks are things drivers can work around easier.

So if a perfectly safe and working train stops due to a sensor getting dirty quickly (which for the London tube is more likely than most places), with a driver there they could see and know that issue and safely carry on. Automation will go into health and safety mode and stop that train in the middle of nowhere needing human attention. So delays become longer.

I'd rather deal with planned outages, than longer drawn out automated random ones.
A nice categorization of bugs. Most of them looked horribly familiar.
I mean that someone using Perl for scientific computing makes it harder for others to collaborate on the project, which in turn makes the project less scientifically valuable.

This is due to two main reasons. For one, Perl’s incredible syntactical flexibility makes it easy to write “clever” one liners that are hard to comprehend. Speaking from experience, scientists tend to be the sort of people who value “clever” code over “clean” code.

Secondly, the Perl package ecosystem for numerical/scientific methods just isn’t as fully featured as the Julia/Python/R ecosystems. This leads to individuals having to reimplement methods themselves, which leads to idiosyncrasies and likely bugs. For instance, I see no way to generate Wishart random variables (or RVs from other distributions beyond the common ones) in PDL. Julia, Python (via SciPy), and R all have full featured support for many different distributions beyond the common ones.

A Perl user would thus have to implement this themselves. Someone else reading their code would have to both familiarize themselves with the custom function’s syntax (as opposed to immediately recognizing the standardized scipy.stats.wishart, which behaves like any other scipy probability distribution class) and likely check for any bugs, since a standard package is far more likely to be correct than some random one-off function. I’ve had the unfortunate experience of working with someone who refused to use off-the-shelf libraries for numerical methods, and unsurprisingly their code was not only hard to read (since there was no standardization) but also full of bugs.
If you view Microsoft as a threat to your computer, running random unsigned internet binaries isn't going to make your computer safer, even if you're running Microsoft tools. If a random binary has a 1 in 100 chance of being malware, and a Microsoft binary has a 1 in 50 chance of ignoring your interests in the pursuit of some other gain, running Microsoft binaries doesn't make running random binaries one bit safer.

Basically: Microsoft is irrelevant to the equation.

You are better off not using Microsoft products if you don't trust them, and considering the safety and security of artefacts produced by random unsigned internet developers independently of the safety and security of artefacts produced by Microsoft.

Also, if you're subject to this kind of logical fallacy, you might consider not installing Microsoft products just to avoid the distraction in your reasoning. Every platform will have a different set of trade-offs.
Driverless trains can run 24/7 without anyone needing to stay up all night
Do you remember if you learned it in a science class or a geography class?
This. London's tube system is essentially stopped a day or so a year due to strikes, which is pretty dramatic for a city of 10 million people who rely on it.
Leading crypto exchanges scout entry into India despite potential ban