gchamonlive 11 hours ago

Best stack cloud providers don't want you to know about, /dev/null for db and https://github.com/kelseyhightower/nocode for the backend.

  • nomel 10 hours ago

    I've never had a single issue with any user after moving our databases to /dev/null.

  • quietbritishjim 11 hours ago

    WTF is going on with the issues and pull requests for that repo?

    • sundarurfriend 10 hours ago

      The less substance there is to it, the easier it is to talk about.

      The Chinese comments ("issues") also seem to be the same kind of jokes as the English ones, "no code means no bugs, perfect", etc., from the few I tried getting translations of. I imagine this went viral on Chinese social media, which makes sense since it's the sort of joke that's easy to translate and doesn't depend on particular cultural assumptions or anything.

      • bspammer 34 minutes ago

        Also GitHub is one of the very few western websites with a comment section that isn’t blocked in China.

    • gchamonlive 11 hours ago

      In nocode you fix nothing and you don't change anything, that's why issues and pull requests are a mess, they literally cannot be dealt with by design.

    • fennec-posix 10 hours ago

      Had to see for myself, and yeah... that's a whole lot of chaos. I'm sure I'd get the joke if I could read Chinese though.

      • eru 8 hours ago

        Ask Google Translate?

    • SanjayMehta 10 hours ago

      They're using it to communicate in code to each other.

      • QuantumNomad_ 10 hours ago

        Well they should stop that and start communicating in nocode instead.

gunalx 13 minutes ago

You say it is always empty, but. I have seen weird issues coming from /dev/null not actually being empty but being a file or symlink (dont remember) With garbage data.

pyuser583 12 hours ago

I've used /dev/null for exactly this purpose. I have output that needs to go somewhere, and I don't want to worry about whether that somewhere can handle it.

Later on in deployment, it will go somewhere else. Somewhere that has been evaluated for being able to handle it.

In that way, /dev/null is to storage what `true` is to execution - it just works.

  • CaptainOfCoit 11 hours ago

    Bug free software is a pipe dream, but if there is anything I've never encountered any bugs with, /dev/null and true is certainly in the top 3.

    • tuetuopay 23 minutes ago

      The only bug with it was due to my own stupidity. I wanted a quick way to see how fast a drive was, thus sending one of its large files to /dev/null was fine. Except I went too fast and cp'd the file to /dev/null.

      It took a while before noticing I had no more /dev/null on the machine (read: the time needed to fill the rootfs). In a panic, I removed the file.

      Seeing the machine collapse due to /dev/null missing was fun.

    • noir_lord 11 hours ago

      Joking aside I can’t ever remember seeing a bug in either bash or zsh, never seen either crash or segfault and anytime I’ve had weirdness it’s always turned out to be me missing something.

      Both (along with a lot of the standard utilities) are a testament to what talented C programmers plus years of people beating on them in unintended ways can achieve in terms of reliability/stability.

      • 1718627440 10 hours ago

        Programs not outputting a final newline to stdout leave a prompt that doesn't start on column 0, and readline seams to not takes this into consideration, but still optimizes redraws and overwrites so you get an inconsistent display. This bugs seam to exist in a lot of shells and interactive programs. The program causing the issue isn't POSIX conform though.

        • tuetuopay 22 minutes ago

          I don't get why this is still the case on classic shells. fish properly puts the prompt on column zero, while outputting a small "line return arrow" at the end of the command to indicate it lacked one.

        • latexr 9 hours ago

          > seams

          The correct spelling is “seems”. I first assumed it was a typo, but since you did it twice I thought you might like to know.

      • probably_wrong 33 minutes ago

        Depending on how you define "bash" and "bug", funny things happen when you run on a computer with 0 remaining hard drive space.

      • AdieuToLogic 8 hours ago

        > Joking aside I can’t ever remember seeing a bug in either bash or zsh, never seen either crash or segfault and anytime I’ve had weirdness it’s always turned out to be me missing something.

        Given that this statement begins with "joking aside", I have to assume it is either a meta-joke or an uninformed opinion. Taking the subsequent sentence into account thoroughly reinforces the former.

        Well played. :-)

      • PokestarFan 10 hours ago

        I've been able to trigger a segfault in zsh with certain plugins, a directory with a lot of files/folders, and globs with a bunch of * characters.

    • MartijnBraam 7 hours ago

      Ah you've never encountered /dev/null not existing yet, so when you try to trash data it will actually create a normal file there so every other program that uses it will actually append that file.

      Luckily it's usually a tmpfs

    • SanjayMehta 10 hours ago

      False.

      Wait: that's just not true.

      Carry on.

cluckindan 12 hours ago

Always instantly consistent, always available, and perfectly tolerant of partitioning.

Truly, it is the only database which can be scaled to unlimited nodes and remain fully CAP.

  • inopinatus 9 hours ago

    Enterprise DBAs will nevertheless provision separate /dev/null0 and /dev/null1 devices due to corporate policy. In the event of an outage, the symlink from null will be updated manually following an approved run book. Please note that this runbook must be revalidated annually as part of the sarbox audit, without which the null device is no longer authorised for production use and must be deleted

  • eru 8 hours ago

    Not just instantly consistent on one machine, but globally sharded all across the universe.

  • thfuran 12 hours ago

    It's really fast too.

  • tgma 11 hours ago

    Always available? Clearly you have not experienced situations with no /dev mounted.

    • DonHopkins 10 minutes ago

      Even worse, /dev/null replaced by a normal file!

    • pasteldream 11 hours ago

      One easy way to create such a situation is to use bwrap without --dev.

  • ozim 12 hours ago

    I guess we have a perfect idea for vaporware here. (pun intended)

    I am putting my marketing hat on right now.

  • geoffbp 7 hours ago

    Is there a case where dev null can fail?

    • tgv 4 hours ago

      I can think of two: whe running out of file descriptors or memory. But then /dev/null1 would fail too.

mjb 9 hours ago

Best of all, /dev/null is also serializable (but not strict serializable) under many academic and textbook definitions.

Specifically, these definitions require that transactions appear to execute in some serial order, and place no constraints on that serial order. So the database can issue all reads at time zero, returning empty results, and all writes at the time they happen (because who the hell cares?).

The lesson? Demand real-time guarantees.

  • mjb 9 hours ago

    This doesn't work as cleanly for SQL-style transactions where there are tons of RW transactions, sadly.

dzogchen 16 minutes ago

It's ACID compliant yes, but it is not a database.

jefftk 9 hours ago

"The system transitions from one valid state to another" is clearly false: the system only has a single state.

  • mpyne 8 hours ago

    One of the first state machine you'll ever learn about in undergrad permits transitions from a state back to itself, so I don't see this as a barrier.

    • eru 8 hours ago

      And you can implement /dev/null with multiple states, as long as you make them all behave the same way.

rezonant 11 hours ago

But is /dev/null web scale?

  • epistasis 11 hours ago

    Yes, /dev/null can even power sites like zombo.com

    • bottled_poe 11 hours ago

      What’s the I/O throughput of /dev/null ?

      • epistasis 11 hours ago

        Single client, I'm getting ~5GB/s, both on an 8-year-old intel server, and on my M1 ARM chip.

        However with a single server, it doesn't perfectly linearly scale with multiple clients. I'm getting

        1 client: 5GB/s

        2 clients: 8GB/s

        3 client: 8.7GB/s

        • dinkelberg 11 hours ago

          How did you measure this? Do you know that /dev/null is the limiting factor, or could it be the data source that is limiting?

        • fukka42 11 hours ago

          I'm easily reaching 30GB/s with a single client:

              dd if=/dev/zero of=/dev/null bs=1M status=progress
          
          A second dd process hits the same speed.
          • epistasis 11 hours ago

            My artisanal architecture design uses writes with a few characters and uses unix pipes:

                yes | pv > /dev/null
            
            I hope that in my next rewrite I can advance to larger block sizes.
          • rezonant 11 hours ago

            What's the best hardware for running a /dev/null instance for production?

            • __turbobrew__ 10 hours ago

              A single resistor at ground voltage.

              • eru 8 hours ago

                That doesn't support expected features like 'stat /dev/null'.

            • epistasis 10 hours ago

              I usually do a kubernetes cluster on top of VMs. But sometimes when I really want to scale the standard cloud server less platforms all support /dev/null out of the box. (Except for Windows...)

              • wowczarek 9 hours ago

                > Except for Windows...

                copy c:\file nul

                It's been there since DOS or more likely CP/M :)

                • epistasis 7 hours ago

                  Still need an adapter library though! Fortunately there are about 7 competing implementations on npm and most of them only have 5-6 transitive dependencies.

      • CaptainOfCoit 11 hours ago

        You start dealing with Heisen-throughput at that point, it goes as high as you can measure.

yard2010 4 hours ago

I love vacously truths (not sure if this is how you say it in English)

All the people I've met in London were androids.

  • tczMUFlmoNk 4 hours ago

    The term is correct. Grammatically, we would say, "I love vacuous truths", or, "I love vacuously true statements". (To my ear the second version sounds very slightly more appropriate, because in mathematics "vacuously true" is a bit of a set phrase, but both are fine.)

simultsop 6 hours ago

You need an FAQ section, we have so many questions for this marvellous solution.

Is it portable to all linux distros?

Where is the ubuntu command to install it?

What license does it use, is it free or else?

Is it really open source or source only?

theandrewbailey 9 hours ago

/dev/null is the ultimate storageless function. It's like serverless, but for PII, and deployable anywhere!

sph an hour ago

It's ACID compliant. But it's not a database.

  • ozim an hour ago

    W just need R&D money to solve reading back from it, but that's just a matter of time we can definitely solve it in a year or two.

    This tech is just around the corner I promise, then we will be first to the market and all the big tech companies will want to buy us out, imagine how much we can earn.

    /s

    • sph an hour ago

      If you have infinite time, you can find your data in /dev/random

imcritic 12 hours ago

How does a disaster recovery plan with it look like?

  • tadfisher 12 hours ago

    There is never a disaster; reading from /dev/null will return the same result before and after any external event.

  • wolrah 11 hours ago

    /dev/null is globally redundant across almost every *nix-ish system in operation. Just reinstall your software on whatever is convenient and all the same data will be there.

  • mpyne 8 hours ago

        sudo mknod /dev/null c 1 3 && sudo chmod 666 /dev/null
    
    might do it on many systems
novoreorx 5 hours ago

What a weird title, you can say it's ACID but it's not a database

  • sevg 5 hours ago

    > What a weird title, you can say it's ACID but it's not a database

    You’re right, we should ban jokes that aren’t 100% correct!

    • novoreorx 2 hours ago

      Sorry if you feel my words mean. I'm not criticizing the joke, I just think it could make a better title, even for a joke, by adding quotes around "database" or calling it a "storage service," since it does allow data to be read. A good joke is both entertaining and difficult to deny.

hmokiguess 11 hours ago

I guess it is also idempotent then

1970-01-01 10 hours ago

So if you could somehow get something stuck in /dev/null would it cause a panic or what happens?

yuppiemephisto 7 hours ago

And the axiom of empty set is an inaccessible cardinal axiom

hshdhdhehd 7 hours ago

It is also local first, low latency, data residency compliant, SOC2 compliant, zero dependency and webscale.

keithnz 10 hours ago

took a while to pipe my multi-terabyte db to /dev/null but now that I have I'm saving a ton of money on storage.

Perz1val 2 hours ago

Don't forget to feed your void. `dd if=/dev/zero of=/dev/null bs=500M count=1`

johnfn 9 hours ago

Not only that, it provides all 3 components of CAP!

  • _joel 9 hours ago

    The Jespsen tests pass quickly too!

BiraIgnacio 9 hours ago

A strong business opportunity right there.

layer8 9 hours ago

Not on Windows.

ramon156 2 hours ago

I'm gonna be that guy, tyop at the bottom

> entreprise

DeathArrow 4 hours ago

More than that, /dev/null is infinitely scalable.

bitwize 9 hours ago

Yes, but does it support sharding? Sharding is the secret ingredient in the web scale sauce.

idontwantthis 10 hours ago

This reminds me of how I would write a HashCode implementation on intro CS exams in college:

‘return 5’

justinhj 6 hours ago

Add an mcp server and I'm in

dheera 8 hours ago

I guess /dev/null is also an excellent source of investment advice, you are guaranteed to not lose money

tonyhart7 6 hours ago

it looks promising but what about AI /dev/null usage????

charcircuit 11 hours ago

/dev/null is not a database. By this logic is a hard disk a database, is a CD a database. No. They are storage mediums. You could store a database on them, but they themselves are not a database.

Considering there is no way to read back data written to /dev/null it will not be useful for storing database data.

  • jonathrg 10 hours ago

    You can store any data as long as it doesn't contain any ones

    • saltcured 8 hours ago

      And, you don't depend on it remembering how many zeros you wrote last.

  • chrisweekly 10 hours ago

    seems you've missed the joke

    • charcircuit 10 hours ago

      It's not a funny one if it was one. Of course something is going to be a bad database if it's not a database.

      • brobbin 9 hours ago

        It's nerd humor. You're not supposed to find it funny, but nod along approvingly while noticing how awfully clever you are for noticing the attempt at being funny.

      • voidfunc 9 hours ago

        "Its not funny" says the one guy in a room where literally everyone else is laughing and riffing on the joke.

        Your humor unit might be defective.

      • jfengel 8 hours ago

        It's not a great joke, to be sure. But the essence of it is that it's a good database, by relevant but inappropriate standards.

        • tgv 4 hours ago

          Insufficient/incomplete rather than inappropriate, perhaps?

  • sevg 4 hours ago

    [dead]

QuiCasseRien 11 hours ago

Fast and easy to read, funny and fuckingly true !

best post of the week ^^