brian

joined 2 years ago
[–] brian@programming.dev 0 points 2 months ago* (last edited 2 months ago) (2 children)

a bool is actually a single bit, the rest is all padding

[–] brian@programming.dev 2 points 2 months ago (4 children)

c++ guarantees that calls to malloc are aligned https://en.cppreference.com/w/cpp/memory/c/malloc .

you can call malloc(1) ofc, but calling malloc_usable_size(malloc(1)) is giving me 24, so it at least allocated 24 bytes for my 1, plus any tracking overhead

yeah, as I said, in a stack frame. not surprised a compiler packed them into single bytes in the same frame (but I wouldn't be that surprised the other way either), but the system v abi guarantees at least 4 byte alignment of a stack frame on entering a fn, so if you stored a single bool it'll get 3+ extra bytes added on the next fn call.

computers align things. you normally don't have to think about it. Consider this a TIL moment.

[–] brian@programming.dev 2 points 2 months ago (6 children)

sure, but if you have a single bool in a stack frame it's probably going to be more than a byte. on the heap definitely more than a byte

[–] brian@programming.dev 2 points 2 months ago (1 children)

I mean, that sounds sorta like JWTs which are used commonly enough for this type of thing

[–] brian@programming.dev 2 points 2 months ago

why would you need to salt long random strings?

also if you salt them you have to have an id too so you can look up who's api key it is. otherwise you can just look up the key hash to get everything

[–] brian@programming.dev 1 points 2 months ago

why would you need to salt long random strings?

also if you salt them you have to have an id too so you can look up who's api key it is. otherwise you can just look up the key hash to get everything

[–] brian@programming.dev 2 points 2 months ago (8 children)

things that store it as word size for alignment purposes (most common afaik), things that pack multiple books into one byte (normally only things like bool sequences/structs), etc

[–] brian@programming.dev 1 points 2 months ago

devil's advocate: other sellers would still do it if they didn't, which would make ticketmaster's tickets look more expensive initially. a law makes everyone equal again so they can compete on price/etc directly

[–] brian@programming.dev 2 points 2 months ago

yeah, if you bind ctrl c and ctrl v to copy and paste keys, you can get the same behavior in terminals and other apps that have weird default bindings for ctrl c and v for historical reasons

[–] brian@programming.dev 1 points 2 months ago

it is nice to be able to plug your keyboard into a new computer and have all your shortcuts and layout set up though. I do that so I have the same layout and shortcuts on my personal and work computers regardless of os

[–] brian@programming.dev 4 points 2 months ago (2 children)

no, there are dedicated keycodes for copy and paste, and you can bind them to whatever

[–] brian@programming.dev 3 points 2 months ago

ctrl v is convention for paste, but plenty of things (ex terminals) use that for something else. this is a universal (wrt the app receiving it) keycode that means paste. it lets you bind a key, or a keyboard shortcut, to the paste key and paste in any app. without this it isn't possible.

it doesn't even have to be a new programmable keyboard. there exist software key remappers for linux.

you could remap a mouse button to paste, you could remap ctrl v to always paste regardless of the app, etc., all in software, all not possible before.

view more: ‹ prev next ›