Hacker Newsnew | past | comments | ask | show | jobs | submit | malone's commentslogin

Why is the commit frame not sufficient to determine whether the transaction was fully written or not? Is there a scenario where the commit frame is fsynced to disk but the proceeding data isn't?


The disk controller may decide to write out blocks in a different order than the logical layout in the log file itself, and be interrupted before completing this work.


Just wondering how SQLite would ever work if it had zero control over this. Surely there must be some "flush" operation that guarantees that everthing so far is written to disk? Otherwise, any "old" block that contains data might have not been written. SQLite says:

> Local devices also have a characteristic which is critical for enabling database management software to be designed to ensure ACID behavior: When all process writes to the device have completed, (when POSIX fsync() or Windows FlushFileBuffers() calls return), the filesystem then either has stored the "written" data or will do so before storing any subsequently written data.


A "flush" command does indeed exist... but disk and controller vendors are like patients in Dr. House [1] - everybody lies. Especially if there are benchmarks to be "optimized". Other people here have written up that better than I ever could [2].

[1] https://house.fandom.com/wiki/Everybody_lies

[2] https://news.ycombinator.com/item?id=30371403


It’s worth noting this is also dependent on filesystem behavior; most that do copy-on-write will not suffer from this issue regardless of drive behavior, even if they don’t do their own checksumming.


We still have the elevator algorithm on NVMe?


NVMe drives do their own manipulation of the datastream. Wear leveling, GC, trying to avoid rewriting an entire block for your 1 bit change, etc. NVMe drives have CPUs and RAM for this purpose; they are full computers with a little bit of flash memory attached. And no, of course they're not open source even though they have full access to your system.


Skynet gotta start somewhere.


Anything that uses NAND storage technology is going to be optimized in some way like this. NVMe is just the messenger.


SQLite runs on anything from servers to Internet-connected lightbulbs.


Which lightbulbs include SQLite? I kind of want one.


these guys have a Cree logo on their homepage so maybe Cree?

https://imaginovation.net/case-study/cree/

At least what I could turn up with a quick web search.


> The data in the article proves Gary's point. Not only is income tax brought in less now, but more taxes are VAT

Does the article data show that? Looking at the tax % graph the ratio between Income+NI and VAT+Stamp duties has been pretty constant (apart from a brief time in the 70s)

https://taxpolicy.org.uk/wp-content/uploads/2025/05/image-1....

> In other words, the poorer people in society are taking on a bigger share of taxes.

Seems unlikely. The article shows that high earners are paying are far greater share of income tax. Poorer people would need to be buying a crazy amount more stuff to offset that with VAT.

The UK is in a fairly unique position where its GDP per capita has been stagnant for decades. Which means it's slowly sinking under inflation. It's been going on for so long that the people at the bottom of the boat are now drowning (which I agree is deeply unfair). But no amount of redistributing people between the decks is going to actually fix the problem.


>The UK is in a fairly unique position where its GDP per capita has been stagnant for decades. Which means it's slowly sinking under inflation.

No it's not. The charts showing "stagnant" GDP have already adjusted for inflation, which means it's not "slowly sinking under inflation".

https://ourworldindata.org/grapher/gdp-per-capita-worldbank?...


They give a lot of characters/vbucks away for free. I have a whole list of skins (including the 3 you mentioned) and have never spent any actual money on fortnite.

I can't deny they've made a crazy amount of money from convincing teenage boys that it's cool to buy outfits and play virtual dress-up. But compared to the must-have items of my youth at least you aren't excluded if you have no money.


If this is true why does Apollo need its own server at all? Couldn't the client make requests directly to the reddit api servers instead? Then each user could use their own api key, rather than Apollo having to pay millions for a single key that accommodates everyone.


Theoretically it could do it all from the app, but it would have to resort to background updates, which are scheduled at iOS’ discretion. Christian was aiming for consistency, which is why this exists.


The main reason is push notifications. A lot of the communication can be direct, but not the push notifications.


Now it's open source, you can look at the code and find out why.


I've just been practicing Ian's fastest knot for the last 10 minutes and I can definitely see the speed advantage already.

My only issue is in keeping the starting knot tight. I usually use the standard shoelace knot which makes it easy to keep tension on the lace at all times, and that keeps the starting knot tight. But I'm finding with Ian's fastest knot I lose tension when I'm pushing the two loops towards each other, which causes the starting knot to loosen slightly. Is that something that can be solved with more practice?


I don't know when I made this change, but apparently I use my middle finger to hold down the starting knot. I tie it exactly as pictured (left hand/yellow string behind, right hand/blue string in front), except starting at step 1 my left hand middle finger is holding down the starting knot. This keeps the tension while tying the knot.


Try the Double Start Knot on Ian's page, it holds the tension better

http://fieggen.com/shoelace/doublestartknot.htm


It might be fun to engineer a gzip stream that uncompresses to something huge, and then serve that instead. I wonder if you could compress it enough that the limiting factor becomes the clients disk write speed rather than the network.

It'd be amusing to see people fill their disks at a far faster rate than they expect their network connection to allow.



Thank you for writing that. I'm going through a rough patch at the moment and you've really given me a moment of clarity. I've realized that there is at least one person in my life that I should be considering a friend which I didn't previously, and one friend who I should really downgrade to an acquaintance.

If you ever find the time to write down more of your thoughts about friendships I'd definitely be interested in reading them.

I struggle to make new friends. The standard advice seems to be to go to meetups, do volunteering, and join sports clubs. I've tried those and can't get them to work for me. There's something more to it than just being in attendance.

I think you're definitely right about that tangible point where things change, and I never manage to quite get there. I don't know if that tipping point is something you can instigate or if you just have to leave it to chance.


I like your solution to prevent the kernel from interfering with your packets.

An alternative method I've used in the past is to add an iptables rule to silently drop the incoming packets. libpcap sees the packets before they are dropped, so you'll still be able to react to them, but the kernel will ignore them (and therefore won't attempt to RST them).


They are using node-webkit which means any javascript has unrestricted access to the nodejs api http://nodejs.org/api/. It wouldn't be hard to do something malicious with those low level filesystem, network and process modules.


I have a bodged together standing/bed desk - http://imgur.com/Ia9GNwL

I tend to stand behind the desk during the day and recline on the bed in the evenings. I do find reclining with the suspended monitor is very comfortable (sometimes i'll lie almost horizontal with the monitor directly above me) but I think I'd struggle to do a full days work like that.


interesting way to manage the space in a optimal way but coding on bed, that's not for me.


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: