skysight-inc/HackerNews huggingface dataset:
One thing that surprised me, if they are savvy enough to use the command line and write custom scripts, they would probably have no issue with using PhotoRec instead of buying a commercial recovery software.

Not that this kind of money is relevant when it's your personal files that are at stake, just a small observation plus a recommendation for whoever reads this and didn't know about it:

https://www.cgsecurity.org/wiki/PhotoRec
Is there an example gallery we can check (without the need to log in, or upload own photos)?

Is there a local backup? (Say, in the pessimistic case of Ente going down for any reason.)
The previous mess of languages didn't provide the features that were specified as requirements for Ada either - effectively, the previous languages were heavily "first few generations of programming languages", often arcane and with limitations related to platforms that were no longer dominant. JOVIAL which was one of the major ones (even standardized) is essentially a slightly updated (using features like structures) ALGOL 58. Then you have tons of various assemblers. TACPOL.

There was a gap for a modern, safety & reliability oriented language - and which could be used to unify the mess that existed before.
Writing Programs with Ncurses
Go doesn’t have reference types, and slices certainly do not behave like them: because the slice is composed of the pointer, length, and capacity (on the stack) if you want to modify a slice on behalf of a caller you absolutely must get a pointer to a slice, unless your mutations consist solely of setting existing indices.

Go’s map is (AFAIK) a pointer to the hmap stucture where everything happens, so it does behave like a reference type (all updates in the callee will be visible to the caller) but even then it can be useful to have a pointer to one so you can reset it without mutating it in-place. While that can be a bit weirder, it is also much safer. Especially given Go’s maps are not thread-safe (and in fact not memory-safe under concurrent updates).
It’s almost like this is just a shitty analogy that doesn’t fit the original context properly.
That's a stupid argument. EU-based developers usually get paid EU-level salaries ( so higher than the median EU salaries). Some work at American companies' EU-based offices, for slightly better salaries ( sometimes), but things remain in the same ballpark.

Not everyone desires to move to the US to get a Silicon Valley-level salary and sacrifice their Quality of Life for it.
The paper begins with David Cope. He evidently has a Youtube channel with algorithmic music.

https://www.youtube.com/user/davidhcope/videos
The article is not about Go, although that was my guess before reading it as well.
Isn’t Gmail widespread enough to be appreciated?
> //v[3] == 4 is true here

Note that C++ std::vector has an operator overload so this is actually just calling the method named operator[] on the object v and that method returns you a reference to the object in the backing array if in fact it is a suitable size (no checks are made). In particular if foo doesn't for any reason extend the vector then our program now has Undefined Behaviour.

This is not merely the C syntactic sugar array subscript operation v[3] == *(v+3) as the vector is not necessarily just a backing array pointer and some magic.

In contrast Go is really offering array syntax for this slice, that's the built-in array subscript operation and it cares whether v[3] exists when you try to compare it to 4.
How do you use computers?

I've hated this feature for 25 years. I run up against the design flaws of this limitation alone usually multiple times a day. From websites that try to have some funky JavaScript convenience (including nearly impossible to use things like medium) to applications that want to select the entire thing and destroy the clipboard as I'm trying to put something in. UX limitations and bad design make it utterly useless constantly.

The whole paradigm is broken. From applications that just select the entire document when you're one pixel off the line of selection, as if anyone has ever asked for that, to application interoperability with anything more than text, parity with windows OLE from around 1993, being still a total pipe dream. Drag and drop is still totally dependent on what toolkit the two programs you're using was written in.

That's nonsense! It'd be like a world where I can't pipe say output from python as input to a bash script because they were implemented in different languages and people would be like "welp. That sounds right. I don't see a problem here"

Also the world of programmers have decided they can go around randomly selecting shit to try to make my life dealing with clipboards easier even though it just makes it utterly unusable. I'm not going to go on a crusade to personally win that fight on a program by program basis. It'd be so much better to have flexibility on how clipboards work

Things could be amazing but instead we defend it being terrible.

Here's an example. Imagine where I can not only do basic asks like drag from inkscape to figma but also have something I'll call a "transport station" where I can drag things into a dock to share them with colleagues who can receive them and then put it into their application of choice, in a non-destructive, non-disruptive way that maintains the flow of productivity. Sound like a smooth and fantastic collaboration tool? I agree.

I've tried to make this, there's lots of fundamental problems that ought not exist. That's the power an unbroken clipboard could have.

What do you do with computers where you don't viscerally feel these limitations daily?
> The value is in well-engineered stuff

A start-ups needs to survive long enough to find a business model and profitability, and that becomes much harder when you're not a technology company and put technology first.

For every Google that succeeded, there a dozen Facebook and Twitter's that took a "good enough" approach. No shortage of well-engineered products in the graveyard.

Also keep in mind that if a company makes it long enough and you continue to grow, you're engineering team output will be many multiples of what it was when you made some earlier mistakes. Much easier for a few hundred engineers to fix problems created by a dozen.

Bad business models kill software much, much more than bad software kills businesses.
Better off using digikam to as a DAM and being in charge of your own data.
The weights can incorporate a factor (0 < α ≤ 1 in that link) which adjusts the contribution of the prediction's accuracy. When α = 1, we get the zero-sum, purely competitive situation; we can make accurate prediction less important by choosing α < 1.

Although truth-telling is a Nash equilibrium of this setup, it's not the only one. However, as α → 0 the truth-telling equilibrium becomes dominant (i.e. achieves a higher expected payoff).
"If you overwork yourself and feel like you’re burning out, stop what you’re doing and find stability—whatever you’re working on isn’t worth your health. Don’t feel the need to “hustle” because some people glorify it. Doing good work while living a healthy life is much more respectable."

Quite good advice IMO. I could relate to this author doing 'all the right things' (meditation, drinking less coffee, excercise, etc. - " I tried everything to calm myself down. I switched from coffee to tea. I tried rhodiola drops and CBD. I started meditating and using breathing apps.") and still not improving mental health. The truth is, in my experience sometimes a change in circumstances and/or medication are really necessary to start healing mentally.
Nice and Supercool!
> Microservices are the simplest solution to counteract Conway's law.

I don't think that "counteract" is a useful frame of mind. I interpret Conway's Law more as a lesson: Build your software to reflect your org chart, or else you're going to have a really bad time. If you have two loosely-coupled teams, their respective services better be loosely coupled as well. And vice versa for tightly-coupled teams: If you have some good cross-team communication going on, take advantage of it in your architecture.
Interesting that the author used joi as the example, when the io-ts validation library fully embraces the functional world with success/fail return value from validation. Realistically, the advantage throw has is that if you have a single error handler in a function it avoids the "go" problem of tons of lines of error handling. The other side is that error handling becomes "optional".
> Is that really so much to ask?...

Yes. You cited requirements that to be satisfied together require a huge effort. You want something that can "just work" and is also cross-platform, power user friendly (LaTeX), and should be snappy to be able to gain traction. Not to mention that you have to compete with the ecosystem lockin of Office-Teams-Onedrive-Sharepoint-Azure.

I frankly see no way a competitive alternative could appear without a billion dollar budget backing it.
The article starts with that, but then the source they mention says there is no correlation between side effects and vaccine efficacy. Which seems fairly clear.

Frankly, this article is so disjointed it reads like an AI wrote it.
Can it be worse than offline MS Office? I've never used O365 and got initially acquainted with MS Office on some version of Winword before going deep on O'97, but whatever I use now feels full of limiting UI quirks that were tolerable twenty years ago but feel outrageously cumbersome looking at them from the present day. Combined with the sedimental layers of crustified superficial UI "reinventions" of several generations of product managers trying to leave their mark that eventually burden every Microsoft product. It's hardly surprising that fresh approaches like Google's offerings seem to eat MSOffice's lunch without even seriously trying.
Time Machine backups on remote drives do live inside an Apple file system. They are stored as a mutable disk image.

The critical setting for reliability is to use AFP and not SMB. To this end I have two Synology NAS devices—a multi drive unit shared as SMB for general use and a single drive unit shared as AFP for Time Machine. While I do have occasional backup trees go bad (once every two or three years) the backups themselves are still fine and so I just start a fresh one.
It's good to see so much focus on errors. They are essential when trying to build resilient systems. But our approaches are still very immature.

First, to make it clear, this article appropriately points out that exceptions are still necessary and relevant. I disagree with some of the use-cases given, but it's important to recognize that exceptions should still exist in programming languages. Joe Duffy's article about Midori's error model [0] is in my opinion the best reference to actually understand the difference between exceptions and errors and why it's so important to get right. It's a very good article, and it has been posted here before; if you are interested in error handling it's a must read.

Now, about errors as values. Treating errors as values is practical, and in modern programming languages, relatively ergonomic. That said, we already have some other comments in the thread pointing out how sticking to just "errors as values" is often not enough (btw, the article uses Rust, not Go, but anyway...). And it's also important to clarify this: errors are such an integral part of our programs, and have so much to do with flow control, that I don't believe thinking about errors just as values is enough. Sure, they might be "just values" under the hood, but in all programming languages we see either optional results or syntax sugar to be able to handle errors more gracefully. And in most cases, we still feel it's not enough (or it's enough to be practical, but not to be pleasant in many cases). So we should keep the door open, and not pretend we have already solved errors.

Finally, the topic of errors is extremely deep and complex, and when you start introducing other factors like how to report the errors publicly to a non-technical user, maybe in different languages, or whether to log it or send it who knows where, whether to trace or not, how, how to deal with duplicates or similar errors... then you start realizing that we are far from a satisfying and complete model for error handling. We haven't reached this part of the discussion yet.

For the moment, passing most errors as values is the relatively painless way that still allows us to customize errors to our needs. But there's still a long way to go.

[0] http://joeduffyblog.com/2016/02/07/the-error-model/
I do md5sum (shasum more recently) out of habit for anything large and at least a bit important to me. I started this about 15 years ago when I had a couple of eSATA drives and noticed corrupted files when copying. I've been checking file integrity since, and occasionally I encounter corrupted files - often enough to make me continue my checks.

It was an eye-opener to me to realize that data corruption is much more common than most people think.

On the flips-side because single (or few) bit flips often go unnoticed, people overestimate the impact of data corruption. The idea that if your image or video looks good then it must be intact is flawed. Even software binaries survive a bit of corruption pretty well.

I think in the long run file system based integrity checks everywhere would be great. For now, in a world with a multitude of storage technologies and file systems, shasums will have to do.
I would pay for a self hosted solution, or for a solution where I can plug into a backend you support.

I would also pay upfront, e.g. kickstarter
How Old Is Nezuko?
> It has something to do with the filesystem attributes.

Synology can do all the attributes the HFS+/APFS can do. They do not use standard samba *_xattr modules though, they use their own and the result is all the @eaDir stuff. Do not delete it!

On the other hand, Time Machine is perfectly capable of damaging its archive on the local drive just fine.
Sat providers have SIM cards just like any other provider providing the providings (remember phonejacker?)
We use Restyaboard for Agile marketing in that you will be able to manage all your projects, teams, and clients from one single space.
https://restya.com/board/demo
THIS. AFP not SMB.
> it is the most effective and efficient way to discuss.

That’s a wildly spurious claim. If all the information is distributed orally, how is it recorded for the purposes of future cross-reference?
That's not what Apple recommends. Time Machine is pretty shit these days. With their cloud/services strategy, it simply get abandoned.
I use time machine, but I don't trust it, so I have other solutions as well
You can always... not treat errors or exceptions. You also create employment for oncall engineers and debugging tools, I'd call it a win-win-win :) /s
> Data Synthesis Twenty-three seroprevalence surveys representing 14 countries were included. Across all countries, the median IFR in community-dwelling elderly and elderly overall was 2.4% (range 0.3%-7.2%) and 5.5% (range 0.3%-12.1%). IFR was higher with larger proportions of people >85 years. Younger age strata had low IFR values (median 0.0027%, 0.014%, 0.031%, 0.082%, 0.27%, and 0.59%, at 0-19, 20-29, 30-39, 40-49, 50-59, and 60-69 years).

> Limitations Biases in seroprevalence and mortality data.

> Conclusions The IFR of COVID-19 in community-dwelling elderly people is lower than previously reported. Very low IFRs were confirmed in the youngest populations.
> All fintech

Outside of HFT and matching engines at big exchanges exactly what do you think is in C++? Because I don't think what you said is remotely true. C++, if used at all, would be reserved for the smallest, fastest spinning cog, everything else (95%+) in a more human-scalable tech stack.
Show HN: New Realese of CXXGraph
"Which program is easier to read?"

For me it was the second. Am I the only one ?
If you are having trouble with suspend/resume on your Ryzen 4xxx or 5xxx laptop, you might be in luck with this version. See https://gitlab.freedesktop.org/drm/amd/-/issues/1230 for details.
> This is cynical.

Just because it doesn't subscribe to the utopic "computers will create the best music ever" fantasy?

> computers hasn't killed chess

Because there's very little monetary value in seeing computers play chess. That's not the case in music: the entire infrastructure, from tools to conservatoires, comes from selling music. If that chain crumbles, music will be dead.
Hey, nice one — I’m glad I could give a useful suggestion…

Unfortunately it doesn’t make the numbers less tragic.
Meh, I mean I think there is lots of trash content on Medium and such and we don't ban those.
It's not so secret.

The intel 670p (using 3D4 QLC) can do 370 TB of writes for the 1 TB model. [1] That makes it terrible for a DB, but perfectly fine for a media server. And other than the limit on total writes, it's overall a good performer at an affordable price. It also does clever things in converting some of QLC to SLC as a variably sized cache, so that smaller, more ephemeral written data doesn't affect it as much. [2]

If you want high endurance, you can get an Optane drive, like [3] which can do 17.52 PB on a similarly sized drive.

[1] https://ark.intel.com/content/www/us/en/ark/products/204109/...

[2] https://www.tomshardware.com/reviews/intel-ssd-670p-m-2-nvme...

[3] https://ark.intel.com/content/www/us/en/ark/products/147529/...
Group Calendar and Email in a corporate setting with hundreds of people.

I guess gmail/google calendar can play in this space, but are there any open source options?
It feels more like there's a 20 year cycle - enough time for old hands to retire or move up into management so the new batch can repeat the same mistakes but with different platforms and technologies without learning what went wrong before. So 15-20 years ago people were resume-padding their way to building a small internal dashboard web app with J2EE and EJBs, now the current lot of resume-padders are doing the same with k8s and GraphQL and serverless and whatnot.
During my journey to break up with Google, I found Infomaniak is another option for EU countries.

https://www.infomaniak.com/en/kdrive/apps
FOMO = fear of missing out
They do fully integrated enterprise commications:

* Mail (often with proprietary additions, also shared mailboxes)

* Calendar (appointments, mostly: plan with others’ free/busy times, invitations, invitation replies, integration with resource booking, …)

* Global Address Book

* Tasks (To-do list, can also be mailed)

I don’t know any non-proprietary solutions that integrate all this in a decently user-friendly way. Google certainly does, but then you might as well stay with Microsoft. It’s not just about the service capabilities either: The client (be it a web or a desktop application) has to be good as well.
My first though was, that there must be something wrong with the cables, and occasionally a packet is damaged. And at the end of the article, there it goes, powerline.

If you are using unreliable connection, use something that can verify the transfer, rsync, for example.
I'm not sure what your concept of productivity is, but instead of indicating something about productivity, I think the increasing amount of decisions to make is actually about higher levels of complexity inherent in software development.

All the simple programs have already been written, this means we can only go forward writing programs that are ever more complex to maintain the same amount of value to our stakeholders. And this increased complexity requires slightly different skills and activities than those we learned starting our careers. For in order not to break down from this complexity, we need much more powerful abstractions and ways to combine than before - more complex solutions are usually also more brittle.

I think it's rather a feeling of loss of control than loss of productivity, caused by the accelerating pace of innovations. We're all kind of becoming more and more involved with architecting, configuring, installation, managing and operating rather than building (or rather, building software is changing shape), and the 'building' part is where developers naturally locate 'productivity'.
Roy, The Telekinetic Child-Owl (1973-1979)
Personally, i really like having multiple return values, since being able to give a function multiple inputs but only being able to return a single thing always felt weird - if your require any metadata in a language like Java, then you'd have to come up with wrapper objects and so on.

That said, i really dislike the following from the article:

if (error) {
// you can handle the error as you see fit
// you can add more information, end the request, etc.
}

To me, that's an example of "opt in" error handling, which in my eyes should never be the case. The compiler should force you to handle every exception in some way, or to check for it. My ideal programming language would have no unchecked runtime exceptions of any sort - if accessing a file or something over a network can go wrong in 101 ways, then i'd expect to be informed about these 101 things when i make the dangerous call.

Handling those wouldn't necessarily have to be difficult, in the simplest case just wrap it in an implementation specific exception, like InputBufferReadException regardless of whether you're working with a file or network logic and let them bubble upwards to the point where you actually handle them properly in some capacity, be it with retry logic or showing a message to user, or letting external calling code handle it.

Why? Because whenever you're given the opportunity to ignore an exception or you're not told about it, someone somewhere will forget or get lazy and as a consequence assumptions will lead to unstable code. If NullPointerExceptions in Java were always forced to be dealt with, we'd either have nullable types be a part of the language that's separate from the non-nullable ones (like C# or TypeScript i think), or we'd see far more usages of Optional<T> instead of stack traces in our logs in prod, because we wouldn't be allowed to compile code like that into an executable otherwise.

Of course, that's my subjective take because of my experience and things like the "Null References: The Billion Dollar Mistake": https://www.infoq.com/presentations/Null-References-The-Bill...

I think languages like Zig already work a bit like that: https://ziglang.org/learn/overview/#a-fresh-take-on-error-ha...
Nobody is talking about playing music. And physical playing has been replaced by software quite a while ago. Not if you play it for your own fun, but almost nobody can distinguish a computer rendering from the real thing on a recording.
I've been thinking for a while about building a tool to generate ETL/ELT jobs for data warehousing. Yes, there are lots of such tools already, but I've become frustrated in one way or another with all that I've used so far (mainly with their bloated size and clunky "repositories" and inscrutable runtime engines). This "while" that I've been thinking is stretching out -- the other day I stumbled across my earliest vague musings on the subjects, and noted that they are a couple of years old already, so I'm beginning to think it's time to stop thinking and start building...

For various reasons -- mainly familiarity, FOSS ecosystem, and cross-platform compatibility -- I'm going to try to implement this in Free Pascal / Lazarus. There is one kind of component I'm definitely going to need, and if there were a ready-made one I could use in stead of building one from scratch, it would save me a lot of time and effort. I've looked around online, but so far haven't found "the perfect one". So, my question is:

Can anyone recommend a good FOSS graphical SQL query builder component -- i.e, one which presents tables and their columns to the end user, so they can specify joins and filters by clicking and dragging, etc -- for Lazarus (or in a pinch Delphi, to port to FP/L)?