Search logs:

channel logs for 2004 - 2010 are archived at http://tunes.org/~nef/logs/old/ ·· can't be searched

#osdev2 = #osdev @ Libera from 23may2021 to present

#osdev @ OPN/FreeNode from 3apr2001 to 23may2021

all other channels are on OPN/FreeNode from 2004 to present


http://bespin.org/~qz/search/?view=1&c=osdev2&y=24&m=4&d=8

Monday, 8 April 2024

08:33:00 <pitust> heat: the oracle free tier seems so generous because the arm cores is are suck iirc
11:21:00 <Ermine> i tried xonotic
11:44:00 <Cindy> fun fact
11:45:00 <Cindy> with a switch case that returns certain values depending on the value of a variable, GCC generates an array and a mov instruction
11:45:00 <nikolapdp> that's neat
11:45:00 <nikolapdp> are you still working on your emulator
11:45:00 <Cindy> with a switch case that adds certain values to the same variable dependingon the value of a variable
11:46:00 <Cindy> GCC will generate a more inefficient compare instruction and jump instructions
11:46:00 <Cindy> nikolapdp: yes
11:47:00 <nikolapdp> how's that going
11:47:00 <Cindy> fine, i guess
11:47:00 <Cindy> i decided to do a size optimization
11:47:00 <Cindy> by putting an array of cycles a CPU type should take, and adding that
11:47:00 <Cindy> instead of a switch case
11:47:00 <Cindy> because GCC is too dumb
11:49:00 <nikolapdp> lol
11:55:00 <Cindy> with switch case: 47416 bytes, with array and stuff: 47416 bytes
11:55:00 <Cindy> i am the dumb one
11:55:00 <Cindy> not the compiler
12:31:00 <Cindy> nikolapdp: what do you think about a function callback that gets called everytime an instruction gets decoded
12:31:00 <Cindy> with the decoded instruction structure
12:32:00 <Cindy> and then whenever the CPU will access code from a block, it will call another function that gives it the decoded instructions for that block
12:32:00 <Cindy> or none
13:22:00 <nikolapdp> Cindy that sounds slow
13:22:00 <nikolapdp> indirect calls are just slow
13:24:00 <Cindy> nikolapdp: well, how can i handle it?
13:25:00 <zid> interps are odd, they're slow no matter what you do, so do you really care? or is it because they're slow you should try to shave cycles on dispatch?
13:36:00 <Cindy> i mean
13:50:00 <Cindy> i want to make a cached interpreter
13:52:00 <zid> nikolar: a student is reading a text in class and starts off “Goethe was a great poet” whereupon the teacher interrupts him and says “oe is pronounced as ö”. The kid starts again and says ”Göte was a great pöt”
13:52:00 <nikolapdp> lol
13:53:00 <Cindy> gote was a great pot
14:00:00 <FireFly> Goatpot the great, gotcha
14:56:00 <heat> pitust: some benchmarks i saw had it rip through their AMD free tier offering
14:56:00 <heat> sooo
14:56:00 <heat> https://jiuyu.medium.com/oracle-cloud-ampere-a1-cpu-benchmarks-6464ef43593d 6.5x faster
14:56:00 <bslsk05> ​jiuyu.medium.com: Just a moment...
14:59:00 <heat> and in any case, the ampere cores should be high perf and speculate well, which will help find funny ARM issues i'd guess
16:41:00 <Ermine> Fast, a lot of ram. It's the bargain of the century
16:43:00 <heat> Ermine: yeah but you need to sell your soul to oracle
16:43:00 <heat> you'll start doing Oracle Math with Oracle Numbers
16:43:00 <Ermine> There had to be a caveat
16:44:00 <heat> Oracle Alpine Linux
16:44:00 <heat> with pre-installed MINIMAL Oracle Java
16:45:00 <Ermine> I'm sure there are more MINIMAL jvm implementations
16:46:00 <Ermine> https://en.wikipedia.org/wiki/List_of_Java_virtual_machines
16:47:00 <heat> gcj gcj gcj
16:47:00 <Ermine> tinyvm!
16:47:00 <Ermine> gcj is aot compiler, isn't it
16:48:00 <heat> was
16:48:00 <zid> it's no longer aot, or no longer extant?
16:49:00 <heat> it ded
16:49:00 <zid> rip extantness
16:51:00 <pounce> extantn't
16:51:00 <Ermine> Seems like there's a lot of dead java impls
16:51:00 <zid> There's just a lot of dead java
16:52:00 <zid> java needs a jvm porting and maintaining for java programs to stay working on a platform
16:52:00 <zid> as those platforms die or lose corporate relevence etc, so do the jvms
16:52:00 <Ermine> heat: we also need MINIMAL Oracle DB
16:52:00 <Ermine> for Oracle Alpine Linux
16:52:00 <heat> Oracle Minimal Oracle DB
16:53:00 <Ermine> or at least oracle db compiled for musl...
16:53:00 <heat> you mean Oracle Libc
16:54:00 <heat> we'll all be properly vendor-locked-in to Oracle in that not-so-distant future
16:54:00 <Ermine> I mean Oracle musl
16:55:00 <GeDaMo> https://news.ycombinator.com/item?id=18442941
16:55:00 <bslsk05> ​news.ycombinator.com: Oracle Database 12.2. It is close to 25 million lines of C code. What an unimagi... | Hacker News
16:57:00 <Ermine> On the one hand, hackernews isn't trustworthy
16:57:00 <heat> the testing situation is not so different from linux's
16:57:00 <heat> as-is the case with all complex software
16:57:00 <zid> heat: Can't come soon enough
16:58:00 <Ermine> On the other hand, oracle is old, clumsy and bureucracy-ridden, so it's unsurprising
16:58:00 <zid> I like how I agree with everything that guy says, and come away with the exact opposite conclusion, GeDaMo
16:58:00 <zid> "it requires you to understand the code before you can modify it, the horror!"
16:58:00 <zid> "You need to submit changes *after* they are tested!"
16:58:00 <Ermine> Onyx tests are much faster!
16:58:00 <heat> well yes because they're very basic and fucking suck
16:59:00 <Ermine> They suck, but how fast!
17:00:00 <heat> the testing intel does on individual linux patches goes something like: run selftests (but you as the dev should've run that already, if relevant), run tens of different stress jobs on the patch
17:00:00 <heat> and i'm not sure if they run xfstests which is its own suite of 500 or so filesystem unit tests for common problems and regressions
17:00:00 <zid> throw it into -next for 5 months, ship silicon that actually uses the feature in 4 years
17:00:00 <zid> bugfix the immediate issues with reality not matching the spec hopefully before customers get them
17:00:00 <heat> no, this is testing intel does as CI, for free, for random patches
17:01:00 <zid> fail
17:01:00 <zid> write it down as errata
17:01:00 <Ermine> anyway, I sould my soul to open source games
17:01:00 <Ermine> xonotic is not too bad
17:01:00 <heat> they also build your patch in tons of different configurations to make sure it's not slightly borked on like s390 randconfig when CONFIG_DRM=y but not =m
17:02:00 <heat> you should sould your soul to me
17:02:00 <heat> i am a trustworthy individual with vast soul-managing skills
17:03:00 <zid> heat only uses blood magic, don't believe him
17:03:00 <zid> he doesn't want to fix your soul he wants to use it in a ritual to summon the dark lord
17:03:00 <Ermine> you know that part of my soul is yours already
17:05:00 <zid> do you think nikolapdp is home yet
17:48:00 <zid> balatro is being mean still, won't give me my final joker
17:49:00 <zid> I'll give it another 4 or 5 hundred attempts
18:05:00 <zid> remember to stare directly at the sun
18:06:00 <zid> It is invigorating for your eyeballs
18:06:00 <Cindy> yes
18:06:00 <Cindy> stare at it
18:06:00 <Cindy> remember to learn braille afterwards
18:06:00 <heat> especially if you're looking at a solar eclipse
18:07:00 <Cindy> reminds me
18:07:00 <Cindy> I USE ECLIPSE
18:07:00 <heat> i've been using intellij lately
18:07:00 <heat> i don't regret it, beats eclipse up 10-0
18:07:00 <Cindy> i use eclipse to write C
18:07:00 <Cindy> and python
18:07:00 <heat> yes which is BIZARRE
18:07:00 <Cindy> not java
18:07:00 <heat> why would ANYONE do that
18:07:00 <Cindy> because it's a comfy editor
18:08:00 <Ermine> intellij vs vscode
18:08:00 <Ermine> fight!
18:08:00 <zid> ncie mazatlán removed the solar filter
18:08:00 <Cindy> it has support for meson and cmake
18:08:00 <heat> i can get a better experience with clangd + vim
18:08:00 <Cindy> wahtever
18:08:00 <Cindy> i prefer eclipse
18:08:00 <zid> heat you get to see the eclipse a little bit right?
18:08:00 <Ermine> Literally everyone supports meson and cmake
18:08:00 <zid> I'm too fast east
18:08:00 <zid> far
18:08:00 <heat> oh is there an eclipse coming?
18:08:00 <heat> huh
18:08:00 <Ermine> what about sublime text
18:08:00 <zid> yea in like.. a couple minutes for you?
18:09:00 <heat> is this a motherfucking java reference
18:09:00 <zid> 47 mins for ireland
18:09:00 <zid> but I'm EAST OF ENGLAND so I won't see anyuthing
18:09:00 <heat> oh it's not visible here :(
18:09:00 <zid> it is in ireland, are you too far south?
18:09:00 <heat> maybe
18:09:00 <zid> I figured you'd be west enough
18:09:00 <zid> but I guess too low
18:10:00 <zid> it's hard to visualize great circles
18:10:00 <Ermine> Also, ix
18:10:00 <Ermine> xi*
18:10:00 <Ermine> it's in RUUUUUUUUST
18:10:00 <heat> what does comrade xi have to do with this
18:11:00 <GeDaMo> https://cdn.star.nesdis.noaa.gov/GOES16/ABI/FD/GEOCOLOR/latest.jpg
18:11:00 <Cindy> also
18:11:00 <Cindy> I WRITE RUST IN ECLIPSE
18:11:00 <zid> I knew america was a black hole
18:11:00 <Cindy> and compile it from eclipse
18:11:00 <zid> finally proof
18:11:00 <heat> why
18:11:00 <heat> whyyyyyyyyy
18:11:00 <zid> mazatlán stream is in like 200p :(
18:11:00 <zid> Someone will post 4k pictures though I guess
18:12:00 <heat> i'm sad i won't get to watch the eclipse
18:12:00 <heat> portugal fucking sucks
18:12:00 <heat> tinpot country
18:12:00 <zid> were you alive for the one when I was like 8
18:12:00 <zid> 1999
18:12:00 <Ermine> comrade xi directs us to bright rusty future!
18:12:00 <heat> no
18:12:00 <zid> cornwall got it, I didn't get full totality, I got the diamond ring thing
18:12:00 <heat> i was born in 02
18:13:00 <zid> smh not even born in the correct millenia
18:13:00 <heat> but really i only remember the one trump tried to look at directly, i don't think it was visible here either
18:13:00 <zid> nah the US is huge so it gets a load of them
18:13:00 <Ermine> ohh you're younger than me
18:13:00 <zid> northern spain gets one in 2026 heat
18:14:00 <zid> https://nationaleclipse.com/maps/images/map_08122026_1.png
18:14:00 <zid> You and gog can do a roadtrip + eclipse party
18:14:00 <heat> yesssss
18:14:00 <heat> i wanna go blind with gog
18:14:00 <heat> then write java
18:14:00 <zid> I have to wait until erm.. 2090
18:15:00 <zid> when I am 100
18:15:00 <heat> looking at the eclipse IDE actually gets you blind as well
18:15:00 <zid> a month before my 101st birthday
18:15:00 <Cindy> heat: eclipse dark mode
18:15:00 <Cindy> i always used eclipse in dark mode
18:15:00 <Ermine> I used debian for a while
18:16:00 <Ermine> I wonder how I didn't get blind with those cringe fonts
18:16:00 <zid> windows has super cringe font rendering
18:16:00 <zid> I miss linux just for opentype
18:16:00 <heat> we'll have a total eclipse in spain in 2027 too
18:16:00 <zid> AA FONTS <3
18:16:00 <zid> Fuck I love opentype, cleartype can suck a huge bag of dicks
18:17:00 <zid> I tried a janky freeware app that made GDI use opentype once, it sorta worked, but a lot of apps use like, GetFontMetrics or whatever and other crazy stuff and end up breaking
18:17:00 <zid> like that classic cs1.6 wine bug
18:17:00 <zid> that was the best thing
18:17:00 <zid> heat do you know the cs1.6 wine bug
18:17:00 <heat> no
18:18:00 <zid> cs1.6 wouldn't run under wine for ages and nobody could figure out why because it was an application crash
18:18:00 <zid> It was rendering the ingame chat to a fixed size texture, but the pirate/copyleft fonts on linux machines were slightly different
18:18:00 <zid> so it'd draw outside the texture
18:19:00 * Ermine tries out lapce
18:23:00 <dzwdz> was the out of bounds write in cs itself or in some api call that it made that expected a bigger buffer?
18:23:00 <dzwdz> (also hi)
18:26:00 <zid> memcpy from their freetype's output to the texture as far as I know
18:26:00 <zid> Like, if you do opengl games you gotta link against gdi/freetype/opentype/etc then ask them to draw you some glyphs, then you copy them to a texture atlas or whatever
18:26:00 <zid> then chop it into rectangles when you wanna render text
18:28:00 <dzwdz> i'm just wondering why they thought hardcoding the font dimensions was better than getting them dynamically
18:28:00 <dzwdz> that must've been more effort
18:28:00 <zid> I mean yea, asking about font metrics and stuff is a waste of time
18:28:00 <zid> if you know the font you're using
18:29:00 <zid> extra code that exists only to slow it down
18:29:00 <dzwdz> surely that's negligible though
18:29:00 <zid> people love writing that shit
18:29:00 <dzwdz> you only have to do it once
18:29:00 <zid> what do you do if you get the 'wrong' answer though? bail? write a fully resizeable buffer implementation, etc?
18:29:00 <zid> once per game
18:29:00 <dzwdz> but i guess that makes sense
18:30:00 <zid> thankfully the source engine uses a much cooler font rasterizer
18:30:00 <zid> signed distance fields!
18:30:00 <heat> might've just been harder to get the font's dimensions
18:30:00 <dzwdz> wait, they're using them for the ui too?
18:31:00 <heat> and the easy answer is "lol, this is M x N, cuz its THIS font"
18:31:00 <zid> idk about the ui actually, I think the ui is scaleform isn't it
18:31:00 <zid> so flash handles all that part
18:31:00 <heat> for go it is, might be for 1.6 too
18:31:00 <dzwdz> heat: i mean since the memcpy overflowed they must've got the font dimensions anyways
18:31:00 <zid> no?
18:31:00 <heat> could've also been something like
18:31:00 <zid> you tell it to render 'abcdef...' to a 1024x8 strip
18:31:00 <dzwdz> i'm pretty sure go switched away from scaleform
18:32:00 <zid> then memcpy 1024*8 bytes
18:32:00 <zid> in source 2, yes
18:32:00 <zid> I was talking source
18:32:00 <dzwdz> no, way before source 2
18:32:00 <dzwdz> 2018ish?
18:32:00 <zid> oh right
18:32:00 <heat> unsigned char buffer[50000]; /* Surely enough to render a 9x16 font */
18:32:00 <zid> valve has a paper
18:32:00 <zid> https://aras-p.info/img/blog/2017-02/font-valve-paper.png
18:32:00 <zid> it's cool
18:32:00 <zid> https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQHqZ9L-nSyBS33rG57U4PtBB6iCSe_HVJVuBFL5hdWcw&s
18:32:00 <dzwdz> wait we might be talking about different things
18:32:00 <heat> yes csgo switched from panorama, i'm talking about the old UI system
18:33:00 <GeDaMo> https://steamcdn-a.akamaihd.net/apps/valve/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf
18:33:00 <dzwdz> were they passing the buffer into the function for drawing glyphs and that was overflowing? or
18:33:00 <zid> it wasn't render time, as in, engine rendering
18:34:00 <zid> it was freetype/opentype rendering the glyphs to a box
18:34:00 <zid> which then gets used as a texture on various rectangles every time you need an 'a' or a 'g'
18:34:00 <heat> yeah might've just been unsigned char buffer[some size]; /* this is totes enough */
18:34:00 <heat> just to avoid malloc or something
18:34:00 <heat> cuz you're uploading it to a texture anyway
18:35:00 <zid> I'm not sure whether it was internal, aka they told freetype too small a size, or if freetype just gives you an appropriately sized buffer and they did memcpy(fixed_size_texture, freetype_output, freetype_siz);
18:35:00 <dzwdz> also older source games use vgui, https://developer.valvesoftware.com/wiki/VGUI_Documentation
18:35:00 <bslsk05> ​developer.valvesoftware.com: VGUI Documentation - Valve Developer Community
18:35:00 <zid> (maybe with some unpacking/repacking for rgba or whatevr not just straight memcpy)
18:36:00 <zid> I think the actual ui code is safe on this
18:36:00 <zid> it was the ingame chat
18:36:00 <dzwdz> oh hey there's apparently a re3 style effort to reverse cs1.6
18:36:00 <dzwdz> https://github.com/s1lentq/ReGameDLL_CS
18:36:00 <bslsk05> ​s1lentq/ReGameDLL_CS - :hammer: Reverse-engineered gamedll (CS 1.6 / CZero) (185 forks/533 stargazers/GPL-3.0)
18:36:00 <zid> neat
18:36:00 <zid> https://i.ytimg.com/vi/0a29OK5GNVo/maxresdefault.jpg
18:37:00 <dzwdz> i think the chat uses vgui too
18:37:00 <dzwdz> not sure
18:37:00 <zid> I think all the menus worked though, so either it was different code, or it was only a specific glyph or two in a specific font
18:38:00 <dzwdz> although my knowledge mostly comes from source, not goldsrc
18:39:00 <zid> This is why everybody uses imgui these days
18:40:00 <zid> it's too much ballache dealing with fonts yourself
18:40:00 <zid> if you just wanna make a cube visualizer with some labels for some sliders or whatever
18:57:00 <heat> dzwdz: i like how that definitely illegal RE'd game.dll is "GPL v3"
18:58:00 <heat> they're lucky it hasn't been DMCA'd into the ground, because valve isn't that type of company
18:59:00 <chiselfuse> https://0x0.st/XiYZ.png What is 'product' here? Is it one item out of this list https://en.wikipedia.org/wiki/List_of_AMD_processors ? Does every AMD cpu model have a BKDG?
18:59:00 <heat> dunno
19:00:00 <heat> no, ryzen and newer don't have a BKDG
19:00:00 <chiselfuse> but would this said BKDG be per cpu model?
19:00:00 <heat> they stopped having BKDGs as soon as they had something to hide (read: stopped sucking)
19:00:00 <heat> might be, dunno
19:01:00 <chiselfuse> heat: what does stopping to suck have to do with having to hide something
19:03:00 <heat> you don't want your competitors to get the leg up on you
19:03:00 <chiselfuse> ah
19:03:00 <heat> and they definitely might've licensed some technology they're not allowed to share anyway
19:03:00 <autir> Hello
19:04:00 <heat> hi
19:05:00 <gog> hi
19:05:00 <chiselfuse> hi
19:05:00 <kof673> aloha
19:06:00 <autir> What is an elegant way to discover if a specific machine supports a BIOS function call or not ?
19:06:00 <autir> ( x86 assembly real mode )
19:06:00 <childlikempress> elegant?? hahahahaha
19:07:00 <gog> you call it
19:07:00 <gog> and then if it doesn't support it'll be uhhh
19:07:00 <gog> i forget there will be a value in ax tho
19:07:00 <heat> UwU oopsie, bios did a fucky wucky
19:07:00 <gog> yes
19:07:00 <gog> in es:di that value will be there and you'll need to test for it
19:07:00 <gog> a pointer to that
19:08:00 <kof673> this makes me think of the genie cartoon <system crash> because impossible to satisfy all the constraints simultaneously. some BIOSes may be better than others, just from ralf brown's interrupt list, the little i have seen, always lists of exceptions for different systems
19:10:00 <autir> Well, I called an unsupported function in a machine and it rebooted. No good for the continuation of the process.
19:10:00 <kof673> if it was elegant, > Ralf Brown is a well-known authority for maintaining both documented and undocumented BIOS interrupts, DOS interrupts, memory map and other system-oriented would not exist surely :)
19:10:00 <kof673> yes, that is what i mean :)
19:11:00 <autir> Yes, may that man live 1000 years
19:13:00 <kof673> if i ever "finish" my "bootloader" i guess the idea is everything is in routines, so could hardcode safe ways to fail/etc. on specific hw if needed "Interceptor pattern"
19:13:00 <kof673> or #define equivalents, etc. but then, how to detect specific hw with known problems
19:13:00 <Ermine> heat: how do u use clangs with onyx
19:14:00 <heat> download the clang build to <dir>, set CLANG_PATH=<path to dir>, do the normal make
19:14:00 <heat> make sure to re-run setup_build.sh though
19:15:00 <Ermine> clangd*
19:16:00 <Ermine> typing is hard
19:28:00 <heat> bear -- make <your target>
19:28:00 <heat> then use the onyx clang's clangd
19:28:00 <geist> well, eclipse has happened in the US
19:28:00 <geist> now mass hysteria
19:28:00 <geist> dogs and cats sleeping together
19:28:00 <gog> dang
19:29:00 <heat> darn
19:29:00 <GeDaMo> I assume that's how we got CatDog :|
19:30:00 <gog> catgog
19:30:00 <heat> gogcat
19:31:00 <gog> meow
19:34:00 <Ermine> heat: distro-provided clangd wouldn't work?
19:34:00 <heat> no
19:34:00 <heat> it's not aware of x86_64-unknown-onyx
19:36:00 <heat> if you massage the compile_commands.json it might work
19:36:00 <heat> like -D__onyx__ -U__linux__ at least
19:36:00 <gog> you need to get it upstreamed into clang
19:36:00 <gog> your target triple
19:36:00 <gog> what are you waiting for
19:36:00 <heat> (removing the --target)
19:36:00 <zid> donyux
19:36:00 <zid> d'onyx
19:37:00 <heat> im not a big company :(
19:42:00 <gog> l'onyx
19:43:00 <Ermine> Found Onyx Co. Ltd.
19:43:00 <Ermine> Hire me
19:43:00 <gog> hire me too
19:43:00 <sham1> hire me three
19:43:00 <gog> i can porgam
19:43:00 <Ermine> You'll be transnational
19:44:00 <gog> i already am
19:44:00 <heat> hehe
19:44:00 <heat> hehehe
19:44:00 <heat> hehe
19:44:00 <sham1> héhé
19:44:00 <heat> 🏳️‍⚧️🏳️‍⚧️🏳️‍⚧️🏳️‍⚧️🏳️‍⚧️🏳️‍⚧️🏳️‍⚧️🏳️‍⚧️
19:44:00 <gog> yes i am from that country
19:44:00 <heat> transnistria
19:46:00 <heat> is your favourite road Transfăgărășan
19:46:00 <gog> hey hey whoa
19:47:00 <heat> sorry, Trans***ărășan
19:47:00 <gog> thank you
19:47:00 <Ermine> look, some kiddo was dreaming of founding a company to develop minix
19:47:00 <kof673> that was the only good part of the templeos video "hehehehehe" <impersonation of bill g or linus i think>
19:48:00 <gog> that reminds me there's a food service company whose slogan is "vefverslun fagfólsins"
19:48:00 <gog> and i giggle every time i see it
19:48:00 <gog> it means "the professionals' web store"
19:50:00 <heat64> heat64???
19:51:00 <heat64> now in 64-bits
19:51:00 <nikolapdp> and i am still on 16 bits
19:52:00 <sham1> Wait, you get bits?
19:52:00 <nikolapdp> yeah all 16 of them
19:53:00 * kof673 .oO( https://github.com/turbolent/w2c2 make that output function calls for nearly all operations, so it could maybe work even on a system with only 8-bit or 16-bit integer types, or whatever else (DSPs) )
19:53:00 <bslsk05> ​turbolent/w2c2 - Translates WebAssembly modules to portable C (30 forks/665 stargazers/MIT)
19:54:00 <kof673> s/it/the output code/
19:54:00 * kof673 hehehehehehe
19:55:00 <sham1> héhéhéhé
19:55:00 <heat64> hê
19:55:00 <sham1> Anyway, my trackball got delivered to the pickup point. Might go grab it while going to work (it's destined for the office anyway)
20:15:00 <Ermine> It was my childhood when 64-bit was wow tech
20:17:00 <nortti> I still keep thinking it was only fairly recently I got 64-bit CPU, but it's almost a decade already. guess it's not too surprising 32-bit support is dying now
20:18:00 <Ermine> Actually I found out only recently that my first cpu was 64-bit actually. I thought it was 32-bit
20:19:00 <Ermine> but WinXP is 32-bit only
20:19:00 <nikolapdp> wasn't there a late release that also worked with 64-bit
20:19:00 <nortti> there was a 64-bit version of xp for amd64
20:19:00 <nortti> knew someone who ran it – apparently the driver support was quite bad
20:20:00 <heat> windows xp was the software's most successful trashfire
20:20:00 <heat> vista fixed it
20:21:00 <sham1> linux
20:21:00 <heat> linux is a lot less trashfire-ey now
20:21:00 <heat> and was a lot less successful back in 01
20:59:00 <geist> yah linux desktop stuff back in 01 was definitely much more of the you gotta know what you're doing, you know if you wanna deal with it by even thinking of doing it sort of thing
21:00:00 <gog> i remember when EDID was really dodgy
21:00:00 <geist> i dont think any of the desktop environments we think of today were in much shape back then, except maybe openstep and CDE
21:00:00 <gog> or it was my monitor
21:00:00 <gog> either way i had to find the safe refresh rates manually
21:00:00 <geist> yah there was still a fair amount of manually configuring xorg or running XF86config or whatnot
21:00:00 <gog> yeh
21:00:00 <geist> Xconfigurator, i think too
21:01:00 <gog> never used that one, just XF86Config
21:01:00 <geist> i think maybe xconfigurator was when xorg split off?
21:01:00 <gog> hmm
21:02:00 <gog> i remember there were two implementations, one of them on X.org but it was really bitrotted
21:02:00 <zid> I like xf86config it's fun I miss it
21:02:00 <gog> and XF86
21:02:00 <gog> but then the new Xorg forked from Xf86
21:04:00 <geist> yah
21:04:00 <geist> xf86config was more of a series of questions it asked, and the other one was more of a probing thing i think
21:05:00 <sham1> Well, by the vista time, Linux was already quite nice. I remember starting to slowly convert
21:06:00 <gog> i was using linux full-time off and on
21:07:00 <heat> define quite nice
21:07:00 <gog> i'd get tired of not having certain games and go back to windows for awhile
21:07:00 <sham1> GNOME 2 was a thing
21:07:00 <gog> then i'd get fed up with windows and rinse and repeat
21:07:00 <gog> now i ahve to dual boot like a fuckin rube
21:07:00 <gog> i used linux full time for like 3 years
21:08:00 <gog> i came out as a linux user
21:08:00 <heat> im on windwos rn
21:08:00 <heat> 11 actually
21:08:00 <gog> ok just be quiet about it
21:08:00 <sham1> ew
21:09:00 <heat> https://i.imgur.com/bQb1D92.png
21:09:00 <bslsk05> ​i.imgur.com <no title>
21:09:00 <heat> deal with the centered start bar oldies
21:09:00 <zid> die
21:09:00 <gog> center start bar is an abomination
21:09:00 <gog> i hate it hate it hate it
21:10:00 <zid> they've totally killed off being able to *not* have your similarly named windows stack too I think?
21:10:00 <heat> today is pygmy hippo day
21:11:00 <heat> but you wouldn't know because you're running linux
21:11:00 <heat> bing (the superior search engine) helpfully tells me this, though
21:11:00 <sham1> > nomg
21:11:00 <sham1> > bing
21:12:00 <heat> one has to wonder if microsoft employees bing things
21:12:00 <sham1> My have the times changed
21:12:00 <sham1> Before like last year, Bing was a joke
21:12:00 <sham1> And now everyone wants to use it because it has a GPT model in it
21:12:00 <heat> i don't know a single bing user
21:13:00 <heat> not voluntary bing user at least
21:13:00 <sham1> I know some prompters
21:13:00 <sham1> Because apparently the Bing bot (who doesn't want to be Bing) can do image generation
21:13:00 <heat> i've always liked the bing pictures
21:14:00 <heat> that used to go on the xbox 360's dashboard (somewhere), and are on windows' lock screens
21:14:00 <gog> i will not bing
21:14:00 <heat> nice, pretty pictures
21:14:00 <gog> i will not bog
21:14:00 <sham1> But will you pog
21:14:00 <gog> i will not be happy while i'm using windows. i will be a miserable bitch and bring the entire room down with me
21:15:00 <gog> i will be passive aggressive and snippy and everybody will be on edge
21:15:00 <heat> same as linux then?
21:15:00 <heat> does solaris bring you joy
21:15:00 <gog> yes
21:15:00 <gog> solaris is like walking on a cloud
21:15:00 <gog> and kissing women
21:15:00 <kof673> > hippopotamus (our Great Bear) > Moreover, Ptah, the divine dwarf, is the imperfect progenitor of the perfect man in his son Atum
21:15:00 <kof673> heat wins alchemy chat today
21:19:00 <heat> i have a friend that only has joy using macOS because it's the least bad one (for him)
21:19:00 <heat> i can see it tbf
21:21:00 <immibis> gog what is women?
21:22:00 <gog> idk
21:22:00 <immibis> I wouldn't be surprised at all if bing becomes a better search engine given how Google behaves
21:22:00 <immibis> Google replaced yahoo, and all the rest, and managed to hold on longer than most unprofitable internet startups
21:22:00 <immibis> they don't even really need search
21:23:00 <immibis> except to be able to track what you're searching for, which the EU just said they couldn't
21:23:00 <gog> what's their revenue stream without it? data brokerage?
21:23:00 <gog> i guess that's probabyl profitable enough
21:23:00 <gog> we pay them for GA4 sooo
21:23:00 <gog> i liked google play music
21:23:00 <immibis> advertising, cloud, analytics, enterprise office things
21:24:00 <gog> i used to pay for that
21:24:00 <sham1> I wish Kagi really takes off
21:24:00 <gog> they had literally everything i wanted all the time
21:24:00 <immibis> I guess they need search to feed data into analytics
21:24:00 <immibis> gog: I'm told that you can find an even wider selection for free, but I wouldn't know about that stuff
21:24:00 <gog> ye
21:24:00 <gog> i don't either
21:26:00 <heat> spotify is better than google play music
21:26:00 <sham1> yes
21:26:00 <heat> so i like spotify
21:26:00 <heat> convenient services good, inconvenient services bad
21:29:00 <gog> idk
21:30:00 <gog> heat
21:30:00 <gog> heat
21:30:00 <gog> do you know what music is good
21:30:00 <heat> gog
21:30:00 <heat> what
21:30:00 <gog> dua lipa
21:30:00 <heat> dupa lip
21:30:00 <gog> ye
21:30:00 <sham1> Pop music‽
21:30:00 <heat> i prefer the hips and the hops
21:31:00 <childlikempress> gog: can i have a dua lipa gif
21:31:00 <heat> but dul pip isn't bad
21:31:00 <heat> dupa lia
21:31:00 <heat> albania
21:31:00 <mjg> did you say dupa
21:31:00 <mjg> 's the meta word in polish, foo-equivalent
21:31:00 <childlikempress> if dua lipa is so good why isn't there a tria lipa yet
21:31:00 <mjg> also means "ass"
21:32:00 <gog> childlikempress: https://media1.tenor.com/m/iTZEd534HiUAAAAd/dua-lipa.gif
21:32:00 <heat> childlikempress: cuz she's that good that you don't need three
21:32:00 <heat> two's enough
21:32:00 <mjg> childlikempress: i was a playing a 1v1 with a dude in quek, another dude wanted to join, we told him it's a fucking DUEL
21:32:00 <bslsk05> ​media1.tenor.com <no title>
21:32:00 <mjg> childlikempress: his response "we can play a TRUEL"
21:33:00 <heat> your response "bro what system are you evenr unning"
21:33:00 <heat> his response "windows xp"
21:33:00 <heat> your response "lol that doesn't scale to 16 cpus lol laptop scale"
21:33:00 <mjg> at the time it was probably 98
21:33:00 <heat> OH
21:33:00 <mjg> ye i know, you were probably not even born yet
21:33:00 <heat> your response "lol 98 suxorz use UNIX"
21:33:00 <mjg> when that shite came out
21:33:00 <gog> i'm uing unix
21:33:00 <heat> i bet you didn't have a solaris license
21:33:00 <heat> brokie
21:34:00 <mjg> heat: interestingly his pc is was the first one i had seen linux on
21:34:00 <mjg> heat: he bought from some NERD
21:34:00 <heat> HE BOUGHT LINUX??
21:34:00 <mjg> heat: we boot and fuck me, a linukkzzzz
21:34:00 <mjg> reinstalled to windows real quick
21:34:00 <mjg> at the time i only heard it existed, never seen it in actino
21:34:00 <mjg> it booted all the way to tty, no x11
21:34:00 <heat> little did you know
21:34:00 <heat> it was going to be your downfall
21:36:00 <heat> anyway why is dua lipa so fucking pretty
21:36:00 <heat> it's insane
21:36:00 <childlikempress> my computer still boots to tty, no x11
21:36:00 <childlikempress> because fucked if i want to deal with xdm
21:36:00 <childlikempress> startx is easier
21:36:00 <gog> i bought a linux
21:36:00 <sham1> My computer boots to Wayland
21:36:00 <heat> childlikempress what distro
21:36:00 <gog> i got a copy of SuSE 8.1 for cheap
21:36:00 <mjg> childlikempress: ?
21:37:00 <mjg> are you back to a bsd desktop?
21:37:00 <gog> this was before i had cable
21:37:00 <childlikempress> arch
21:37:00 <childlikempress> BTW I USE ARCH
21:37:00 <heat> OMG
21:37:00 <gog> OMG
21:37:00 <heat> LITERALLY ME
21:37:00 <gog> i use arch
21:37:00 <mjg> NERD
21:37:00 <heat> gog: manjaro
21:37:00 <sham1> :O
21:37:00 <gog> shhhh
21:37:00 <gog> is arch
21:37:00 <gog> just special
21:37:00 <sham1> Yes
21:37:00 <heat> ubuntu is debian
21:37:00 <childlikempress> yes arch for special needs users
21:37:00 <mjg> childlikempress: i use ubuntu, just boots to some fucking login manager which automatically detects i3
21:38:00 <heat> i'm special needs after the manjaro devs kneecapped me and stole my wallet
21:38:00 <mjg> what do you do about screen locking tho
21:38:00 <heat> manjaro devs pissed on my grandfather's grave
21:38:00 <childlikempress> mjg: in theory xscreensaver
21:38:00 <childlikempress> in practice i just don't bother :p
21:38:00 <mjg> childlikempress: but after you are logged in into a tty, how do you prevent people from switching to it
21:39:00 <heat> why is that a problem
21:39:00 <childlikempress> oh. yeah i don't
21:39:00 * childlikempress terrible opsec
21:39:00 * childlikempress awaits flogging
21:39:00 * gog gets the cat5-o-nine-tails
21:39:00 <mjg> gog: can i get a hug please, i promise no shenanigans
21:40:00 <heat> gog the manjaro devs are burning my house down
21:40:00 * gog hug mjg
21:40:00 <mjg> thanks dawg
21:40:00 <gog> meow
21:40:00 * heat hug mjg
21:40:00 <mjg> heat: manjaor devs cause global warning
21:40:00 <mjg> heat: fuck off
21:40:00 <heat> this is what i get for being nice
21:40:00 <mjg> grope'y little shit
21:40:00 <mjg> hey, i did not consent, did i
21:41:00 <heat> i'm so anti-consent i could be the head of the GNU project
21:41:00 <gog> :|
21:41:00 <mjg> you are the tail of the gnu project
21:42:00 <heat> global warming isn't real btw
21:42:00 <childlikempress> who's the cat of the gnu project
21:42:00 <gog> me
21:42:00 <kof673> cats are double sided, head and tail
21:42:00 <heat> Big FreeBSD wants us to think global warming is real so we move off of our expensive high-powered computers into LAPTOP SCALE computers that freebsd can run better
21:42:00 <mjg> gog is a honorary cat of the bsd prjoect
21:43:00 <mjg> heat: dude laptops is what freebsd does NOT run on
21:43:00 <heat> oh
21:43:00 <gog> ngl i haven't used a BSD since i daily drove freebsd for about a 6 months back in the day
21:43:00 <childlikempress> i have an old laptop somewhere running freebsd
21:43:00 <heat> right, i meant Big OpenBSD
21:43:00 <childlikempress> it works 'fine'(tm)
21:43:00 <childlikempress> way better than win10 for that matter
21:43:00 <heat> gog is the honorary cat of the BCHS stack
21:45:00 <gog> i'm gonna make my next webapp in bchs
21:45:00 <mjg> is bchs real WEBDEV though
21:45:00 <mjg> i guess misusing a tool has a certain allure to it
21:46:00 <heat> technically web and by-definition dev
21:46:00 <gog> idk about sqlite though
21:46:00 <heat> in fact anything that touches the web is by definition web development
21:46:00 <gog> feels wrong to not have a full-steam MSSQL
21:46:00 <heat> and thus, mjg webdev
21:46:00 <heat> the webbest of devs as it POWERS NETFLIX
21:46:00 <gog> altho postgres has some interesting features
21:47:00 <gog> that make it really handy for small webapps
21:47:00 <heat> gog have you tried Oracle Database
21:47:00 <gog> no fuck off
21:47:00 <mjg> one of the reasons i don't know work on postgres is that it is used by webdevs!!
21:47:00 <mjg> just kidding, this is why i don't do mysql
21:47:00 <heat> you can do Oracle Math and Oracle Addition on Oracle Numbers
21:47:00 <mjg> yo heat you heard how oracle is even developed
21:47:00 <heat> buy-in to the Oracle Ecosystem
21:48:00 <mjg> https://news.ycombinator.com/item?id=18442637
21:48:00 <bslsk05> ​news.ycombinator.com: Ask HN: What's the largest amount of bad code you have ever seen work? | Hacker News
21:48:00 <mjg> the enterprisiest shit out there
21:48:00 <heat> you're the second person linking that today
21:49:00 <mjg> :[
21:49:00 <mjg> 's a classic, 2018 vintage
21:50:00 <mjg> here is even better https://attrition.org/security/rant/oracle01/
21:50:00 <bslsk05> ​attrition.org: Attrition Security Rant: Oracle Security
21:52:00 <heat> dont care didn't ask heres an indian oracle database tutorial https://www.youtube.com/watch?v=ibOzwFRm32w&list=PLiLpmqwkwkCt0QeXD8j7BwIoOaBGBRrZC
21:52:00 <bslsk05> ​www.youtube.com <no title>
21:52:00 <mjg> hello friends
21:53:00 <mjg> have you seen c tutorials on youtube
21:53:00 <mjg> fucking classic is printing pointers with %d
21:53:00 <heat> i learned C on youtube
21:53:00 <mjg> do you print out pointers with %d
21:53:00 <heat> yes
21:53:00 <mjg> interent jannies plz ban heat
21:53:00 <mjg> thanks
21:53:00 <nikolapdp> %x is even better
21:54:00 <mjg> i just found leftover kernel 4.15 packages on my ubuntu
21:55:00 <mjg> installed
21:55:00 <gog> how old is this install
21:55:00 <mjg> started with 18
21:55:00 <mjg> updated to 22.04 so far
21:55:00 <gog> lol
21:55:00 <mjg> what
21:55:00 <gog> idk it just feels so old
21:55:00 <mjg> it is younger than heat
21:56:00 <gog> even though i used windows xp until it was literally unsupported by my video drivers
21:56:00 <gog> 6 years feels old
21:56:00 <mjg> check out this trick
21:56:00 <mjg> i installed fresh win xp
21:56:00 <mjg> way back in the day
21:56:00 <mjg> anyhow it does not want to take drivers for the sound card
21:56:00 <mjg> as in drivers are only up to 9x
21:57:00 <mjg> so here is a trick
21:57:00 <mjg> you install windows 98 se, install the driver
21:57:00 <mjg> and then upgrade to xp
21:57:00 <mjg> then it fucking worked(!)
21:57:00 <nikolapdp> l o l
21:57:00 <gog> l o l
21:57:00 <gog> |°|
21:58:00 <mjg> bbl
22:01:00 <heat> i started using linux around 4.0
22:02:00 <gog> ldd
22:02:00 <gog> what a baby
22:02:00 <gog> i used linux back before we even had sysfs
22:02:00 <gog> we had to deal with dev nodes manually
22:03:00 <heat> you mean udev
22:03:00 <gog> no
22:03:00 <gog> we didn't have udev either
22:03:00 <gog> we had neither udev nor sysfs
22:03:00 <gog> everything that is now in sysfs was in random places in /proc
22:03:00 <heat> you predate 2.5?
22:03:00 <gog> yes
22:03:00 <gog> 2.4
22:03:00 <heat> dang
22:03:00 <gog> also 2.5 had the ill-fated devfs
22:04:00 <gog> back when they had dev versions for massive changes
22:04:00 <gog> i consider that the end of "traditional" linux and the beginning of "modern" linux
22:05:00 <gog> i guess one could argue 3.0 was that also
22:05:00 <gog> or the mainstreaming of systemd
22:07:00 <heat> 2.6 was modern linux
22:35:00 <mjg> devfs was such a failure
22:35:00 <mjg> too bad i shares the name with a non-failure on freebsd
22:35:00 <gog> mjg what's better
22:36:00 <heat> devtmpfs
22:36:00 <gog> sysfs or sysctl
22:36:00 <gog> by which i mean bsd sysctl
22:36:00 <heat> you literally don't need udev, devtmpfs Just Works
22:36:00 <mjg> sysfs is the suck
22:36:00 <mjg> syfilis
22:36:00 <heat> sysfs is good
22:36:00 <heat> sysctl is ass
22:37:00 <heat> sysctl can't represent hierarchies or relationships
22:38:00 <heat> sysfs learned many things from procfs, mainly the "one attribute one file" thing which is ridonculously helpful if you ever want to change the format
22:38:00 <mjg> lol
22:38:00 <mjg> dude
22:43:00 <Ermine> have anybody seen a system without device manager
22:44:00 <heat> you can totes do it in linux if you don't need module auto-loading
22:45:00 <Ermine> true minimalist way implies disabling module support
22:45:00 <heat> alpine doesn't have the spine to do that though
22:46:00 <Ermine> alpine is more pragmatic
22:46:00 <Ermine> those true minimalists tend to openbsd way of doing things
22:47:00 <heat> alpine is more pragmatic than musl, but that's no achievement
22:47:00 <Ermine> wdym no achievement
22:47:00 <heat> hard to be less pragmatic than musl
22:48:00 <heat> __MUSL__ is bad mkay
22:48:00 <heat> issue tracker is bad cuz
22:48:00 <Ermine> minimalism aside, some software depends on rules shipped by udev
22:48:00 <heat> a true musl fan is subsequently a module hater and a shared library hater
22:49:00 <Ermine> shared libraries bad, but there's no other way because mesa, hwcaps and maybe something else
22:51:00 <heat> shared libraries good almost universally
22:51:00 <gog> shared libraries very good
22:51:00 <heat> gog is such a shared lib fan she is using shared libraries in UEFI
22:52:00 <Ermine> no
22:52:00 <gog> that's right
22:52:00 <Ermine> why would they
22:52:00 <gog> my dynamic linking kludge continues to evolve
22:52:00 <heat> why would they what?
22:52:00 <heat> be good?
22:52:00 <Ermine> yes
22:53:00 <gog> a shared library is a perfect example of an encapsulated implementation. you can swap them out! componentized applications!
22:53:00 <gog> interfaces!
22:53:00 <gog> we do all this crap with languages when it's right there in the ABI for us
22:54:00 <Ermine> or good as in "linux software devs are good at having stable apis/abis"
22:54:00 <heat> 1) saves disk space 2) saves RAM 3) more often than not saves IO 4) if you use shared libraries then you don't need to recompile your package to update the lib 5) if you use shared libraries then whoever packages the .so is responsible for security and vuln mitigation, as opposed to static linking when you actively need to manage that yourself
22:55:00 <gog> glibc has a pretty stable abi
22:55:00 <gog> and if you're really serious you can use versioned symbols
22:55:00 <gog> ELF has so many neat features
22:57:00 <childlikempress> 'neat'
22:57:00 <gog> yes
22:57:00 <Ermine> 1) provably no or negligible saves, 2) provably no, 3) idk, 4) yes, but under windows, because they try hard not to break stuff, 5) responsibilities? in my foss?
22:58:00 <gog> well the foss ecosystem is fucked up
22:59:00 <Ermine> s/not to break/to not break/
23:00:00 <gog> also there is a good reason to ship your own version of libraries for large applications that need to run on many systems
23:00:00 <gog> so the disk/memory thing is whatever
23:05:00 <gog> but if you do, why would you ship them static?
23:05:00 <Cindy> hi
23:05:00 <gog> hi Cindy
23:05:00 <kof673> where do the single-header "libraries" fit into shared or static libraries?
23:05:00 <gog> those are like double static
23:05:00 <gog> because every TU that imports it has a copy unless you LTO
23:05:00 <kof673> :0 this is just to say, people will go out of their way to attempt to avoid packaging issues
23:05:00 <gog> or if you do the trick with implementation header guards
23:05:00 <Cindy> so like
23:05:00 <kof673> *integration/importing foreign code issues
23:05:00 <Cindy> i wonder how was reverse engineering done in the 90's
23:05:00 <Cindy> no ida pro or some crap
23:05:00 <Cindy> did people just stare at opcodes in a hex viewer?
23:05:00 <kof673> softice maybe?
23:05:00 <kof673> depends on the target surely too, ida does many archs I believe
23:05:00 <Cindy> i don't mean windows target
23:05:00 <kof673> hardware ice j/k
23:05:00 <Cindy> i meant amiga, or game consoles like the sega genesis
23:05:00 <kof673> if you had $$$$$$$
23:05:00 <heat> Ermine: negligible saves how?
23:05:00 <heat> do you realize how many apps link the libc?
23:05:00 <heat> i'll spoil the answer: 99.9% of them
23:06:00 <heat> a static glibc hello world program is around 700KiB
23:06:00 <heat> IIRC
23:07:00 <Ermine> https://drewdevault.com/dynlib.html
23:07:00 <bslsk05> ​drewdevault.com: Dynamic linking
23:07:00 <heat> this is the best case. now ls /bin | wc -l; and multiply by 700KiB
23:07:00 <Ermine> static musl hello world is smaller
23:08:00 <heat> i guarantee you this still applies with musl
23:09:00 <heat> fedora doesn't require shared libs out of delirium
23:09:00 <heat> we didn't helium our way into shared libraries
23:14:00 <Ermine> and iirc libc is basically the only universal lib out there
23:14:00 <heat> i'm not talking about universality
23:15:00 <heat> heck, libc is basically the best case scenario for a static library
23:15:00 <heat> because no one structures their library in a .a-friendly way
23:16:00 <Ermine> musl does?
23:16:00 <heat> musl is a libc
23:16:00 <Ermine> basically the only thing I like in musl
23:16:00 <heat> i guarantee you that if you statically link libssl you'll bring in a good chunk of openssl
23:16:00 <heat> it's not about symbol imports, it's about symbol imports and their imports and their imports etc
23:17:00 <heat> and the way statically linking works, it's not *only* about that, but if I do: "char buffer[50000000]; void func_you_need(){}" and you import func_you_need, you'll bring in the big fat array
23:18:00 <heat> all of this is basically why atm glibc is ass to statically link, even though you import the same number of symbols from your hello world program
23:19:00 <clever> heat: linker gc can help, if nothing references a section containing buffer
23:19:00 <heat> linker gc is spotty and not supported by many many libs
23:19:00 <clever> and -ffunction-sections, while it helps gc, can also produce slower and larger code
23:20:00 <clever> i have noticed a lot of libc's put one function per .c file
23:20:00 <heat> you really can't enable any of those options by default
23:20:00 <clever> so the .a file, winds up having one unit per function
23:20:00 <heat> yes
23:20:00 <heat> that's why
23:20:00 <clever> and the linker can just pick one .o file, without needing function-sections
23:20:00 <heat> this is awful, awful stuff
23:21:00 <clever> ./include/bits/syscalls-common.h:34:63: error: '__NR_adjtimex' undeclared (first use in this function); did you mean '__adjtimex'?
23:21:00 <clever> [6:42 PM]
23:21:00 <heat> if i had to write a large project with one function per CU i'd have whoever created .a shot
23:21:00 <clever> i also recently ran into this on uclibc and risc-v32
23:21:00 <clever> `rm libc/sysdeps/linux/common/adjtimex.c` is one potential solution
23:22:00 <clever> then it just never tries to make a wrapper for the syscall
23:22:00 <clever> the build system seems to rely on `*.c`, so just removing a file is enough
23:23:00 <clever> heat: i would just build that part of the project with -ffunction-sections, you will get largely the same effect, if gc-sections is on
23:23:00 <heat> right, but nearly no one turns on gc-sections
23:23:00 <heat> so then your library is bad and bloated
23:23:00 <clever> sneak it into your pkgconfig file :P
23:24:00 <heat> evil :)
23:33:00 <Ermine> well, okay, maybe there are saves
23:34:00 <Ermine> I'm still sceptical though
23:36:00 <Ermine> There are saves because libraries are not .a-friendly, because everyone uses dynamic linking so nobody cares about static linking
23:38:00 <heat> Ermine: small example
23:39:00 <heat> here's a very small C++17 program to list /usr/bin: https://gist.github.com/heatd/98383be3ba5bc9393a6ab9ab263b6e93
23:39:00 <bslsk05> ​gist.github.com: main.cpp · GitHub
23:39:00 <heat> c++ -O2 main.cpp size: 28K
23:39:00 <heat> c++ -O2 main.cpp --static-libstdc++ (so only counting with the C++ standard library!): 1.2M stripped
23:40:00 <kof673> > because everyone uses dynamic linking you already know what law that is
23:41:00 <heat> libstdc++.so.6.0.28 size: 1.9M unstripped
23:41:00 <heat> well, unstripped of symbols, it doesn't have DWARF
23:42:00 <heat> libstdc++ is your bog standard library that's not static-library-shaped
23:42:00 <heat> bog-standard
23:42:00 <gog> gog-standard
23:42:00 <heat> gog-standard library
23:43:00 <gog> libgog++
23:43:00 <gog> static linking clang to own the libs
23:43:00 <heat> gog::hug<heat>()
23:48:00 * gog hug heat
23:48:00 * heat hug gog
23:49:00 <gog> class gog { friend class heat };
23:49:00 <kof673> i do one function per .c file (and separate .h too) and similar for datums...but this is for even worse reasons :D
23:49:00 <heat> class heat { friend class gog; /* i have no idea how to use friend in C++ */ };
23:50:00 <gog> i think friend is generally a bad idea
23:50:00 <kof673> i would say this is similar to single-header libraries: why is there not a utility to "convert" ? surely the language is parseable and not undefined. anyways...
23:50:00 <gog> unless you really need to kludge something
23:50:00 <kof673> that is, a tooling issue IMO
23:51:00 <childlikempress> right, friend is completely useless
23:51:00 <childlikempress> all you need to do is #define private public before you include your headers
23:52:00 <gog> yes
23:52:00 <gog> hiding data is bad anyway
23:53:00 <gog> if you have something to hide it means you're guilty
23:53:00 <heat> no childlikempress, you're wrong
23:53:00 <heat> what you want is -Dclass=struct in your CXXFLAGS
23:54:00 <gog> you're both wrong
23:54:00 <gog> you want to delete all of your c++ source and start over in rust
23:55:00 <heat> ROST
23:55:00 <heat> you're ALL wrong
23:55:00 <heat> you want to delete all of your source and
23:55:00 <heat> .
23:55:00 <gog> move to the forest and rejoin nature
23:56:00 <gog> instead of typing your arcane incantations into the screen you'll carve them into the bark of birch trees
23:56:00 <gog> you'll program in the language of the goddess
23:58:00 <heat> yes
23:58:00 <heat> albanian
23:59:00 <heat> klasës publike gog shtrihet mace