skysight-inc/HackerNews huggingface dataset:
I sometimes see recommendations like this and I just don’t get it. It’s not like setting up a PosgreSQL databases is hard at all? And using files? That just sounds like a horrible developers experience and problems waiting to happen. Databases gives you so much for free: ACID, transactions, easy DSL for queries, structure to your data, etc. On top of that every dev knows some SQL.

What am I missing?
A well protected / maintained desk versus the usual stuff thrown into a rotting heap of other delicious-to-bugs and vulnerable-to-water items isn't a realistic comparison, so I don't get the gyst of this response.

Besides, I was talking about a set of products that are made from starch and cellulose. They'll break down real fast with the rest of the compost. Faster than your desk that also would degrade and get eaten up under those same conditions.
So basically one table for each type of node, plus one table for all edges. Neat!

How big was the relationships table? How was performance?
Highly recommend guitarist Chris Buck’s YouTube channel for sublime playing and a regular story about the history of the electric guitar in his ‘Friday Fretwork’ series.

https://youtube.com/user/ChrisBuckGuitar
We’re doing something similar at Codeball.

A single Aurora RDS database (with read replicas), with a single table called “blobs”. The blobs table has three columns: id, type, and json.

It’s scaling really really well, to many many millions of rows, and high traffic volumes (many thousands of writes per second).
Tesla fanboi brain rot on a whole different level
> There were no foreign keys

Then how did the relationship table refer to things in the thing tables?
Speak to 80,000 hours and I think they could point him/her to a plethora of resources
Who would ever want this? we are living in hell.
It's true they do less, but that's mostly a good thing. I never use helm, just scripts and kustomize.

The one thing it misses is a way to easily delete resources.
NanoVG is the closest thing I came across when I had a similar quesiton: https://github.com/memononen/NanoVG

unfortunately it doesn't seem like it's getting steady updates now unlike the last time I checked. But I imagine it's pretty mature at this point. There also seem to be ports in Metal/DX11 if you didn't want to be stuck in OpenGL.
/r/rust over at reddit
Isn't the point that legal crypto-fiat gateways will do (some of) the job for them, and ban stuff like that (beyond explicit Treasury bans) voluntarily?
> Also with Nix you just use regular shell scripts snippets for the building the packages, Guix wants you to do it all in Scheme

I'm by no means a good schemer, but I'd still take scheme over shell every time. Shell tends to devolve into something completely unreadable with even moderate complexity while scheme can make even the most complex logic nice to work with.

> Guix has none of that, they still treat packages as a separate thing from the software itself

I'm not quite sure what you mean with that, but it's sure possible (and easy) to just define a guix repo that points to all your projects repositories and make them available through the guix package manager. Guix repos are just git repos with a few lines of metadata attached.

> Easily up or downgrading individual software isn't possible as far as I can tell, you have have to roll back the complete Guix system to do so.

It's very easy actually. You declare a package definition as an inferior to a package and can pin that definition to whatever version, commit hash, tag, you want. You basically say "I want the package declared as name X, but I want it while the guix repo is at point Y. That way, the package manager knows what dependencies the package has and provide those with the right versions as well.

> NixOS just felt like a more polished and feature rich version of what Guix was doing, which given that Guix is basically a NIH version of Nix, is understandable.

On the contrary, guix is more like a more polished and dedicated version of nix. Nix's solution to hard-to-package packages is "We take everything that's needed to build this thing and freeze it in the repository" while guix will not accept anything that doesn't build completly from scratch and can thus be distributed as optional source code. The difference is very important because it allows for better packaging and more flexible versioning of the packages. Using guix, you will never run into a situation where the solution has you staring down at a binary blob and questioning your life choices.
Data races, in my experience, are not a particularly small subset of practical race conditions, particularly in Rust which tends to shy away from unnecessary mutable aliasing. YMMV of course.
The École des Arts de la Sorbonne (formerly known as the Arts faculty of the Paris I Panthéon-Sorbonne University) run a FOSS stack for the graphics design courses. Debian for the OS, Scribus and Inkscape as software taught.

Of course some students complain about it, especially seeing that some of them are already accustomed to Adobe's suite. One refrain i heard was "of course this is free software, nobody would pay for it".
On a side note, I find it a bit ironic how NoSQL was all the rage back in the last decade or so but in 2022, NoSQL DBs are racing to add SQL querying back to key value stores.

It turns out that SQL is crucial to non-app-developers such as business analysts, data scientists. Trying to setup an ETL to pull data from your MongoDB datastore to a Postgres DB so the analysts could generate reports is such a waste of time and resources. Or worse, the analysts have to request devs to write Javascript code to query the data they need. For this reason alone, I will always start with a DB that supports SQL out of the box.
It's easy to install k8s curl a helm chart too, doesn't mean you should.

What you're missing is complexity and second order effects.

Making decisions about databases early results in needing to make a lot of secondary decisions about all sorts of things far earlier than you would if you just left it all in sqlite on one VM.

It's not for everyone. People have varying levels of experience and needs. I'll almost always setup a MySQL db but I'd be lying if I said it never resulted in navel gazing and premature db/application design I didn't need.
> ads where the "x" button to close was actually covered by the ad, so ~50% of ads were being clicked when a user wanted to close them.

Even Android has patterns like these
> You wind up with two string representations in your code, and then what? Have each string function come in a pair?

As said, I don't think this is the end of the world, and I'm likely to add a number of other string representations. While it happens rarely, I don't worry about formatting a temporary string for an API into a temporary before calling it. Because most "string" things are small and dispensable. Zero-terminated strings are the cheap plastic solution that just works for submitting string-literals to printf, and that just works to view directly in a binary. And they're compatible with length delineated in the sense that you can supply a (cheap plastic) zero-terminated string to a (more serious) length delineated API. Also the other way, many length delineated APIs are designed to work with both - supply -1 as length, and you can happily put a string literal as argument, don't even have to macro your way with sizeof then to supply the right length.

> The good news is there is a fix, and I've proposed it, but it gets zero traction

I'm aware of this and I like it ("fat pointers") but I wouldn't like it if the APIs would miss the explicit length argument because there's a size field glued to the slice.
The point is that when adgjlsfhk1 doubts that Julia is slower than C, he does so from a background where "data" is a synonym for arrays of numbers, and "computing" means processing these arrays. Julia shines here, precisely because the people developing Julia have a similar focus.

In contrast, if your performance bottlenecks are IO, parsing and hash table operations, then Julia's performance will be in par with Python and get absolutely crushed by Rust (I have less experience with C, but would imagine Rust and C are about equally fast).

The major difference with Python is that Julia's implementation of these things _could_ be fast in a way that Python's can't. They just aren't.
A New Hope (2022)
It's not that there is only some moral goodness in building a business from scratch. I hate the idea of rich people just using their wealth and connections to succeed, basically using their connections to get undeserved access to capital. Society would be better off if it didn't happen.
I have a cheap Peugeot 107 with automatic and a vw golf with manual. Former is awful, really terrible, latter is a joy to use, even after 220K km, never had to change clutch. So maybe it's all about quality.
I love SQLite and use it whenever I can, but if you’re building the next Reddit, you obviously can’t live with the lack of concurrent writes. HN is fine as the write volume is really low, just a couple posts per minute, plus maybe ten times as many votes.
I bet they meant no foreign key constraints.
The original version of the post [1] cited the article "Real programmers Don't Use PASCAL" by name. For some reason it disappeared in the later versions.

[1] https://cboh.org/mel.txt
> consumer demand drives industry

And industry lobby drives government policy and regulation.

Industry apologism will not help us move towards mitigating climate crisis effects.

Industry has externalized most of their environmental costs, this needs to change ASAP.
While this is cool, I think it would be fun to try, for example, pushing a 386/VGA to its limits as well (then with an SB card, of course). Or a later computer

Or even take a modern computer, use an fb driver and just make the best demo you can. No 3D graphics, just a framebuffer
Bevy seems to be gaining momentum and it will probably keep growing as Rust gets more popular and used in game development.

So it will be very, very slow. But I can see an indie darling being made in that engine within the next 5 years.
Essential Climbing Knots
To me, its the outright refusal to spend an hour doing something you claim to be adept at, because you've failed to understand the other person's problem despite it being explained multiple times.

Maybe you just haven't hired or worked with someone who can't code yet.

It's not the liars that are being filtered out (they're easy to detect), but its those who genuinely believe they are good developers.
Why sqlite and not postgres? every sqlite tutorial or documentation or anything at all that I've seen says not to use this tool for a large database
Ask HN: How do I go about optimizing a codebase?
Say I wanted to improve the performance of a large codebase such as a compiler, runtime, web server, etc.

How do you do this? I guess you can profile it but there’s so much information that the profiler gives and I usually don’t know where to look. How do you know where to look? Are there any books, blogposts that are good to start learning how to do this?
That's a cop-out answer. You're making the claim that simply using the filesystem compared to going with Postgres somehow has less complexity and fewer (or lesser) second order effects, but you don't even indicate how come. So here's my question:

how come?
I mean if you're offering much more money for the bounty than could be earned on the blackmarket the hacker probably won't want to take the risk of double dipping.
Show HN: Liar's Dice AI
Just say that you're learning another programming language and casually mention how great it is - the Rust people will make their opinions known to you instantly.
I treat each laptop reboot (regardless of reason) as an unexpected crash.

If the laptop crashes more than once a week, I simply won't use it. If I worked at your company, I'd just BYOD, and keep your garbage laptop in a drawer, only booting for compliancy crap (and certainly not leaving it on long enough to download updates).

I've actually done this at a previous job or two. It was fine. Both (large behemoth) companies ended up cratering, at least partially due to chasing away competent employees with boneheaded corporate policies.
You can refuse upgrade on iOS. Apple provides security fixes for some time.
If the dip is really around 10% and afair home prices have risen 42% since 2019, then that's still a net 30% increase in just a few years.
Can cellular base stations still track your location via your device's IMEI?
Unity is still the engine for the vast majority of 2D and 3D games, especially VR. It feels like each has filled their niche well, and they are now bifurcating to target different audiences.

It doesn't seem to me like Unreal will ever capture the majority of the market, unless their tactics change.
IIRC VGA was at a000h and text at b800h.
>to assuage my fears about the obvious conflict of interests for the core Godot developers.

from my understanding, this is simply godot developers making a separate company for things that can never be open sourced to begin with. What conflict of interest exists now that wouldn't for people who want to champion their own engine?

If your scope was to create a game on PC for Godot, nothing changed. If it was to get a game on console, this may have made life much easier for you. If Microsoft or Epic wanted to aquire the engine for themselves, it would have happened with or without W4 games
True. And that only goes to highlight that the US consitution is not a universal inherent moral code for humanity, but ideas on how a bunch of people in a region should get along.

While this applies in this instance, it doesn't make it right.
There are literally emails leaked, that say iMessage is closed, because Apple wants monopoly in this area.

Yet in every thread recently someone spreads FUD how without uncle's Apple protection, bad world will hurt you, when reality shows that's nonexistent problem on other platforms.
Honestly Lua is one of those languages that seems decently nice to use, fairly performant, and just makes me wonder why it hasn't been adopted for use more broadly in domains beyond just like being embedded in game engines. Am I missing something?
What's wrong with fan noise? throw on headphones. If anything I wish my fans would go louder and harder. Nothing I hate more than a throttling laptop.
which reality do you live in? the one where everyone lives in a mcmansion, drives a F150 and making an international flight on their private jet every other day?

60% of the population in the US is one paycheck away from being homeless. what the fuck do you propose they do, stop eating?

begin with yourself. send the plastic toy you've typed this on to recycling and don't buy another one.
Why not just use DynamoDB at that point, would likely be cheaper.
The spammers mass send an sms spoofing a number that has iMessage. When you reply, it goes to an iPhone in the spammers hand. That way they don’t have to navigate millions of messages on the phone. Using things like blue bubbles, they can even interact via api and use a cms
>Making decisions about databases early results in needing to make a lot of secondary decisions about all sorts of things far earlier than you would if you just left it all in sqlite on one VM.

Like what? What could be easier than going to AWS, click a few things to spin up a Postgres instance, click a few more things to scale automatically without downtime, create read replicas, have automatic backups, one-click restore?

I feel like it's the opposite. Trying to put SQLite on a VM via Kubernetes will likely have a lot of secondary decisions that will make "scaling to millions" far harder and more expensive.
If it's a safety hazard, tell the OEM to repair the entire fleet.

Problem solved.
> I think it depends a lot on where you work and what sorts of projects you work on.

Agreed, even if my experience has been the exact opposite of yours. I've seen Spring be used in my country a lot, although recently Spring Boot.

On one hand, I really dislike how code is sometimes exchanged for annotations that cannot be debugged with breakpoints easily (unless you dig in to the code where the breakpoint is defined and then come up with breakpoint conditions that are triggered exactly for your code, but not the other 500 places in your app where that annotation is used) and don't allow for easy customization (vs just changing a few lines of code in the actual method body), or sometimes just don't work altogether (e.g. trying to log method execution times with something like AOP, which didn't work with Spring calls sometimes).

On the other, it's better than some of the in-house frameworks that I've seen, with sparse comments written in Lithuanian (which I really don't speak) and just bad in most respects. Honestly, most off the shelf open source frameworks/libraries that are actively supported should be good enough, be it Quarkus, Dropwizard, or something else entirely. Though at least something that's widely known and has lots of questions and answers surrounding common use cases in places like the documentation and StackOverflow. Otherwise, you're in for a bad time.
Sure, sure - it's so easy. Tell me, how's Lumberyard doing?
This article has some context and links to original sources: https://www.bleepingcomputer.com/news/google/google-talk-to-...
I recommend that all developers should at least once try to write a web app that uses plain files for data storage. I’ve done it, and I very quickly realized why databases exist, and not to take them for granted.
iMessage works on Hackintosh too
That is actually terrible. I put a new battery into my 2012 macbook and I get about that much battery life with similar usage (although my compute is done on a server).
They do transport you to the other side tho
Quite arrogant from you to assume I don't know what you said.

I'm aware of it.

Eth hasn't switched yet, the GPU problem was real and the terrawatts 'crypto' consumes is also real.

Of course I simply slightly when I don't 'bother' to name not 10 or 50 different pow blockchains but why not?

The general problem exists. It hurts us all much more than it helps and crypto threads are the correct place to comment on this issue.

And yes the current drought might not be created by crypto alone but that doesn't make it any better.
Cant help but read this and wonder if it was an strict architectural decision (I think this is what you imply?), or a "move fast and fix it later" side effect that hung around. To me it seems like your discarding a lot of safety but perhaps that's overstated in my head.
Do you have instructions on how to build the project from source so that it can be self-hosted?
Neglected Cause Area: Differential Neurotechnology Development
So I am also "really people, use PostgreSQL", because you have way less tricks you have to play to get it working compared to SQLite, in serious envs. However, some challenges with Postgres, especially if you have less strict data integrity requirements (reddit-y stuff, for example):

- Postgres backups are not trivial. They aren't hard, but well SQLite is just that one file

- Postgres isn't really built for many-cardinal-DB setups (talking on order of 100s of DBs). What does this mean in practice? If you are setting up a multi-tenant system, you're going to quickly realize that you're paying a decent cost because your data is laid out by insertion order. Combine this with MVCC meaning that no amount of indices will give you a nice COUNT, and suddenly your 1% largest tenants will cause perf issues across the board.

SQLite, meanwhile, one file per customer is not a crazy idea. You'll have to do tricks to "map/reduce" for cross-tenant stuff, of course. But your sharding story is much nicer.

- PSQL upgrades are non-trivial if you don't want downtime. There's logical upgrades, but you gotta be real fucking confident (did you remember to copy over your counters? No? Enjoy your downtime on switchover).

That being said, I think a lot of people see SQLite as this magical thing because of people like fly posting about it, without really grokking that the SQLite stuff that gets posted is either "you actually only have one writer" or "you will report successful writes that won't successfully commit later on". The fundamentals of databases don't stop existing with a bunch of SQLite middleware!

But SQLite at least matches the conceptual model of "I run a program on a file", which is much easier to grok than the client-server based stuff in general. But PSQL has way more straightforward conflict management in general
> But if we had an actually-good, cross-platform messaging standard that was implemented in the default, stock messaging app…

For billions of people that default is WhatsApp and installing it is as much a part of setting up your phone as is plugging in a SIM.
And the idea that compression is intelligence also should be mentioned: http://www.hutter1.net/ai/uaibook.htm
on par with python is way off. Julia in these areas definitely isn't fully optimized, but the performance will be much closer to something like Java for these cases. a dict in Julia will still have 1 pointer indirect compared to the python one where all your objects have 16 bytes overhead and an extra pointer indirection.
I'm in Singapore and when I read this I realised that it's been a long time since I received an SMS spam message. It must be at least 2 years. And even then they were quite rare (one ever few months maybe?).

I wonder what different telcos does differently, because I have heard about some countries where you're getting flooder by these things.
> Besides, the code or math isn't banned or illegal, the organisation is. Quite different things.

Which shows the US government still don't understand cryptography, cryptocurrencies, smart contracts, or Open Source.

The Tornado Cash "organisation" is just a bunch of researchers and open source developers, now being sanctioned for having the gaul to write code that is privacy-preserving. The Tornado Cash smart contracts live on on every chain they are deployed to, and the IPFS-hosted UI is untouched.

Amusingly, you can also prove transaction history with Tornado Cash if you want to, for example, to prove to law enforcement or a bank that your funds are legitimate. So these sanctions are only actually going to affect legitimate users who simply wanted on-chain privacy, such as "famous" people with `.ens` domains attached to their addressses.
Didn’t downvote and think your idea is reasonable, but worth noting that twitter currently needs unhashed phone numbers for:

- Account search during password recovery (lets users search for their account by phone number): https://twitter.com/account/begin_password_reset

- User discoverability and account recommendations (users who upload their address books can find others by phone number, users who share their number can be found by others): https://help.twitter.com/en/using-twitter/account-suggestion...

Hashing numbers has other implications, like support impact (some folks don’t know their own phone number), preventing the ability to offer SMS updates in countries that need it (or to reactivate that feature in national emergencies for countries that SMS support was pulled from), as well as making potential marketing, data mining, satisfying legal requests, and future feature development harder.

So your suggestion is a good one for a privacy-conscious service that doesn’t already depend on (or that is unwilling to relinquish) unhashed numbers, but it probably isn’t in the nature of twitter to seek to protect user data at the expense of existing or future features, even after leaks like this.
Yea I agree. Seems like it should have been a NoSQL solution from that start.

Even today, it should be pretty straightforward to port the data over to a NoSQL db.