skysight-inc/HackerNews huggingface dataset:
i've been using BTRFS since 2014 to store backups. there is a noticeable performance penalty when rsync'ing hundreds of thousands of files to a spinning-rust disk connected to USB-SATA dock when BTRFS is used instead of EXT4. i'm accepting it in exchange for ability to run scheduled scrub of the data to detect potential bitrot.

since 2017 i'm also using BTRFS to host mysql replication slaves. every 15 min, 1h, 12h crash-consistent snapshots of the running database files are taken and kept for couple of days. there's consensus that - due to its COW nature - BTRFS is not well suited for hosting vms, databases or any other type of files that change frequently. performance is significantly worse compared to EXT4 - this can lead to slave lag. but slave-lag can be mitigated by: using NVMe drives and relaxing durability of MySQL innodb engine. i've used those snapshots few times each year - it worked fine so far. snapshots should never be the main backup strategy, independently of them there's a full database backup done daily from masters using mysqldump. snapshots are useful whenever you need to very quickly access state of the production data from few minutes or hours ago - for instance after fat fingering some live data.

during those years i've seen kernel crashes most likely due to BTRFS but i did not lose data as long as the underlying drives were healthy.
As others have pointed out, I did mean b*(a/b) here.
That number is the ceiling. The floor is what someone else with the skills to make those particular changes will accept as a wage. Do you think a toll booth operator can say 'I do 10k in revenue a day, pay me half of that and we'll call it good'? Please.
> hard to read on mobile (horizontal scrollbars

Ironically, this very post (https://news.ycombinator.com/formatdoc) does just that!

Also, if you notice my quote at the start here is a little out of whack it’s cause text select for the actual comment seems to be broken on my phone. Another niggling accessibility issue ...
Bulk Backlink Generator
Lezhin Comics: Leading Korean Exporter of ‘Webtoons’
Then don't try to recreate the control flow of exceptions. Handle things ASAP; only propagate an `Err` if the function returning a `Result<_>` logically has an error condition. Don't be afraid to panic, unless user data is on the line, in which case register an unwind handler and tiny backup facility if you don't trust your programming ability (hint: nobody should trust their programming ability that much unless they've rigorously (mathematically) proven their code's soundness).

It's a different way of programming, but a more explicit one, and I don't think implicit Bad Thing™ should be easy in a language.

(By the way, Rust has a single-character operator to emulate exception pass-through.)
So reading or watching the news makes all this sound very worrying, but if you look up the amount of deaths from influenza every year, "Up to 650,000 respiratory deaths per year"[0] then this will just become a run-of-the-mill thing, or am I missing something here?

0. https://en.wikipedia.org/wiki/Influenza
China was actually vastly inferior to Rome in terms of metal production:

https://en.m.wikiversity.org/wiki/Comparison_between_Roman_a...
Written by someone who quite obviously never used a late-model Newton, so they are left to display their ignorance by draging out the same list of launch problems that gets repeated over and over. I picked up two MP2000s as soon as Apple announced they were discontinuing the line and they are still the gold standard that no handheld note-taking device/app combo has managed to hit in more than thirty years. I keep trying new apps, beg/borrow access to higher-end Android tablets to see if they are any better, and still everything comes up short. The introduction of the Pencil stylus to the iPad Pro line gave me hope for a while, but no one stepped up and delivered so the best we seem to have at the moment is OneNote.
Golang errors are fancy error codes. They have almost all the same problems, except that they at least don't rely on carefully curating error numbers.

They still can't tell you the call stack, you still need to propagate them manually, they are still very easy to accidentally ignore (especially on functions which don't return anything else), they still add huge amounts of boilerplate, making it hard to read the code and distinguish <happy-case logic> from <regular error-bubbling logic> from <the places where errors are actually handled>.
Download / Install This Amazing Award Winning Live Movie Watching App
How to Perform Concurrent HTTP Requests in Ruby and Rails
>The hard part here is probably getting consumers to use/download/install that tool.

I agree. I think there are ways to mitigate this, though. If the extension is open source, and very small then at least the digerati would be more open to it, and then it might become a standard extension, like ublock origin.
I worked at a telecom company. They had a program written in java for generating the initial customer configuration.

Among other stuff it used exceptions as control flow and it made me make extraordinarily high estimations for seemingly simple changes.

Anyway, I don't think I agree with the article - it's again the matter of the knife and how you use it.
How did product manufacturers figure out what features users wanted most before modern technology? I'm guessing they didn't just set up a hidden camera in their homes and spy on them using it without their permission.
>Every function that can fail should return an error code

Every function that can fail, that can take invalid arguments, or can be called at invalid times. Which widens the set to basically every function. Old APIs had a convention to always return a status directly and results in out-params, except for pure mathematical operations (in which errors were mostly ignored, e.g. in a computer, a+b may fail as much as fopen(), but who cares).

Observing this fact, one can free themselves from:

if ((status=operation(args, &vague_error_descriptor))
return status;

and handle the specific error event where it seems reasonable in the way that seems reasonable.

Unwinding call stack by hand doesn’t automagically handle errors. At main() or at the other high-level call site you still have no idea what to do with an unexpected error except logging/presenting it and exiting (or continuing in hope invariants were not broken).

>one can use automated tools to find all the places where error codes are being ignored

The same is true for exceptions - every milestone like db.open(), file.save() and process.spawn() should be try-catched. And in both cases you don’t know which errors “codes” are still unhandled.
> Solar is never going to generate as much per panel in Scotland and UK as in California or Saudi, but it's good enough to pay well economically and in terms of emissions and overall impact too. Why wouldn't we use it in the mix? There's plenty of roof space doing nothing else.

Regarding this I live at 54N, and here installing roof top solar will pay for itself in less than 10 years. That's excluding government grants, and any electricity you are paid for exporting, so in reality it could be as little as 5. After that you have free energy for the life of the system - the inverter will last 15-25 years, solar panels will last the life of the building, but will produce less power over time.
I do not think that these 2 extremes are the only options. You can look at Erlang's error handling for an example that both simple and easy to use, yet provides the right amount of information. You do not need to pass error codes either. I usually have a structure that is not too deep and at the bottom there are more specific errors that can be logged very close to the codebase where the error happened and propagate only error or ok to the caller. Even with large codebases this is pretty manageable.
Main take-away seems to be to tailor the method to the risks you face.

I’m not sure how this helps, since you now need a method for identifying and prioritising risks. Hmm
This is not an apples-to-apples comparison. In Rust, app code can panic, even though it’s not idiomatic. That does not meet the standard prescribed by the quote from the article.
Here in Spain for instance; https://www.mofo.com/resources/insights/spains-strict-new-li...

(basically; you cannot film/photograph anyone without their consent, including in public)
As most have suggested quitting without anything else in hand is indeed not a good idea BUT that doesn't mean you should stay at your job.

You need routine, not a job per se.

So if you are financially secure you could consider going to school for a year, and get a degree in something that interests you. It can be a nice reset, while impacting your career and life for the positive.
it might be less, the same or more. we don't know yet. it has potential to be more deadly than the flu because of the unknowns, including prevention and treatment.
> Bullshit and Chinese Propaganda with their "5000 years old culture".

This is actually propaganda from the US War Department.
And still Mac only :(
>the 5th iteration of Smash is still unplayable unless you're on a wired connection

For what it’s worth, I always play Smash Ultimate’s online on Wi-Fi (NAT type A) and practically never have problems with it. Though I guess the average player’s wireless connection might not be very good, and most players don’t use a wired connection as it requires an adapter.
I'm afraid it won't be contained - and similar to other tough viruses it will kill millions in coming years.
Not a word of this covers winter storm conditions.
Yes. The normal flu is very widespread and has a mortality rate of around 0.1%. The official figures out of Hubei are down to about 3.6% (closer to 5% yesterday). There are too few deaths outside of Hubei to draw any meaningful conclusion. To make an apples to oranges comparison you'd be looking on the order of tens of millions of deaths annually if we don't get the mortality and/or infection rate down.
The entire thread seems to be hidden now. Definitely some perverse behavior afoot.
I think adding a toggle to run or not run a cell would be a trivial change, something like adding a property to the cell (https://raw.githubusercontent.com/jupyter/notebook/master/no...) and checking whether that is set or not before running the contents.
I do not now how many hours was wasted on trying to debug Java applications that did not have this principle and produced 10000s of lines of stack traces in production with cryptic exceptions.
If what you say can live forever, what would you say? hashblogger.com
Hello World!

May I have your attention. I have created a small site to surface blockchain data for the purpose of micro blogging.

It's more of a concept.

To post a new blog entry: add text to your blockchain transaction with #blog, Hash Blogger will pick that up and create a post which will live forever (if mainnet).

To add a comment: Add data with the transaction hash you wanna comment on together with the #comment tag

To claim your blog page: (You wallet address - add author bio): Send transaction with data containing #author together with any text to appear as your blog header.

Currently only listening to Ethereum mainnet and rinkeby (test network).

You might find it useful, exciting, different or utterly useless. Whatever it is, it would be good to have your constructive feedback.

Please understand that if you are blogging on mainnet, the data is there to stay. Freedom comes with a lot of responsibility. Its yours to celebrate and yours to muck-up.

You can always use the Ethereum Rinkeby testnet to get some free ETH and start blogging.

Transactions can be to yourself with 0 ETH.

I wasn't sure if I should do this since this can increase the size of the nodes considerably.. but its a public ledger and no point hiding or ignoring something which has a potential to be useful. Miners and people hosting entire nodes might not like it.

May be it's only to be used from places where governments block public internet. You can bring down the site but not the massively decentralised chain.

If you are still reading, and missed the title.. here it is https://hashblogger.com/
Staying ahead of vulnerabilities in your repositories
For me it is the opportunity to use Phoenix LiveView: Interactive, Real-Time Apps. No Need to Write JavaScript. https://dockyard.com/blog/2018/12/12/phoenix-liveview-intera...
I work at https://www.deepnote.com/, we are trying to tackle some of the pains mentioned in the article (setup, collaboration, IDE features like auto-complete or linting).

We are still early access, but if you are interested in an invite just let me know. My email is filip at deepnote dot com.
So how then do you know that Spain will veto a Scottish application to rejoin? Have Spain produced a more up to date statement changing their position? If not, then are you not just spreading FUD?

edit: Also, Johnson shutting down the possibility of a second independence referendum is not the be all and end all: the Scottish government could pass legislation for one without a section 30, which would likely be challenged in court by the UK government. If the supreme court upholds the right for Scots to vote in a referendum, then it goes ahead.
Show HN: Light and Powerful Web-Framework for C++
Secondary return values. It works by being explicit about code paths and error contexts. You lose some convenience and should design simpler, more straight-forward code structure.
The Spanish flu has a similar mortality rate as this and managed to kill 5% of the world's entire population.
China infection rates could be as high as 100K, as the 5% number is based on tested cases.
The only way for a company to not care about churn is if they literally don’t care about the quality of their product or services. There are very few businesses where this is the case (in software engineering at least), so if you’re trying to suggest that such businesses are a common problem, then you’re delusional.
The "self-model" you're talking about is the agent in the Reinforcement Learning framework. It moves between states in an environment and learns from reward it earns from each action.
2019–20 Wuhan coronavirus outbreak
Google's put the document on lockdown so if you want to save a copy of the data yourself this will get you an ODS file (for now):

https://docs.google.com/spreadsheets/d/1yZv9w9zRKwrGTaR-YzmA...
That's a very fluffy definition. Also "China" was invaded all the time. You could argue that Europe and some kind of continuum over the Middle East / North Africa also preserved a civilization.
The differince I imagine is how it has 'fresh' hosts, and can spread quickly, possibly overwhelming care, or complicating other medical issues. The flu seems throttled by varied, but somewhat common, resistance in humans, where this has little or none. Otherwise, no, it seems to me, a layman, as being about as intense as the flu from a purely individual, symptomatic perspective.
>there is _always_ one person go tries to skip the line and merge at the very end,

Ahem... he's the one that actually knows what a zipper merge is, and you are the one who needs to learn a thing today.

There is no line in the zipper merge. You are supposed to merge at the very end to keep the traffic flowing, like a zipper would.

Read up, and don't be that guy: https://auto.howstuffworks.com/traffic-lane-zipper-merge.htm

(Unless you are talking about something else entirely, but the parent comments were talking about this scenario)
As do NTFS. But they are not really comparable to "real" filesystem snapshotting, at least not in my opinion.
Wow instead of reacting and discussing like civilized people one is voted down in silence. Very courageous and honest.
> Ideally I want to be able to do fulltext realtime search over anything that I ever had in my visual field. Not even necessarily text, but audio and video as well.

Where I find all these systems break down is recall. They're designed for someone who can recall a word or phrase that was in the content. I can usually recall "It was about X" or "The document/web page/image looked like Y". But an actual word? The author's name? Not a chance.

While a more difficult problem, if the tool is to live up to the "Future" section of this page, it's got to go a long way beyond what's in the source data, to what's thought of by the user.
Do you have any examples where 1 to N is a more convenient numbering?
Could some sort of hybrid approach be an improvement? What if we required every function to explicitly declare the types of exceptions it might throw? The compiler could enforce it and make it transitive to higher level functions.
Which I understand, but it's also wrong. The dream songs are a symbolic communication and very stable at that, for millennia.
> Tensor Processing Units (TPUs) are Google’s custom-developed application-specific integrated circuits (ASICs) used to accelerate machine learning workloads.

https://cloud.google.com/tpu/docs/tpus?hl=en

> Project Brainwave is a deep learning platform for real-time AI inference in the cloud and on the edge. A soft Neural Processing Unit (NPU), based on a high-performance field-programmable gate array (FPGA)

https://www.microsoft.com/en-us/research/project/project-bra...

I got the TPUs wrong and Brainwave right.

What they certainly are not is RISC-V.
I've been following this closely since Jan 2nd. This is looking like it will be far worse than SARS and MERS, and far harder to contain. I imagine it'll look a lot closer to the Spanish flu.

I wonder what absolutely drastic measures China could implement to get this under control. Short of a total curfew of the country for a few weeks, I don't know what they can do to prevent a full blown pandemic at this stage.
I wonder if the downvoters missed the joke?

>Fix: install window shutters.
I too, wonder about this.

The article starts with:

> Some infectious disease experts

But only two experts quoted in the article predict a potential pandemic.

The main worry, though is that it's infectious while asymptomatic, which apparently was not the case with SARS:

> Tools like quarantine and isolation—which were key to controlling SARS—are unlikely stop spread of a virus that can transmit during the period from infection to symptoms, experts say.

Also, of those who died, how many were weak/immunocompromised to begin with, and how many were healthy adults?
Except this blog is up since 2013, though. :) I think .gov sites have some style guide.
Without diving into the substance of Damore's views, note the "off-the-clock" caveat.
I mostly use basic (event tracking) calendars for now, but they definitely aren't as flexible as the one presented here in terms of UX.

More specifically, I use my Nextcloud server with WebDAV as the web interface and server, Simple Calendar (with davx5) as a mobile application, and Thunderbird as a desktop one.

If you know of more sophisticated ones, feel free to share them :)
Throw in Java is very inexpensive. Expensive part is creating new instance of exception, which figures out stack trace and creates bunch of immutable strings.

There is a technique of throwing existing static instance of exception, which generates no garbage and two orders of magnitude faster than traditional java approach:

https://github.com/questdb/questdb/blob/7560895ee400c82b0e5e...

The only downside is that stack trace is effectively defunct.
For the odd day. It never happens for lengthy periods. Most of the time wind will be the right answer for significant generation in Britain and Ireland, with great interconnect export potential, so we'll use proportionally less solar and more wind in the mix than Italy will. :p

I simply don't understand why just about everyone on HN who argues against renewables presumes 100% solar, 100% wind, 100% whatever. Every nation will have an appropriate mix for their differing conditions -- isn't that obvious? Apparently it's really not. Interconnecting to nearby nations to move mainly westerly wind power eastwards, and mainly southerly solar northwards. Yet it's still worthwhile for Romania to be adding wind generation. It's still worthwhile for England and Scotland to add solar.

No one is expecting one nation to actually supply the whole of Europe -- grids are becoming more localised and far smarter within the European super-grid that's aiming for continent wide management. The UK is already seeing moves to demand shifting, and localised demand. We'll see far more of that fine level demand shifting, managing in-home batteries and grids managing ever more generating sources to keep to the best mix of sources at any given moment. Right now they do a fine job as you basically never realise the grid is even there, yet the mix of sources varies across every day throughout the year. How Orkney power companies manage it gives an idea where we're heading.

There's a lot of new interconnects in the pipeline across all of Europe too -- UK has 5 or 6 new ones coming soon. Scotland is progressing to new pumped storage of similar size to Dinorwig, though I'm not sure where in the approval process that currently is, or if it'll ultimately be rejected.

We'll all keep some generation of last resort -- right now, in the UK that's coal. It comes in as less economic than interconnects most of the time. There's a few (three or four IIRC) remaining coal plants, all of which are spending 99% of the time idling. Doing absolutely nothing but being ready for spin up. In five years all the coal will be closed, and it'll be the gas plants at the bottom of the heap. It's already uneconomic to build new gas.
This installs a ridiculous mindset, what if a dev hits a block at 11am and your ceremony is at 10am?
I agree that `throw` is easy to misuse; but I think this is a symptom of something else, namely in architectures where input even handler code is spread all around or, worse yet, dynamic. This is really common in many languages, and perhaps my greatest pet peeve.

However, throw is a wonderful facility if your architecture has one defined entry point for inputs of all kinds. It means your outermost loop can have a try block, and literally everything else can feel free to throw in the safety and comfort of knowing the entire program won't fall down.
Buried AC lines apparently have higher losses than high tension wires. But you might be right about HVDC.

If you need to move methane a long way I believe you use a large diameter pipe rather than high pressure. You can’t do the same with high tension power lines (forest fires anyone?). And when the pressure drops? You burn some of the methane to boost the pressure.
You may believe that of course, but the reality is that we have no proof either way. I personally believe the opposite, that Go-style explicit manual error handling obscures both the business logic and the error handling logic, and makes it much harder to read code. Unfortunately, we don't have any studies that could shine a light either way, and it is very likely that if we did, we would see something similar to the typical static-vs-dynamic typing study : no real effect on defect rate; no way to accurately measure productivity.

> And the beauty of using statically typed languages with error code return values is that one can use automated tools to find all the places where error codes are being ignored.

Even better, the beauty of garbage-collected languages with exceptions support is that errors can't be ignored at all! And if you don't have garbage collection and need to manually cleanup every resource, both approaches get a lot more difficult, and it's much harder to tell which ends up being superior.
> Even a poor Chinese with no education is likely to have the instincts and bearing of an educated man. He sets great store by such things as personal dignity, self-respect, and respect for others.

I get the impression that Taiwanese and Hong Kong people might not agree with this point to describe the mainlanders.
Are you talking about smart TVs? Because ads only show up on real TVs if you tell them to. It's the cable you plugged into it or the ads at the beginning of the movie you just paid money for. It's not the TV. The TV is dumb as hell. It only shows you what you tell it to show you.