skysight-inc/HackerNews huggingface dataset:
Fully agree. At that level, the justification for using MongoDB usually boils down to not wanting to deal with table schemas or SQL. In both cases, there are better alternatives.
You can also add add GSIs (with their caveats) without any re-work.
I know the difference, and I'm aware that Crypto AG scandal is not the same thing as not selecting better curves or withholding new techniques or exploits.

On the other hand, the end result is the same: lower security. It's irrelevant whether you backdoor an implementation (it was actually weakening the algorithm itself), design something with backdoors, tap dark fibers or lobby politicians for escrow laws.

It's about the spirit of the motivation, not how you achieve it.
If an EU citizen lives in the U.S., is this an option?

How does one install it?

What if I travel to the EU? Can I install it while there?
I see no difference between what John actually said, and what John would say if he was a victim of a scam. Scammers do convince their victims that they are friends, in far away places. Sometimes they spend months building up this false friendship before asking for money. A giveaway is that you've never actually met the person. A simple "I've known him since childhood" or "I've met him in real life" would have cleared that up.
Indeed. Misread the doc, and I’d had two beers when I posted. Unfortunately I can’t edit it now.
this is so cool, these guys are literally from the year 3000 lol
I don't know about that. In a larger company the "candidate experience" is driven by the HR organization. They have nothing to do with day-to-day stuff you do if you're hired. Their job is to sell the company to qualified candidates. They are going to put on a show, be exceedingly accommodating, etc. (that is, if they're good at their jobs).

Also the bigger the company, the more differences there are from team to team. Maybe there's a strong overall company culture, but with large companies they operate mostly at, sort of, guidelines level. Teams, and the people in them, have more of an impact to everyone's every day life.

That being said, I think you're right if the recruiting process is full of problems, that is probably a sign there are problems at the company. Could also be that your recruiter had a bad day.
The model described in the parent comment is essentially using the database (in this case PostgreSQL, but any RDMS would do) as the hexagonal "core" in which adapters plug in to. This is a powerful pattern that works very well when you use the full features of the RDMS like constraints, triggers, views, etc. This does require "coupling" to the RDMS-specific features, which makes migrating to an alternative system difficult, but in practice this rarely happens if you choose a strong RDMS from the beginning.

You can certainly use the database as a "dumb storage" tool in the hexagonal architecture, that is, as just another adapter. But most of the time you'll end up re-creating RDMS features in poorly written/documented application code that has to interact with the database anyways. Why not just do it all in the database? With a RDMS core, hexagonal adapters can be pure functional components, making them much easier to reason about and maintain.

For more on this idea, and how to avoid pitfalls with the hexagonal pattern, I recommend reading Out of the Tar Pit [1]. It's a short but highly influential paper on "functional relational programming".

[1]: https://curtclifton.net/papers/MoseleyMarks06a.pdf
Apple has never allowed any app to jump to straight into the right Settings page on iOS or macOS.

Even apps requesting notification changes require users to click through manually.
It's nice to have these labour laws, but they only help if you find yourself in the right situation, like this guy, a somewhat senior employee who stands to get a nice payout, and can therefore afford to engage in a legal battle.

But the most vulnerable of us are new grads or people with little experience, and most of the time the abuse from the bosses falls in a gray zone, where it is not clearly illegal, but still very damaging for the future of our careers. And no laws or unions will protect you from that kind of environment.

It's also worth mentioning, with respect to Germany specifically, that there are a lot of anti-worker customs that would make Americans gasp. For example, the quasi-requirement of having pictures and other personal information on your CV, the fact that racial discrimination is an open secret even though there are laws against it, the requirement of a reference letter from your previous employer, the glass ceiling that you will encounter frequently unless you are part of the right demographic to break into management ... I could go on.

As an employee in Germany, I feel abused and helpless. Most of the laws on the books are not written to protect me.
The only thing that really protects people like me is a competitive job market.
Really just reads as an article reaffirming his own bias. For Mongo at least most of it is wrong.

- Secondaries are read replicas and you can specify if you want to read from them using the drivers selecting that you are ok with eventual consistency.

- You can shard to get a distributed system but for small apps you will probably never have to. Sharing can also be geo specific so you query for french data on the french shards etc lowering latency while keeping a global unified system.

- JSON schema can be used to enforce integrity on collections.

- You can join but this I definitely don’t recommend if possible.

- I personally like the pipeline concept for queries and wish there was something like this for relational databases to make writing queries easier.

- The AI query generator based on the data using Atlas has reduced the pain of writing good pipelines. Chat gpt helps a lot here too.

- The change streams are awesome and has let us create a unified trigger system that works outside of the database and it’s easy to use.

We run postgres as well for some parts of the system and it also is great. Just pick the tool that makes the most sense for your usecase.
Less resistant than 4096 bit RSA, so not really. Depending on what speedups pan out in real hardware.
I felt like the [mock?] indignation that it might be possible to clone a persons voice - at telephone compression levels - showed that the person did not have sufficient grasp of the situation to know if they were being scammed. The article says "Having had several telephone calls to establish it was actually her asking for help" and then later that it was "Zoom" sugguesting that it was Zoom audio-only calls.

What would be the harm in having the Austrian government confirm the debt here, supposedly the friend, the customer, and the bank all know about it already. Or indeed what would be the harm in sharing the communications -- why would you not want to.

Being set against it would suggest something like the messages saying "don't share these messages" which would be a massive fraud flag.

We don't learn if the "Edinburgh academic" was ripped off or not.

Aside, anyone have an insight into how do you suddenly get a "tax bill" from the Austrian government for 15k Euro?
> research has been caught up in the “replication crisis”,

You mean current apparent difficulties in replicating the results of many published studies; I assume ...
Your mistake there is comparing to Dublin - I live in an expensive Uk city (Edinburgh) and it’s just incredible how expensive going home to Dublin is.

The other bit is that you’re comparing living in Dublin to visiting SF. Rental prices in SF make Dublin seem cheap. You’re still probably financially better off living in SF as an engineer, but I’d rather the quality of life of Ireland/Europe
> your employer doesn't really need to have a reason to fire you.

IIRC it's much safer not to provide any either — except in Montana which I believe requires Just Cause after probation, as there are only a handful of statutory exceptions to at-will employment, and most of them are very, very hard to prove without an extensive paper trail... or the employer spelling it out when they fire you.
Thank you for posting this! VanillaJSX is refreshingly different, and we desperately need new ideas in the front-end space to reduce the complexity and get closer to the browser. I also feel like the discussion in this thread is very rich and gives people on both sides of the fence a lot of stuff to think about.

There were two groups I was hoping vanillajsx would resonate with. The first is people who still buy into the React dream but are beginning to be disillusioned with its inability to deliver on its promises, and the second is people who already are fully disillusioned.

I don't know if you've seen it, but Alex Russell just did a blog series where he directly talks about this disillusion and proposes a move away from React for most web apps: https://infrequently.org/series/reckoning/

I am not as anti-React as that myself, but I do agree it is hard to scale up and have it perform well, not at all like the promise. As always, there are no silver bullets and you have to pick a stack that you can understand.

By the way, I made my own pitch for fully vanilla web development here: https://plainvanillaweb.com/
For a round with a single interview, and a single decision maker, cutting things short can be a mercy. As a candidate, if you've bombed, it's a horrible feeling to know that you've failed but still spend 10 minutes at the end on asking the interviewers questions and exchange pleasantries.

But you're right about rounds with multiple interviewers - they obviously collect feedback from everyone before deciding.
50M rows is really not that much, I’d guesstimate an index creation to take single-digit minutes.

None of these operations I’d expect to cause downtime, or require table duplication or to be risky

Edit: to be fair, you’re right there’s footguns. Make sure index creation is concurrently, and be careful with column default that might take a lock. It’s easy to do the right thing and have no problem, but also to do the wrong thing and have downtime
sure. 1. sqlite can have more than 1 file when using wal mode. 2. You don't need to know your exact dyanmodb access patterns upfront, you can evolve the schema. again, not worth effort to point out more.
If you’ve ever been unjustly completely locked out of your finances for an extended period, it’s a bizarre experience and a wake up call. I once had a purely online bank ask me to prove my identity by mailing a copy of my passport.

The only issue was they were asking me to prove I was someone else (they sent an email to me, but referencing someone else’s name in the email).

They then locked me out because I didn’t respond fast enough and took that as suspicious activity.

When I tried to explain I couldn’t prove I was someone I was not, they tried to skirt the fact they had messed up.

Point being - banks need to protect our money, but banks make lots of silly mistakes that can ultimately harm the people they are trying to protect
GPT just lets you do this on scale. It lets you create an endless stream of legit sounding new sites and flood the news aggregators until people that only gets information by Twitter/Facebook are consuming mostly your fake media. Then, when you have captured an audience by pandering to their interests, you slowly herd them towards whatever political view/consumer habits you want. It is nothing that haven't already be done in the past, but with LLMs is like going from craftsmanship to mass-production assembly lines.
I’m going to note that you haven’t said “yes you can run uBlock Origin with browser X”.
> Neither the steering nor the brake pedal will have any adaptive feedback

I think this is probably the biggest disadvantage compared to using an actual sim wheel. In the linked video demo it looks like the driver is struggling to apply the right amount of steering and correcting after the corners. At times the game footage looks more like someone playing with a gamepad than a wheel.
>As an employee in Germany, I feel abused and helpless.

It's worse in Austria where you have at will employment with a notice period and can be laid off without any reason so many companies can subtly force you to accept a new contract or just get laid off.
The customer should confirm "I know this is a scam, release my money anyway, I take full responsibility". It's necessary to release the bank from any liability in this sort of situation. From the article it sounds like a scam.
I wish postgres had a library only mode that directly stored to a file like sqlite. That'd make starting development a lot easier since you don't have to jump through the hoops of setting up a postgres server. You could then switch to a "proper" DB when your application grows.
Short term contracts have pretty big downsides though. It's basically impossible to get a mortgage on a short term contract, or more generally any kind of loan. Even renting is difficult.

That's why many EU countries have pretty strict limitations on short term contracts, like how many you can do in a row. It results in a huge reliance on contractors.
German here. I would be very interested in the government agency you are alluding to.

There are laws regulating layoffs due to operating conditions (Kuendigungsschutzgesetz). But these laws do not allow the government to intervene directly in company affairs - that would be communism! If a company wants to restructure "for internal reasons" (rationalizations are specifically mentioned) it is allowed to do so. This includes offshoring, moving workload to contractors, or simply getting rid of a department.

However: many of the large companies (eg. SAP, BASF, carmakers,...) have collective labor agreements. These agreements often exclude layoffs due to operational conditions within a certain period. Under very special circumstances layoffs are still possible in such arrangements, but the companies have to prove their economic hardship and the layoffs often end with a sort of golden handshake. If they happen at all :)
Personally I don't care if Google removes any apps from their repo; I get all of the apps I actually care about through other means anyways.

The thing that makes this particular case feel weird to me is that the organization playing gatekeeper is also competing directly with this app.
If you're just starting a startup, go with Postgres for most things. With limited devops resources it'll be good enough in most scenarios.

You can always over optimise later on.
In Germany, every large company is required to have a worker's committee, elected by the employees. They have the ability to block certain kinds of company actions, and negotiate all kinds of policies with the company. They would probably have your back in a situation like the one described in this article.
On the one hand I agree that it's a bit silly that the messaging isn't clear. On the other hand, from my experience with Android installation, providing easy steps for end users who don't know what they're agreeing with leads to lots of malware and other nasty stuff.

Android has recently started blocking users from granting some sensitive permissions to apps from settings dialogues spawned by the app itself for this reason. You need to manually open the settings to grant the most sensitive permissions. This has the benefit of requiring the user to know what power they're granting these apps, but the process is a lot less straight-forward than this was on iOS.
I agree.

Mariadb is one of the easiest dbs i have ever used.

Easy to setup and flexible.

I prefer to use whatever makes it quicker to build something, which usually means whatever I am experienced with already.

Building products is what’s important at the end of the day.

No body cares, nor should they, what kind of tools Michael Angelo used. His art is what we value.
You can't use the word 'craft' without me thinking an article is AI generated now
Given that neither he (to the best of my knowledge) nor the general population have any formal legal training, I think that most people have views which are as sensible and well-informed as Musk's: barely at all — ChatGPT sure knows more than I do and I don't trust it either.

I think the problem is that wealth disparities make anything involving expertise (including but not limited to legal battles) increasingly one-sided as the disparity increases. This is where unions, public prosecutors, wealth taxes, class action suits, and the idea that contracts can be voided in part or in whole by courts, all play a part.
Yeah, I took July off this year and last year. Obviously that needs some up-front notice to ensure there's cover, but I tell my manager in the spring and it's fine.

Americans are very, very strange and the fact they think they're normal is part of that.
ACAS are terrific....

...a government body providing impartial advice for employers and employees to improve industrial relations. I can't recommend them enough.

https://www.acas.org.uk/
My own advice would be start with SQLite and do a trivial migration to Postgres if warranted.
In Norway, 3 months notice is the norm, and you can be expected to work it. In practice, there's rarely much value in holding people to it (though it can happen) because someone who really doesn't want to be there isn't going to be a productive employee. But lots of people do stay the 3 months because people looking to hire are also used to often having to wait 3 months to get someone on full time.
> By arguing that they weren't, what was left of your credibility for this argument has evaporated. My guess at this point is that you were probably one of the "moderation massagers" when this PR piece for Musk's Truth Social of chatbots was posted. You got irritated a little too quickly when I commented on the moderation.

You're attacking my credibility and character, instead of attacking my arguments. That's ad hominem.

> Further proof that this post was being PR-managed comes from the fact that my comment at the root of this thread was flagged many hours after the original post, maybe even a day later. Only someone who's keen on PR appearances would bother to do that, probably someone within the organization.

That's no proof of anything. Timing of the flags is random and depends on the attention of registered users. Your comment was flagged because you broke the rules [0] again:

Please don't comment about the voting on comments. It never does any good, and it makes boring reading.

An "evidence" is a fact that indicates that something is true. A comment that breaks the rules being flagged isn't evidence of anything. That line of reasoning is akin to attacking a police officer, then shouting "police brutality!" after they fight back. Yes, police brutality may exist, but it's not applicable to your particular situation.

Start following the rules, and then if you get flagged, your argument will make sense.

[0] https://news.ycombinator.com/newsguidelines.html
I'm having fun using lit-html with vanillajs, after I saw a tweet from Marc Grabanski suggesting he didn't use the full Lit library. Admittedly I am then not taking advantage of all the reactivity goodness, but I also really dislike the decorators syntax and 95% of the time I just don't need the reactivity after the first render.

It works great! I was amazed at how you can do so much in templates, it's pretty much everything I could do in Vue templates, though a little more verbose.

I built my own `VanillaComponent` class, which has a mount() method which calls the render() function which I define on the child class.

My VanillaComponent class looks like this:

import { html, render } from "lit-html";

abstract class VanillaComponent {
abstract render(): ReturnType<typeof html>;

private _mountPoint?: HTMLElement;

mount(this: VanillaComponent, target: HTMLElement) {
target.textContent = '';
this._mountPoint = target;
this._update();
}

_update() {
let templateResult = this.render();
let rootPart = render(templateResult, this._mountPoint!);
}
}

So I can write something like

class MyComponent extends VanillaComponent {
constructor(props: { label: string }) {
this._props = props;
}

render() {
return html`<button>${this._props.foo}</button>`;
}
}

Then I can instance like so:

let myComponent = new MyComponent({ label: "I am a button" });
let target = document.querySelector("#demo");
myComponent.mount(target);

The base class stores the root node (target), so later I can do

myComponent.update()

to re-render, taking advantage of lit-html's "diffing" logic.

However something I have not been able to solve with lit-html only, is when I compose parent and child components I have to do something like :

class MyDialog extends VanillaComponent {
render() {
let childComponent ... // another VanillaComponent previously instanced
return html`
<div>
${childComponent.render()}
</div>

So the child component I need to explicitly call render() to get the TemplateResult for the parent template.

But this means I can not do `childComponent.update()` because I don't know the root element of child component, since I did not mount it explicitly myself.

I mean technically because of the lit-html optimizations, I can do `.update()` on myDialog (the parent component) after any child component's props changes, and it will only re-render what is necessary... but let's say my child component has like 1000 cards... it seems very wasteful and it would be ideal if I could re-render only the child.

I wonder if there is a trick to get around that with just lit-html?
Any theory compresses experimental data (a mountain of data) into a palatable bit (pocketable item) of knowledge. One can go without theory just by stacking the original measured ratios dA -> dB. The Solutions, that are generated upon raw data, would likely produce less waste, as they fit the exact phenomena. Generalizations do emphasize the main effects and level out the minor effects, introducing an error.

The value of AI-mated research is results. This tool will aid engineering. It will offer a pinpointed research to resolve a particular issue at hand. The research will not be published. It will remain a trade secret.

What you are complaining about is a brocken labor division. Let's consider a case. An engineering department has a problem. It passes the problem to the research department. The research department slacks out, while produces junk. It makes tons of papers that are hard to prove, not to say apply. They drink champagne with other researchers, so they can publish the junk and defend the turf. AI-mated research will finish the racket and corruption. A "$15-scientist" will kill the no-output individuals, who are just a sophisticated flavor of bureaucracy. A science bureaucrat is a bureaucrat with elevated rights and virtually no responsibility.
I fixed my device tree problems on NixOS by PXE-booting the RPi4, so I get to handle the dtbs using a TFTP server: https://discussion.fedoraproject.org/t/fedora-coreos-device-...

For NixOS specific instructions, see https://juuso.dev/blogPosts/ipxe-rpi4/ipxe-nixos-edk2-uefi-b...

Disclaimer is that nowadays I moved on from ARM (at least for non-UEFI systems), because I feel like working with the preboot environments is just not worth the hassle if you need to reliably boot remote servers.
I'd like to mention that CouchDB is really useful for one reason - a very robust sync story with clients, and a javascript version called PouchDB that can run on the browser and do bidirectional sync with remote Couch instances.

This can be done with sqlite by jumping through a few extra hoops, and now with in-browser WASM postgres, there as well with a few more hoops, but the Couch -> Pouch story is easy and robust.
Just Use SQLite
Hey YC,

I built LaunchFast, a Remix Stack that helps developers and startups build and deploy full-stack web applications quickly. It’s pre-configured with TypeScript, Prisma, TailwindCSS, and more to let you focus on features, not setup.

Check it out if you’re looking for a streamlined way to bring your projects to life with Remix.

I’d love to hear your feedback or any suggestions you have!