skysight-inc/HackerNews huggingface dataset:
The way you are thinking would be much cheaper than what I'm doing with the downside that clients data exists on the same server (but maybe they won't care) and the fact that a performance issue for one client can impact other clients.

I haven't found an AWS account per customer to be to bad to manage yet and makes keeping track of your AWS spend per client simple. It's also trivial to run your resources in say Sydney for your Australian clients and London for your European clients.
Arbitration through UDRP is expensive, both in terms of process costs and employee time. A reasonable company would probably pay more than registration costs to avoid it.
It's pretty surreal to have just finished reading the blog post[1] on this topic, that was posted just a little bit higher, then to come here and see it played out.

[1]https://www.scottadamssays.com/2019/04/30/the-fine-people-ho...
I too don’t want Javier Bardem hunting me down.
Nobody is distributing that library anymore. Whereas an equivalently aged binary on Windows will load today without extra dependencies.

I would think that the kernel would have dropped binfmt_aout by now, but I just looked and it's still there. Wonder if any distros build it.
Yep. Too easy and not cool. But works really well and no headaches
My startup currently does just this 'at scale', which is for us ~150 b2b customers with a total database footprint of ~500 GB. We are using Rails and the Apartment gem to do mutli-tenancy via unique databases per account with a single master database holding some top-level tables.

This architecture decisions is one of my biggest regrets, and we are currently in the process of rebuilding into a single database model.

FWIW, this process has worked well for what it was originally intended to do. Data-security has a nice db level stopgap and we can keep customer data nicely isolated. It's nice for extracting all data from a single customer if we have extended debugging work or unique data modeling work. It saves a lot of application layer logic and code. I'm sure for the most part it makes the system slightly faster.

However as we have grown this has become a huge headache. It is blocking major feature refactors and improvements. It restricts our data flexibility a lot. Operationally there are some killers. Data migrations take a long time, and if they fail you are left with multiple databases in different states and no clear sense of where the break occurred.

Lastly, if you use the Apartment gem, you are at the mercy of a poorly supported library that has deep ties into ActiveRecord. The company behind it abandoned this approach as described here: https://influitive.io/our-multi-tenancy-journey-with-postgre...

Happy to expand on this if anybody is interested. It's currently a cause of major frustration in my life.
As snuxoll writes, Salesforce does use a shared database with tenant_id (org_id) as a column on every table. You can read a lot about our multi-tenancy mechanisms in a whitepaper published a while back [https://developer.salesforce.com/page/Multi_Tenant_Architect...].
Yeah, I think that's certainly part of it. I'll try to be more careful with sprints going forward. But I made the initial plan for the opt-out release before the deadline. So it was also just a pretty bad loss of perspective on my part.
After scrolling about 200vh or so for no good reason.

>I remember feeling under a pall of gloom, going about with a dark cloud over my soul and tears in my eyes.

A little bit melodramatic, but okay.

>The disparity between America’s haves and have-nots has been laid bare. The inefficiency of our legislators has made us the laughing stock of the planet (so much so that an opinion writer at the Irish Times even felt pity for America).

Everyone is entitled to their opinion, even The Irish Times.

>Slack co-founder Stewart Butterfield might be a household name today

Other comments covered this nonsense.

>To be clear, those being laid off are previously pampered full-time employees and not the gig workers who are treated as disposables by these big companies.

> Yes, the future is unknown and it is worrying, but pause for a minute and think about what the future of work looks like: less peer pressure and office politics, less need to run around looking pretty or showing up to show you’re there no need to chase crazy trends and shiny objects, and a lot less emphasis on working just to make sure people see you working.

The latter statement can only apply to the former if the "You" is a "pampered full-time employee". Because I doubt the "gig workers" have seen what office politics look like.

So then, what's the point of this statement?

Rest of the article tries to imagine a future that ignores evolutionary biology, the need for people to connect through more than just a virtual presence, and proclaims we live in the past.

Lastly the "have and have nots" bullshit tirade is nicely wrapped up by the author mentioning they're an angel investor for Slack.
Are you in a position where you have been offered this? No founder I know has.
That is simply incorrect: https://www.sccgov.org/sites/covid19/Pages/press-release-04-...
I find this slightly depressing that using global mutable state had such a significant performance given the functional programming (encompassing Idris) is very much in favor of immutable data structures and purity. I know it's best to explicitly switch to mutability iff a bottleneck is found (like how `mut` is explicit and not default in Rust), but I want to believe that Idris can live in a purity. This makes me think my opinions are not far off from religion.
Here is something from 2015:

In the United States, 24% of children under five have been cared for by grandparents in the previous month (Laughlin, 2013), and a study of 11 European countries showed that 58% of grandmothers and 49% of grandfathers looked after at least one of their grandchildren aged under 16 in the preceding year in the absence of parents

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4681534/

I've read extensively on such topics over the years. Sometimes, my stats are a little out of date because I did a lot more such reading in my twenties and I'm now 54.

But, overall, my understanding is that what I read about differences between women's rights and family-friendly policies between the US and Europe when I was a homemaker in my twenties trying to figure out why the hell I didn't magically end up with the two career couple family I had imagined would happen has not really changed all that much. The gap in some things is less wide, but it's mostly a matter of degree, not kind.
That's not relevant to my argument. You could have pointed out to many other bad things done by the US, or the West.

The fact remains that migration flows tell us where people actually want to live.
How does the architecture block major refactors or improvements? Are you running a single codebase for all your tenants, albeit with separate schemas for each?

Edit: on reading the link you included, it seems like a lot of the problems are on the Rails implementation of the architecture with ActiveRecord and Apartment rather than with the architecture itself.
Related, I think it'd be interesting to see a compilation of projected revenue from pitches vs actual.
>we can make up hypotheticals all day long.

So you're not going to point out any logical flaws in the scenario? You're not going to tell me why it's not a useful exercise? You're just going to avoid answering it because.... reasons.

> Firing someone because they have a profile on triplebyte is just silly.

Neither of the examples I gave were about firing.

>I ge that you all need to justify your rage over this, but this really makes no sense

I don't have any rage. My comment didn't express any rage. It gave two perfectly sound illustrations of why this information being public could put one at a disadvantage.

>The world doesn't work the way you want to believe it does.

Please elaborate. How does it work? And why is your experience about how it works more "correct" than the hundred of commenters here?

>I don't know, maybe you work somewhere that's normal, but if you want to call something toxic, that's toxic.

You can prove it by answering my question. What decision would a non-toxic, perfectly reasonable employer do? What would you do? I'm genuinely curious.

>No boss I've ever had would care less about my online profiles.

Same here. Aren't we lucky. Not everyone has had the same experience as evidenced by this thread.
I am. I'd like to help.
> A notable case was the unraveling of the whole Iraq WMD story, and especially the yellowcake affair.

This was major news in the US in my recollection. https://www.nytimes.com/2003/07/06/opinion/what-i-didn-t-fin... is about the yellowcake.

A pro-war pundit then outed Wilson’s spouse as a CIA employee and there was a widely publicized special counsel investigation into the matter of the outing that was discussed a lot at the time.

So I don’t really understand the idea that the US media as a whole was self-censoring this...
Oh cool! What are they doing for the new hobbyist program?
This is an important point, and it's something I'm thinking a lot about right now. I don't have an answer, but I want to talk to my team and make an announcement in the next few weeks.
> I mean okay, but I doubt the executive pay is really moving the needle in terms of whether these companies are profitable.

Sure, but executives being paid does jive with "[t]he idea that this is just GrubHub or DoorDash or whoever being greedy", which is what I was responding to. The executives being the ones who make the decisions for the corporation.
Yeah...this basically ignores those totally minor perks like “SEO” and “people can actually find your site.” Unless I’m missing something here.
Than the Aztecs who used human skulls as construction material?
I’m not sure that the percent of a total population consuming fake news is the issue. Just because it’s a small percentage doesn’t mean it’s negligible. It might just mean it’s efficient.
> SMB can be anywhere up to 1000 employees, 500 employees and under 1 billion euro of turnover in case of EU's SME definition

By no-ones metric is 1000 employees a small business. The EU defines a small business as under 50 staff, and a medium business as under 250 staff.

https://ec.europa.eu/growth/smes/business-friendly-environme...
Hmm I'll ask the founders if they have a solution for that! They allow bulk upload of profiles, but may require emails currently.
Lol did this actually happen to more people then I'd assume? Anyone got a good: IAMA dba that deleted all our data?
Personal thoughts for ammon, hoping @dang hides me, please hide me @dang.

Ammon,

You single handedly destroyed something you created but I can relate and feel what you might be going through ATM.

It will suck and it will leave you with scars that'll be hard to come off and stick for the foreseeable future.

Eventually, You'll come out of "it realizing this decision and reversal of an easy growth idea with hard execution and be subjected to it on target vocalists on HN"

You'll do better, never stop because of internet shit.

- Be Good

(Random individual, doesn't matter)
The current URL[1] just leads to a page with a link to the actual article[2].

[1]: https://www.newsbreak.com/news/0P7mFdx2/google-drive-takes-d...

[2]: https://reclaimthenet.org/google-drive-takes-down-user-file-...
I totally agree with the author here, but also would love to give some context since we have lived something like this before on Javascript IMHO:

Callback hell around 2015. It used to be that if you wanted to do something async you'd have to create a new callback. This led into callback hell[1], which was specially bad back then on the backend.

Luckily after a migration that has taken many years, now most of the libraries use async/await instead of callbacks. There was some time where this was extra difficult because some code was using callbacks and some other code was using async/await, but it's almost totally solved in 2020.

Which brings us to the article on hand. This is probably one of the biggest issues, and a fake promise in Javascript right now: reuse code on the back-end and front-end. The front-end side has been using `import` for almost a decade with Webpack and friends but this was not easy on the back-end, so there was not a practical way of reusing the code in a project.

Luckily since last year Node.js supports import/export, and React supports it in libraries. It took a while because it was not an easy issue. I expect that more and more libraries will start to work only with import/export, and hopefully in 1-5 years this will also be a non-issue.

[3] http://callbackhell.com/
I don't have a great answer. I guess just an entrenched/combative view of what was going on? I'm not proud of it.
> I can think of no mainstream language that has that property.

Duff's Device works in D:

void send(short* to, short* from, size_t count)
{
auto n = (count + 7) / 8;
final switch (count % 8) {
case 0: do { *to = *from++; goto case;
case 7: *to = *from++; goto case;
case 6: *to = *from++; goto case;
case 5: *to = *from++; goto case;
case 4: *to = *from++; goto case;
case 3: *to = *from++; goto case;
case 2: *to = *from++; goto case;
case 1: *to = *from++;
} while (--n > 0);
}
}

The `goto case;` is D's way of saying "fall through to the next case".
"Sphinx of black quartz, judge my vow."

With bonus comma and period. Objectively the bestest one.
The Confessions of Marcus Hutchins
Thanks for this, it made me laugh today!
> What are we proponents of static types being asked to prove?

Your arguments for why you think static types are better.

> I would argue that catching bugs at compile time, before you ship them, is vastly preferable to catching them at run time.

I would argue that you're only doing the benefit part of a cost-benefit analysis, which isn't very useful.
There is nothing to figure out. Go chop wood.
Twitch has a record of over 2M viewers of a single active steam. I don't think scale for most individual artists is a factor.
Sorry for the late reply.

You can change state without all the annoying purely functional programming stuff ([... previousState, newValue]). Just change it.

You can change a prop passed in and even pass a new value up to the parent. So you know the pass a function down so the child can change a value in the parent? Just pass the variable you want changed down with @binding.
You can actually get rid of the confusing nesting:

switch(n%4)
{
loop:
case 0: stuff();
case 3: stuff();
case 2: stuff();
case 1: stuff();
if(--n) goto loop;
}
Yes, there may be more of those crazy projects today, but a major difference is the way abstraction in software obscures the insanity of the bigger picture.

The current South Pole Station was designed by an architectural company based in Hawaii; I'd imagine the architects felt like they were working on a really cool project. In the station they designed, the dorm rooms all have windows without blackout curtains, but the sun rises and sets once a year at South Pole and there's an awful lot of ice outside. It's very bright there in the summer, and the dorms are hardly used for anything other than sleeping. There is a large pile of decorated pieces of repurposed cardboard that polies fit in the windows - I can assure you that decorating those window covers feels a bit silly, even if it is novel to play cut-and-paste with the world spinning around you.

Byrd's Snow Cruiser and the CMS made in word macros are more alike than different.
The original comment is putting a bound on the case fatality rate by simplistically assuming everyone has been infected. The actual prevalence in nursing homes is irrelevant with that assumption. Nursing homes being prone to infection just tightens the bound.
In the entire history of the Bell System, no electromechanical exchange was ever down for more than 30 minutes for any reason other than a natural disaster or a major fire.
Jira Cloud and Confluence use a DB per user architecture at reasonable, but not outrageous, scale. I can't share numbers because I am an ex-employee, but their cloud figures are high enough. This architecture requires significant tooling an I don't recommend it. It will cause you all kinds of headaches with regards to reporting and aggregating data. You will spend a small fortune on vendor tools to solve these problems. And worst of all despite your best efforts you WILL end up with "snowflake" tenants whose schemas have drifted just enough to cause you MAJOR headaches.
>Now I'd like to know why Task Manager got rewritten in Windows 8

* displays multiple cpus better

* graphs autoscale, so the network utilization graph isn't stuck at showing everything in 1gbit scale

* multi process programs (eg. chrome) are grouped together, so it's easy to tell how much resources it's actuality using
Ask HN: How likely is a US revolution?
Many countries have undergone revolutions or schisms in the past century: Arab Spring countries, Soviet Union, Cuba, China/Taiwan, Korea, Yemen, etc.

Recently there have been major catalysis for social unrest, including: increasing economic inequality, novel technological shifts (automation, social media disinformation and censorship), and climate change affecting industries and migration.

What are your thoughts on the likelihood that the US will experience a massive upheaval and what precautions can be taken?
A barrel connector is hardly proprietary.
Do you have a picture? That sounds really nice. I'm in Redwood City, and my view outside is the parking lot next to the apartment.
For me it falls into the category of decisions that are easy to make and difficult to un-make. If for whatever reason you decide this was the wrong choice for you, be in tech needs (e.g. rails) or business needs, merging your data and going back into a codebase to add this level of filtering is a massive undertaking.
Oh, the author is an angel investor in slack! I guess that explains the household name thing. I was originally just assuming some extreme version of living in the silicon valley filter bubble.
No, but previous workplace did fake it with a postgres-compatible front end (in node.js) which pointed to per-customer postgres schema with no data, but views/etc pointing to a multi-tenant schema with the actual data. Between the views and the fake front-end we could isolate customer data and provide hierarchical data access, allowing our customers to point pg-compatible tools to access their data.

I suspect there was negative ROI, and the DBAs avoided me.
There are a couple Australian TV shows about these trucks and truckers: Outback Truckers (on Netflix in the US) and MegaTruckers.
Ask HN: Resources on proving stealing music is not OK?
Can't believe I am even writing this but here it goes...

I help out a local yoga studio with their online presence.

Yoga has gone online for the past few months now and the owner is frustrated with the music experience.

Playing music through zoom is terrible no matter how you cut it... and you can't upload pre-recorded yoga videos with copyrighted music in the background to youtube.

We tried sharing spotify playlists with students to play in their own home, but the boss is annoyed that any non-paying spotify listeners have to listen to advertisements in the midst of a yoga class.

Anyways... long story short... some whiz kid popped an idea into the bosses head that it would be AOK to "rip music from spotify and re-host it on our own website" and that we "should not be concerned about copyright violations".

Yea, I almost spit my coffee all over the keyboard reading that too...

Anyways now the boss thinks that's a great idea, and he is moving forward with trying to make it happen.

How do I put a stop to this ASAP before they're sued to Timbuktu?

We're having a meeting about this tomorrow afternoon... please help!
India's Jio enters grocery delivery business, taking fight to Amazon
It's a silly hypothetical, and not worth addressing any further than I already did.

You've now admitted you're not even in the situation, so why debate for it other than internet gotcha points?
Revisiting the “Whoops” Video in Clojure
This was a big inspiration for a sort of self-bootstrapping kubernetes "distro" I put together for my previous employer - just wanted to give a shoutout to all the neat things I see coming from bitnami.
I thought "radical honesty" sounded silly. And turning the argument into an attack on the speaker wasn't kosher either.

But I also thought "quite unethical" was a bit silly (though I didn't downvote anyone). Perhaps people didn't like the tone. Also there could be a language issue with the degree implied by the word "quite". In stark black and white terms, it is unethical, yes, as a lie of omission. If there are shades of gray, it is not on the extreme to get lucky and have heard a question before.

I have also noticed there is a contingent of commenters who seem to view stories in terms of the victimized workers versus the evil corporations, and punish people who appear to take the wrong side. Probably a similar bunch shows up when the argument is about students versus teachers. Not necessarily a universal lack of ethics.
How to Do Strategic Planning Like a Futurist
Western culture does indeed adopt what it likes from other cultures. But the nature of western culture changes little. I've traveled in foreign countries, and over my life I've noticed they become more and more like the west, not the other way around.

Sometimes you'll see countries violently reject western culture and return to their old ways, but it's a losing game for them.
Cool! Thanks :)
> specifically the Olm implementation developed by Matrix -- but it should be roughly the same as libsignal

I'm all for "many eyes make bugs shallow", but this is somewhat-widely deployed software, and I have approximately 0% confidence (based on my previous experiences with Mastodon releases and code quality) that this will be strong and safe for its first public release. (Happy to be proven wrong, mind you.)

Perhaps this could be done in an official testing fork, and merged back in when actual cryptographers are more confident about it?

The idea of shipping this in the standard Mastodon release cycle is terrifying, and I really hope they don't intend to do that.

Ultimately, from a design perspective, I'd much rather see ActivityPub implementations support good profile deep linking to existing (read: safe) messengers rather than trying to graft e2e onto a federated messaging protocol that happens to support DMs-do one thing and do it well, and all that. (Also: backwards-compatibility downgrade attacks, anyone?) We all know how well previous attempts at e2e encryption of federated protocols went (spoiler: they didn't).

The modern day version of Zawinski's Law of Software Envelopment seems to be that apps will always attempt to expand until they can send and receive DMs. The consequence of this should not be that every app bundles key generation, key encipherment, key backup, secure key distribution, federated key authentication, and a message cryptosystem simply to support e2e DMs. That's (dangerous) madness.
Show HN: Sup – Slack client with WhatsApp like UI
Political messaging in stdout of popular Git tool (BFG repo cleaner)
These sorts of “I found a name collision” blog posts often use the possibility of phishing to justify their implication of alarm.

I don’t really buy it, though. I mean, I know that phishing is a major problem, but I don’t buy that this discovery makes the problem of phishing any worse. There are an infinite number of ways to configure URLs to pass a glance test, which is the most you’ll get from most users.