HN user

foxhill

1,288 karma
Posts4
Comments502
View on HN

i do wonder how something like this can be generally implemented. i presume this must only support a subset of SQL/plpgsql, as some things would be.. utterly insane to manage manually. e.g., if i have a table with a btree-gist overlap constraint, or some inclusion-exclusion check-constraint (or literally any constraint that requires multiple rows to be fully determined - there are quite a lot of them), how on earth does this work?

there's a reason why postgres writing is (mostly) serialised (asterisk) to a single writer (asterisk asterisk). something something ACID, but in short by having multiple writers improves availability, but weakens integrity.

that's a nice example. on my M4, i measured 3.4s vs. 0.42s. honestly surprised there's ~10x improvement to be found.

as you've pointed out, you've literally micro-optimised this - isn't this what you'd expect? :)

huh. very cute. in the past, i had an idea for terser lambda syntax, similar to C#'s expression body functions - which i did end up implementing in clang:

    auto sum = [](auto a, auto b): a+b;
but this is something else. i didn't think i'd like it at first, but actually i think i might be coming around to it. the.. dollar syntax is regrettable, although it's not a show stopper.

you’re conflating reaction times and latency perception. these are not the same. humans can tell the difference down to 10ms, perhaps lower.

if you added 200ms latency to your mouse inputs, you’d throw your computer out the of the window pretty quickly.

what a miss.

i’d consider myself a day-to-day c++ engineer. well, because i am. i like lots of things from rust. there’s a few things i don’t. c++ has a lot to learn from rust, if it is to continue to exist.

but really.. isn’t this the point of the language? you need to understand the borrow checker because.. that’s why it’s here?

maybe i’m missing something.

friends. you understand that you can just.. take it off, right?

fully unscrew the cap then just either continue twisting the cap over the the edge - honestly effortless - or just.. pull it off? the cap still functions as a cap, afterward.

apologies, but i don’t understand the furore over this change.

apologies, i wasn't being specific; none of what i said necessitates a CRT display, it was only as an example of how an older technology had less latency.

if modern a modern 60Hz LCD/OLED display couldn't get beneath 16.6ms latency, then what exactly is tearing?

you don't need to "beam race" to achieve sub-frame latency - you don't need to be accurate. switching off vsync should, principally, be enough to achieve this.

otherwise, yes, modern APIs go out of their way to avoid the possibility of this (the dreaded "tearing" artifacts you see from the frame buffer being changed during the transmission of the video signal to the monitor). i don't believe older techniques like you've mentioned are at all possible today, and only really made sense to talk about when analogue displays were the norm.

An application with 10 frames of latency will be faster on a 1 kHz display than a perfectly coded application on a 60 Hz display.

thats actually not true. you seem to be implying that the best a 60hz display can manage is 16.6ms of latency. indeed that is the worst case value, but you should consider that early graphics technologies involved changing display modes mid scan.

it’s actually not ridiculous to suggest that old platforms had sub-millisecond latency; they did. if the scanline was on, or just before, the line where you would interact (i.e., the prompt line), the text you enter would appear immediately.

of course, “vsync”, tear free, and such like approaches “fixed” this - necessarily by adding at least a frame’s worth of latency - but also adding perceptual latency.

it’s an oft-overlooked aspect of refresh rates. a 60hz CRT, without vsync, still has the lower bound of latency lower than a 120hz display. perhaps even 240hz.

i’ve used two 240hz displays for years now. i’ll never go slower than that.

correct me if i’m wrong, but i believe the point that is trying to be made is;

a system user/admin has an intuition about files. saying that ‘journalctl -f -u’ (fu, indeed :) and whatever else is inherently undiscoverable, and is a.. basically orthogonal mechanism for handling what should be a simple task. i.e., viewing some logs. it’s far easier to compose and extend from files (what if i only care about the mtime of the log, for instance), than this.

look, i think systemd isn’t.. terrible. i also think it’s suffered a bit of complexity fetishisation, and it seems as though that this resulting complexity may have become invisible to you.

run0 doesn’t seem like a bad idea. but i am wincing a bit at the thought of unrestricted javascript determining access control.

the (presumably) stateless, serverless function that appears to serve the site has.. crashed?

i dunno, i feel like the wording of this error message could be improved :)

i am quite familiar with compiler internals :)

of course, across the TU boundary things get difficult, but i don’t think it’s fair to dismiss LTO entirely (although.. i agree with the thesis that it’s not particularly.. good)

similarly, de-virtualisation is an optimisation technique compilers will aggressively use to improve performance, although you’re right that it can’t look through another source file, so it is not without limitations here.

but we’re not being general, we’re being specific; the safety issues that are being discussed are well within the remit of the c++ type system here, and i don’t think we’re doing any favours to anyone by letting this rvalue be accessed in this way. it is certainly not idiomatic to provide library code that can so violently implode with seemingly regular use. i find it difficult to believe that lifetime issues like this are undiagnosable.

ah, sorry, i didn’t read that correctly.

perhaps for values like this you’re fine. i think my point still stands about the reader of a built-in list/sequence type, surely?

and, not to sound facetious, that’s exactly what optimisers do :)

the c++ type system is more than capable about reasoning about lifetimes, the issue is that, with c++, it’s an optional part of the language. also, the lack of non-destructive moves. but to require both of those things in the language would require, essentially, the borrow checker in rust.

i could be wrong, but i’m reasonably confident that this is UB for even trivial types? someone more knowledgeable with the language lawyering would need to opine one way or the other.

regardless of that outcome, i think i’d prefer to require a value preserving the lifetime of the reader/view. in the cases that it may not be necessary, i'd prefer to lean on the optimiser to take care of it..!

apologies, perhaps i’m missing something here, having not used cap’n proto in any context at all before.

is it not possible to delete the rvalue reference overload of ‘getList’?

as far as i can tell, the error producing code wouldn’t have produced a diagnostic, but failed to build in the first instance, like the rust case?

the optics are already less than ideal for apple. beeper mini dismisses the any technical challenge apple may claim a hurdle to android having iMessage.

i don’t doubt this will also get shutdown in the near term, but i’m 70% confident in a surprising acquisition & continued support from apple in the longer term.

it will be hard for apple to continue to claim they are pro-user when they appear to be this hostile toward android users.

How I got here 3 years ago

presumably because OP was traumatised by this interaction with law enforcement that - had things been only subtly different - could have been a catastrophic event in their life.

there wasn’t a moral crime here - MDMA is widely regarded to be.. safe (please don’t bite on that, i mean to say that current research indicates that it’s probably less dangerous than alcohol). so why should that have been so traumatic?

yes, as opposed to the stock market; if i go buy AAPL calls, i can’t expect to manipulate apple’s share price by, say, buying a bunch of iphones.

conversely, i can’t buy puts, hoping that my stock sell off will effect them being in the money at expiry.

something something market forces and what not, but the long and short of it (no pun intended) is that.. if it were profitable, people would be doing it.

insider trading is illegal for numerous reasons, “abuse of trust” isn’t wrong, it’s just wholly incomplete.

oh god i just updated to ubuntu 22.04 and it’s a been a nightmare. i use firefox, and ubuntu want me to use the snap-based distribution now. it didn’t tell me that’d be a thing, so i was surprised when opening firefox that:

* it took ages to start up cold

* my window theming was ignored

* my bookmarks and extensions were just.. gone

* this was marketed as a benefit to me

infuriated, i added the mozilla PPA, and told apt to get firefox from there. that was fine, nothing was deleted, and it all worked again.

imagine my next surprise, when i go to use it the next day, and the snap variant was back! running ‘apt dist-upgrade’ fixed it again, but this happens every day. something is silently re-installing firefox every night, and i have run out of energy to find it and stop it.

when i next have the time, i’m dropping this distro and switching to arch or even perhaps gentoo again.

but hey, at least with linux i have the choice :)

oh, and whilst i’m here, wayland is still - unfortunately - not desktop ready.

it's a LLM. none of them have human decency. none of them understand anything - so how could they?

The murder bit though - people do Google “how to poison my wife” or whatever, and that turns up as evidence in trials.

"weapon, motivation, oppertunity" are - generally speaking - the threshold for a murder prosecution. no one is getting convicted of murder because they googled how to kill someone (in isolation, at least).

A local LLM can discuss in more detail and answer the parts you need clarified. All with no trail of logs.

ah, so, perhaps the government should also be keeping an eye on our book purchases, library rentals, etc.?

apologies, but i don't buy your dismissive assertion that the harm is non-zero.

i don’t think that’s a sensible reading or conclusion from OP’s comment.

indeed, your conclusion appears to desire the very thing OP was calling in to question without justification - the existence of that authority figure.

why do you think people should be told how to be? remember it’s more frequently been the law that has outlawed being gay, or say, more recently in florida, wearing the wrong thing.