gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
<lovesegfault> any poetry2nix users around?
<abathur> gchristensen: I occasionally feel the same about hugo, though I do broadly like it
<ashkitten> i didn't like any of the website engines out there so i rolled my own
<samueldr> how bad is it? ;)
<ashkitten> not bad, i liked it
<abathur> that's fair, I would be tempted if hugo didn't already cover most of what I want and just have a few sharp corners that bug me
<samueldr> oh, I hadn't linked that with the hugo talk
<samueldr> I thought you were announcing that, right now, you rolled your own
h0m1 has quit [Ping timeout: 276 seconds]
<ashkitten> used grunt for building, pugjs for markup, sass for styling, no js, and a bit of code to support blog posts written in markdown
<samueldr> heh, I find it funny "used grunt for building" "pugjs" [...] "no js"
<samueldr> (yes, I know it meant in the output)
h0m1 has joined #nixos-chat
<ashkitten> yeah
<ashkitten> i think pugjs got renamed at some point
<ashkitten> but i liked it more than handlebars or whatever people are using now
<abathur> I have a pretty cool hugo site
<abathur> so cool I have to build it like twice
<ashkitten> i really don't think it's that big a deal with all the composable tools nowadays to roll your own static site generator
<abathur> because I have some weird circular dependencies that don't shake out right on the first run :D
<samueldr> still using middleman
<ashkitten> it makes it easier to do niche things you want, like populating a list of projects that have full articles attached or whatever
<samueldr> barely fixed up to work with middleman 4
<ashkitten> i don't have a website now, because im a recluse and i hate attention
<samueldr> the trick is to update it once every 2-6 years
<abathur> I'm a recluse and hate attention but every once in a while I still update it or post something
<abathur> and then I briefly flirt with the idea of keeping it up to date
<samueldr> oh no
<samueldr> I just looked at my site
<abathur> and, much like keeping my apartment clean
<abathur> and it's been turned into porn redirects?
<samueldr> and uh... I have a post about unreal tournament 2004 on linux that is closer from its release, than it is from now :(
<abathur> hehe
<samueldr> I feel old
<ashkitten> i'm at least usually not the youngest in any given room anymore
<samueldr> been a while since it happened to me
<ashkitten> well, depends what room
<samueldr> heh, I can see a private scenario where you're the youngest in the room... probably... most of the time
<abathur> I used to run a site for Perfect Dark that did indeed get bought and turned into a porn redirect when I let it lapse
<samueldr> and uh yeah, happens all the time if "being alone" is "being the youngest in the room"
<ashkitten> or if your partner is older
<abathur> though now it appears to be unowned again, for how knows how long
<ashkitten> but like... irc channels, usually there's at least one or two people younger than me (21)
<ashkitten> it's funny though, a lot of the communities i've been really involved with have grown older and not gained many new members, so i'm still relatively young
<ashkitten> even though when i joined most people were my current age
<abathur> my grandmother got me the original registration for my birthday (I guess from network solutions? back when that was like $70 or $75 a year?)
<ashkitten> whew
<ashkitten> i have ideas about how we should replace dns
<samueldr> leave it all to honest achmed's /etc/host file as a service?
<ashkitten> precisely :)
<abathur> be nice to achmed I guess
<ashkitten> what i want is probably too complicated to talk about from my phone in a public channel
<ashkitten> i can't type fast enough
<abathur> ah
<abathur> I was going to say
<abathur> I used to MUD from my Sidekick, but I don't think I really ~did much
<samueldr> sidekick probably had better input methods
<abathur> I did PK someone from a CompUSA computer that was only networked to install some windows updates once though
<ashkitten> phone keyboard isn't that bad honestly
<abathur> sidekick was really superior though
<abathur> i.e., much, much easier to no-look type on a tactile keyboard
<abathur> luckily I'm a recluse adult now and get about an order of magnitude fewer texts than I did in college so I don't have sufficient motivation to gripe about phone keyboards
<abathur> emphasis: recluse _adult_ now
<ashkitten> i spend a lot of time on my phone
<abathur> I still do I guess, but more straightforwardly reading now; I guess a fair fraction of what was on my phone when I had an old clunky windows laptop has also reverted to my macbook air since I first got one in 2013
<abathur> a mix of just needing a laptop with me for work most days and also the extra portability meaning I'm more likely to have one even if it wasn't critical?
<elvishjerricco> Huh. TIL unRAID stores every file in its entirety on one disk, then has an entire parity disk that's just the bitwise parity of all the other disks. So it's like each disk is individually formatted with a file system, except for one that gets updated whenever any of those file systems gets written to. I wonder how they actually implement that...
<elvishjerricco> hexa-: SLOG is not a write cache like so many seem to think. The only thing it improves is the latency of synchronous writes. Helps for stuff like databases that wait on the disk to sync, then do a bunch of work, then wait on the disk to sync. But overall throughput won't change at all. If you do too many syncs in quick succession, the pool will start catching up before completing the syncs.
<elvishjerricco> And L2ARC is meh as a read cache. It's trickle fed, so it doesn't end up containing big chunks of data. It's most useful to help random reads.
<elvishjerricco> L2ARC is basically a ring buffer that's constantly being filled with whatever is on the chopping block in ARC, with a severe rate limit.
<elvishjerricco> Reason for the limit is that writing constantly to an SSD will kill it, plus big sequential records are good 'nuff on spinning disks (potentially even better on spinning disks if you have enough of them).
<pie_> elvishjerricco, zfexpert
<elvishjerricco> Oh not at all lol. I just read about it a lot. My actual personal experience with it is like... three really basic pools
rajivr has joined #nixos-chat
<ashkitten> elvishjerricco: persistent l2arc?
<elvishjerricco> ashkitten: What about it? It just makes it possible to recover that ring buffer when you reboot
<ashkitten> sure, but you can adjust l2arc to feed itself more readily and never have to start cold with persistence
<elvishjerricco> ashkitten: Sure but even when L2ARC is warmed up, it's not that great of a read cache. It still doesn't have any large records and it adapts to changing workloads very slowly
<ashkitten> good to know
<elvishjerricco> I wish there was a sane way for it to contain the entire ARC as well so that a reboot doesn't even lose that, but that's not really feasible without wasting a ton of space on the drive.
<elvishjerricco> I wish there was a sane way for it to contain the entire ARC as well so that a reboot doesn't even lose that, but that's not really feasible without wasting a ton of space on the drive.
<ashkitten> i'm pretty sure there is
<ashkitten> like i said there's some new options along with persistence that allow for that use case
Mic92 has joined #nixos-chat
tomberek has joined #nixos-chat
endformationage has quit [Quit: WeeChat 2.9]
tomberek has quit [Quit: Connection closed]
lunc has joined #nixos-chat
waleee-cl has quit [Quit: Connection closed for inactivity]
ixxie has joined #nixos-chat
srk has quit [Quit: ZNC 1.8.1 - https://znc.in]
srk has joined #nixos-chat
ixxie has quit [Quit: Lost terminal]
cole-h has quit [Ping timeout: 240 seconds]
<sphalerite> hexa-: how is mumble and pipewire broken? Weird crackly/repeated sound? I have that too, never tied it to pipewire though! It goes away after a few seconds.
<sphalerite> elvishjerricco: but _damn_ does an SSD slog improve performance on a mysql database that would otherwise be entirely on HDDs
<elvishjerricco> sphalerite: Yea, that's probably true. I've only done pgbench to verify my understanding of the affect of a slog, and it benched like 2-3x higher if I put an NVMe slog over a spinning disk.
<sphalerite> I mostly noticed it in perceived performance on photoprism
* colemickens feelings of hopelessness intensify!
<eyJhb> colemickens: What up?
<colemickens> just keep running into nix projects that I can't use because of impurities
<colemickens> and that's all I'm gonna say
<colemickens> wish it weren't this way. that's all.
<ldlework> built a network visualizer for my creature evolver
<ldlework> shows the network of the currently best performing creature
<eyJhb> colemickens: So... Because of flakes I assume?
<eyJhb> ldlework: What is it coded in?
<ldlework> typescript
<ldlework> it's just an example for my library React ECS
<lunc> so ... Bill Gates is up for grabs ladies!
<eyJhb> HEY! Maybe he could be persuaded the other way
<AMG> lol
<AMG> I heard Mackenzie and Melinda were setting up a jelly wrestling school together
__monty__ has joined #nixos-chat
<lunc> anyhow I hope they really do keep working together in their foundation... it does some amazing things in the world
<philipp[m]> Melinda broke up with Bill hours after the Inca tower/vil rush was nerfed in aoe2. Coincidence? I think not!
Synthetica has joined #nixos-chat
<hexa-> sphalerite: audio output stops working
<hexa-> Input is fine, but the Signal Level in the audio output vanishes sometimes
lunc has quit [Ping timeout: 260 seconds]
<__monty__> TIL the App Store is just a fancy site-specific browser : s
<hodapp> like 90% of applications are :-/
<eyJhb> __monty__: Jellyfin is the same.
<eyJhb> And it annoys me, but easy codebase!
endformationage has joined #nixos-chat
cole-h has joined #nixos-chat
lunc has joined #nixos-chat
<Mic92> justfile is really cool stuff
<Mic92> Using it in my project
<gchristensen> oh what is that?
<cole-h> I think it's https://github.com/casey/just ?
<cole-h> like make but in rust?
<Mic92> It is inspired by make but with syntax optimized for running small tasks in a project
<gchristensen> oh cool
<Mic92> you can have task parameter and global variables that can be overriden
<Mic92> just -l prints all task names, the first comment about the task becomes the helptext
<gchristensen> wow nice
<Mic92> and you can chain tasks just like you would with make dependend targets
<gchristensen> sounds a lot nicer than Make :)
<Mic92> No tabs and you can embed different programming languages instead of sh in task targets
<Mic92> If variables now also would be lazy evaluated like in nix, it would be perfect.
<Mic92> maybe we should justfile with nix :)
<Synthetica> Do we have something like busyboxStdenv?
<LinuxHackerman> stdenv is so completely riddled with bashisms and gnuisms that that would probably take a very large amount of work
<hodapp> powershellStdenv when?
<pie_> when someone makes it and writes an stdenv test suite that defines the interface?
* pie_ the party pooper
<pie_> colemickens: which is why i pin everything with niv
<pie_> colemickens: not sure i missed anythin gbut
<DigitalKiwi> https://github.com/jekor/redo the yt videos of him writing this is fun
<drakonis> am i for one glad that we dont have a bot that posts the page title
<DigitalKiwi> somehow not the worst thing on that site
<drakonis> in which hn discovers phrenology
<DigitalKiwi> pretty sure they found that a long time ago
<ashkitten> eyJhb: jellyfin is a web app tho?
<ashkitten> oops was scrolled up
<colemickens> Pinning with niv is NOT SUFFICIENT
<colemickens> And is PRECISELY my point
<colemickens> Let me count the projects that use niv that I can't use because they randomly import env vars and make countless calls to builtins.system
<colemickens> (elements doing the thing where I'm replying to really old notifs probably. Sorry)
<eyJhb> ashkitten: I thought that the Android app actually just used the API on the Webserver, but it is actually just a webkit that renders the website. So yeah...
<eyJhb> Was very confused when I wanted to change something in the app, and I couldn't find anything in the source of the app that mentioned what I wanted to change :D
<ashkitten> eyJhb: oh, yeah
<ashkitten> though it has some platform specific integrations i suppose
<ashkitten> i'm not opposed to apps being web wrappers like this if they are browser-first
<ashkitten> there's also jellyfin-media-player which provides some extra codec support not available in browsers
<ashkitten> which reminds me i still need to transcode some stuff from hevc
<pie_> colemickens: yeah i also put all my impurities in a single impure.nix
<pie_> colemickens: builtins.system?
<pie_> oh
<pie_> right the thing thats the system type
<pie_> colemickens: yeah so we need niv but that also filters all the other impurities
rj has joined #nixos-chat
<eyJhb> ashkitten: The most annoying thing for me, is that often Chromecast will not work nicely with the app :P
<ashkitten> ah
<__monty__> colemickens: Wouldn't things ordinarily done using builtins.system require explicit support in a flake?
<eyJhb> Do you use chromecast ashkitten ?
<ashkitten> i don't
<eyJhb> Damn it.
<ashkitten> i used to use kodi
<ashkitten> but don't have that set up rn
<eyJhb> Am I the only one that use crappy software like DisplayLink and Chromecast?
<eyJhb> Fair, Kodi is <3
<ashkitten> i just don't want to have googleshit in my home
<clever> eyJhb: ^ an opensource replacement for displaylink
<ashkitten> i would've thought v4l2 already supports outputs
<ashkitten> er, i did think that
<clever> ashkitten: this is a generic api for a display over usb, with linux drivers for both ends
<ashkitten> now just need a good alternative to chromecast (i desperately wish i could say upnp is one)
<ashkitten> upnp has so many compatibility issues in my experience
<ashkitten> so many things implement it terribly
<clever> ashkitten: my cablebox supports upnp casting from mobile devices, the list of problems is endless...
<ashkitten> yeah :(
<clever> the app only works on iOS, the identical app on android doesnt find anything
<ashkitten> especially when it comes to features like gapless playback
<clever> the app only streams while the iOS device is on, so you must burn up your ipad battery to stream
<clever> seeking doesnt work
<clever> shal i go on? :P
<ashkitten> and there's only like, a handful of things that actually support upnp in the first place
<ashkitten> ofc, google did this to us
<clever> the cablebox also phones-home (i can see https connections) when streaming starts
<ashkitten> it's all google's fault for developing a proprietary protocol instead of iterating on upnp
<clever> ashkitten: that reminds me, google also has their own proprietary protocol, for driving a display over usb, but the usb host is the display
<clever> they are running it backwards!
<clever> basically, its encrypted h264 streaming over usb, from device->host, the host acts as the monitor
<clever> can you guess where that protocol is used?
<eyJhb> clever: But would that work with an exsisting DisplayLink USB 3.0 dock?
<clever> eyJhb: they are all completely different protocols, no compatability between them
<ashkitten> is that their old android display thingy?
<clever> ashkitten: its called android auto
<clever> ashkitten: thats how your phone can render things on the radio in a car
<ashkitten> interesting
<eyJhb> :/ I will just use this until I get a new laptop. Hoping I can get one with Thunderbolt 4. Then I don't have to deal with that stuff anymore
<clever> ashkitten: AA also uses x509 certs on both ends of the link, so only approved devices can participate in the protocol
<ashkitten> didn't android used to have a wireless display protocol called miri or something?
<eyJhb> Hoping to get something from https://www.tuxedocomputers.com/ and flashing with System76. (I would buy one and support them, but not being in the US makes it.. not fun)
<clever> ashkitten: i think that part, is for road safety reasons
<clever> basically, google is heavily restriction what android-auto can do, so you wont crash the car due to distractions
<clever> because if the govt gets involved, everybody looses
<ashkitten> idk if that's always true. google definitely loses, though.
<samueldr> eyJhb: instead you'll have to deal with "is it thunderbolt? is the cable thunderbolt enough?"
<clever> ashkitten: this is my half-finished project, to implement the phone end of the protocol on a pi400
<eyJhb> samueldr: Don't cruush my hopes and dreams
<eyJhb> Also, TB4 should fix that however, is the requirements are much "stronger"
<eyJhb> Not sure about the cables....
<clever> ashkitten: if it works as planned, you can just plug your pi400 into the radio, and boom, you have a fully working linux desktop
<__monty__> eyJhb: I thought System76 was a German company?
<eyJhb> Tux is, System76 is in the US
<ashkitten> lol
<ashkitten> neat
<ashkitten> should i start on my voxel rendering engine today?
<eyJhb> __monty__: `System76 is an American computer manufacturer based in Denver, Colorado, specializing in the sale of notebooks, desktops, and servers.`
<clever> ashkitten: have i mentioned my rpi work to you before?
<ashkitten> don't think so
<samueldr> ashkitten: do I need to quote what a wise man once said?
<ashkitten> samueldr: idk, do you?
<clever> ashkitten: do you know about sprites from the old 8git era consoles?
<samueldr> probably!
<ashkitten> clever: yes
<clever> ashkitten: 2d subsystem in the rpi can also handle sprites, with far less limitations
<ashkitten> neat
rj has quit [Ping timeout: 240 seconds]
<ashkitten> samueldr: lol
<gchristensen> is that a rat tail?
<clever> ashkitten: at that size, the pi3 can handle 13 sprites at once, with smaller sprites, i got it to around 150
<gchristensen> a good look for him
<eyJhb> There is also this nice music? https://www.youtube.com/watch?v=Lpjcm1F8tY8
<eyJhb> ^ my little music high atm.
<clever> ashkitten: but that demo, is relying on the closed-source firmware to initialize the hdmi
<clever> ashkitten: https://www.youtube.com/watch?v=u7DzPvkzEGA this demo however, is 100% open source, zero blobs involved, and generates the same animation on NTSC/composite
<ashkitten> sick
<hodapp> sometimes I forget the Pi can generate composite
<clever> hodapp: every model can do it, even the pi0
<ashkitten> i found a video implementing something based on this paper https://maverick.inria.fr/Publications/2009/CNLE09/CNLE09.pdf
<hodapp> depsite having... 2 or 3 original Pis with the composite jack and all
<ashkitten> so i wanted to make something myself based on that also
<samueldr> clever: CM4 too? I mean, is it broken out too?
<ashkitten> it's a really exciting idea
<clever> samueldr: the pi4 has it in the headphone jack, so the soc can do it at least...
<samueldr> yeah, that far I know
<hodapp> I'm still poking around with generative/procedural geometry, mostly in Rust lately
<samueldr> I assume the 400 is on the jack too
<clever> samueldr: pi400 is the only model with the headphone jack missing
<hodapp> ashkitten: I read that paper in 2013 and found it pretty fascinating. Fabrice Neyret does some cool things
<clever> samueldr: so no composite vid on the pi400
<samueldr> oh
<clever> (and pi0 also lacks it)
<samueldr> sure, but it lacks so much out of the box :)
<ashkitten> hodapp: if i can get that much performance in a game engine that would be incredible :D
<samueldr> a lil' bit of elbow grease (or flux and solder) and you have composite out!
<hodapp> ashkitten: did you see https://github.com/s-macke/VoxelSpace too?
<clever> samueldr: page 17, pinout
rj has joined #nixos-chat
<samueldr> too much info to distill
<ashkitten> hodapp: ooh neat
<clever> samueldr: interesting, i dont see composite video there
<ashkitten> hodapp: the thing that piqued my interest is https://youtu.be/i7vq-HY10hI
<hodapp> I've not done much with volume rendering with voxels, but I have done simple implementations of Hypertexture sorts of stuff (like they cite in the paper I think)
<clever> samueldr: nvm, found it, pin 111, VDAC_COMP
<hodapp> I look at things on Shadertoy sometimes and I wanted to implement more stuff from 'Texturing & Modeling: A Procedural Approach'
<clever> samueldr: have you seen the pinout of the bcm2835??
<samueldr> clever: no
<ashkitten> hodapp: it's unfortunate that shadertoy is full of really unreadable code :(
<ashkitten> it's unapproachable
<samueldr> I'm not really invested in the actual hardware stuff still
<hodapp> ashkitten: yeahhhhhhhhh a lot of it is
<samueldr> my ladder of abstraction starts at the logical side of the pinout
<clever> samueldr: if the composite isnt brought out to a testpoint, you would have to solder to one of those pins
<ashkitten> hodapp: that's why when i was getting interested, i tried to write code with the specific purpose of being as readable as possible https://www.shadertoy.com/view/XdSBDd
<clever> ashkitten: i am also familiar with the pi0-pi3 era 3d hardware
<ashkitten> i don't think this is in any way efficient, but it does work and demonstrates raymarching techniques in a readable fashion
<hodapp> ashkitten: check out https://www.mattkeeter.com/research/mpr/ too... it's not exactly voxels but the math and optimizations are kind of neat
<hodapp> keeter does some cool work, I've been following libfive awhile
jared-w has quit [Ping timeout: 248 seconds]
Synthetica has quit [Ping timeout: 276 seconds]
<ashkitten> hodapp: ooh. i got a lot of my info from inigo quilez's website
Synthetica has joined #nixos-chat
Guest88372_ has joined #nixos-chat
sorear has joined #nixos-chat
<hodapp> ashkitten: you just raymarching here, not sphere tracing?
<colemickens> still don't blog but here are my hydra notes and pointers: https://discourse.nixos.org/t/define-custom-script-for-hydra-jobset/12768/5?u=colemickens
<ashkitten> hodapp: raymarching sdfs
jared-w has joined #nixos-chat
<colemickens> I think it has some nice/useful things.
<hodapp> ashkitten: but you're using the distance function versus just constant stepping, I mean?
<ashkitten> yes
<hodapp> https://www.shadertoy.com/user/hodapp is me... haven't done much in awhile
<clever> ashkitten: this is an example of a shader for the rpi gpu
<ashkitten> hodapp: neat! i haven't done much either
<clever> ashkitten: its formated as 3 colums, col1 is only add based opcodes, col2 is only mult based opcodes, col3 is misc control flags
<hodapp> https://www.shadertoy.com/view/WlXXzl does full hypertexture raymarching
<hodapp> which isn't that hard but it can make some neat volume effects
<clever> ashkitten: all 3 columns get encoded into a single 64bit opcode, that will run the whole line at once
<ashkitten> hodapp: at one point i tried to write a thing in rust to be something like shadertoy... it kinda fell into disrepair though https://github.com/ashkitten/yotredash
<ashkitten> hodapp: that's very neat!
<hodapp> thanks. the procedural-voxels approach brought it to mind because it's similar in some ways
<ashkitten> clever: huh, neat
<ashkitten> hodapp: i'm probably gonna base my initial raymarching implementation on https://www.shadertoy.com/view/4dX3zl
<clever> ashkitten: each opcode takes 4 clock cycles to execute, in a 4-stage pipeline
<clever> ashkitten: to avoid scheduling/stalling complications, a given thread only runs on every 4th clock cycle, so you can always use a reg immediately after you write to it
<hodapp> ashkitten: neat
<clever> so its kinda like hyperthreading, 4 banks of registers, 1 thread each, sharing a single cpu pipeline
<ashkitten> huh
<ashkitten> hodapp: basically i have to actually like... start the whole thing though
<hodapp> hah
<ashkitten> hodapp: which means dealing with how to set up a vulkan rendering context in rust
<ashkitten> and learn about vulkan
<hodapp> yeahhhhhh....
<hodapp> keep me posted regardless
<ashkitten> at some point i figure it might be neat to write the shader code in rust as well
<hodapp> my current rabbit-hole is into libfive, OpenSubdiv, and my own weird homespun mesh generation code vaguely reminiscent of l-systems
<hodapp> hm, like in an EDSL that turns to shader code?
<clever> ashkitten: there is also a second feature, to get even more usage out of the 3d hw
<ashkitten> but idk the state of being able to compile rust to spirv or whatever, and it will be relatively trivial to replace my glsl code with rust if/when the time comes
<clever> ashkitten: you can do some volentary context switching, when you know an operation will stall, you can give up the cpu core, and tag-out with a 2nd thread
<ashkitten> so i'm not worrying about it for the moment
<clever> ashkitten: when you tag-out, it swaps the upper and lower half of registers, so you loose half the registers as a result, but can do more compute instead of stalling
<ashkitten> interesting
<ashkitten> hodapp: the thing i worry about is like, once i get some more complex geometry, i'm going to start running into worst-case scenarios too often for it to be performant
<hodapp> ashkitten: what sort of worst-case scenarios?
<clever> ashkitten: for 2d scenes, you need some vertex data (an array of x,y,z,w,vary0,vary1,vary2 for example)
<ashkitten> hodapp: i imagine a small tube is pretty bad
<hodapp> ashkitten: oh, as far as its voxel representation?
<ashkitten> since it would have to go down to the highest level of detail just to figure out that the ray doesn't hit anything
<clever> ashkitten: then you need a primitive list, in this case, its saying to make a triangle from vertex 0,1,2
<ashkitten> hodapp: yeah
<clever> the de-coupling, means you can then make a second triangle, using vertex 0,1,3, and it will share one side
<clever> and you need less vertex data, to describe the same shape
<ashkitten> clever: i'll be honest this is very interesting but i'm losing focus on what you're saying
<ashkitten> maybe another time
<clever> sure, hit me up
<srk> sounds similar to GLs indexing
<clever> srk: i heavily suspect this hardware was built around GL concepts, so it would be able to efficiently implement Gl
<clever> so there isnt much to translate over
<hodapp> ashkitten: I feel like there has to be some kind of octree/kdtree optimization that can help this...
<ashkitten> hodapp: if you find something let me know
<srk> clever: makes sense :)
<srk> reminds me I wanted to take a peak at vulkan
<clever> srk: the XY coords in a vertex, are 16bit each, in my example prog
<clever> each vertex is 24 bytes
<clever> srk: page 68, code 32, tells the gpu where the index list is, and its dimensions
<clever> you give it the highest index allowed, so it can detect errors and set an upper limit on the vertex array
<clever> a length, as-in how many indexes are in the index list
<ashkitten> clearly i just need to change the laws of mathematics so raymarching can be done in constant time
<clever> a bit width, 8 or 16
<clever> srk: and finnaly, a mode, points, lines, triangles, and some others
<srk> cool, yeah looking at the primitives
<hodapp> ashkitten: you can precompute your voxel data to a signed distance field (or bound) :P
<ashkitten> that doesn't help certain worst case scenarios
<hodapp> then um.... add a lot of fog
<hodapp> and say it's a feature
<clever> srk: so basically, you just feed it some uniforms (an array of constants, given to every pixel), some vertex data, vertex data indexes, and a shader
<hodapp> they had more than that
<clever> srk: it will auto-compute what polygon every pixel lands within, and then run the shader on every pixel (possibly multiple times)
<srk> clever: if you wanted to run a GL program you "just" translate it for vc4? is that what typically mesa does?
<clever> each time it gets ran, it gets the same list of uniforms, and it will interpolate the varyings based on the coord in the polygon
<clever> srk: yeah
<srk> I see, how far is the support now?
<srk> ^^ :D
<clever> i implemented my own opengl, ontop of my own custom kernel driver
<clever> it only supports 2d polygons, in a single app, but it did work
<srk> neat
<samueldr> hodapp: oh, I just now see what you did there
<clever> srk: if you pop open core.c, you can see how simple the translations are
<clever> srk: for example, check line 231
<srk> nice
<clever> the thing i never figured out, was a shader compiler, and vertex shaders
<clever> i was basically going in blind, having never used opengl before :P
<clever> implementing my own opengl from scratch, was simpler then figuring out how mesa handles it
<srk> yeah, another framework to comprehend
<srk> now I want to try running some GL apps on Pi with mesa
<clever> srk: the pi currently has 4 different GL stacks that are fully functional
<clever> srk: first, is the original closed-source stack, where every single opengl function is just an RPC call into the firmware, calls vanish into a black hole, and renders come back out
<clever> srk: that closed stack works on the whole pi0-pi3 lineup, and i think its the default
<clever> second, you have the mesa based GL stack with the open drivers
<clever> that stack isnt recommended on things like the pi0, because it reserves a 256mb chunk of ram for 3d stuff, and now your missing half your ram
rj has quit [Ping timeout: 240 seconds]
<clever> the closed stack doesnt have that problem, because it uses a different heap function, and can co-exist with other GPU resources
<hodapp> so that isn't like a hardware-level division?
<clever> 3rd, the bcm2711 has a second mesa based stack, because the SoC changed too many things
<clever> 4th, the vulkan stack
<clever> hodapp: the 3d hw on the pi0-pi3 line, lacks an MMU, so all resources must be contigious in the physical space
<clever> the simplest option for that in linux, is the CMA heap, a dedicated region for big fat contigious objects
<clever> by making it over-sized, you have less problems due to fragmentation of the free space
<clever> but the closed firmware, has a different solution, the same one palmos used
<clever> just defrag the heap!
<clever> hodapp: if you know c/c++, you should realize, something is going to break there...
rj has joined #nixos-chat
<gchristensen> anyone know if the github API exposes the # of reactions on a PR?
<clever> gchristensen: i dont see it in `curl https://api.github.com/repos/nixos/nixpkgs/pulls?per_page=1 | jq`
<gchristensen> it seems if you treat the PRs like issues it works ...
<gchristensen> curl --header "Accept: application/vnd.github.squirrel-girl-preview" https://api.github.com/repos/org/repo/num/reactions
<clever> ah
<clever> hodapp: the closed-source firmware, has a dedicated heap for large objects, and every object is referenced by a handle, rather then a pointer
<clever> hodapp: it will dynamically shuffle objects around on its own, to ensure all of the free space is contigious
<gchristensen> whew, that is a bit annoying, but okay
<clever> hodapp: there is a lock function, that will temporarily freeze an object at its current location, and return its addr, and an unlock function to let it roam again
rajivr has quit [Quit: Connection closed for inactivity]
<clever> srk: aha found it!, look at this opengl implementation!
<ashkitten> ugh, some rust libraries have an annoying habit of not declaring libraries as needed and then panicking at runtime if they can't dlopen() them...
waleee-cl has joined #nixos-chat
rj has quit [Ping timeout: 240 seconds]
<cole-h> dlopen was a mistake
<philipp[m]> Sounds like the kind of behavior that serves as a warning that this piece of software will provide a wealth of other annoying habits when you use it.
rj has joined #nixos-chat
<hodapp> first dynamic linking is literally communism, now dlopen should be gone too?!
<ashkitten> is it a bad idea to use the build script to explicitly add them as dynamic link dependencies?
<hodapp> dunno if it's a *good* idea but it's probably a better idea than deferring failures to runtime
<ashkitten> dlopen was a mistake
<ashkitten> change my mind
<hodapp> everybody wants plugin architectures
<hodapp> they were the hottest thing ever in 1997
<hodapp> and the only scripting languages in 1997 were, like, Tcl and Perl and nobody wanted to use those
<adisbladis> Unix/linux is full of mistakes...
<adisbladis> I even think rpaths are a mistake
* hodapp slams door
<adisbladis> hodapp: Been there done that
<eyJhb> adisbladis: What about.. Smoke signal PC?
<MichaelRaskin> hodapp: because drivers, obviously
rj has quit [Ping timeout: 240 seconds]
<hodapp> it's fine
<hodapp> you can use your other Plan 9 box to connect to and something something something map its keyboard device file
rj has joined #nixos-chat
<ashkitten> hodapp: something tells me this isn't working 100% correctly... https://i.imgur.com/O0NtYVi.png
<pie_> me, wondering who could have possibly packaged eresi
<cole-h> :shipit:
<pie_> > aszlig
<{^_^}> undefined variable 'aszlig' at (string):494:1
rj has quit [Ping timeout: 240 seconds]
<pie_> guess i shouldnt be surprised xD
<pie_> aszlig: what were you doing with it?
<aszlig> pie_: reverse engineering
<samueldr> ugh, I'm extremely sad, somehwat angry and really annoyed at a bad interaction I've just had with people from another distro :(((((
<samueldr> I don't know if the fault lies with me
<drakonis> hmm
<drakonis> which distribution woudl that be?
<samueldr> but I was asking if there was a common location to get information about *cross-distribution* works on aarch64+UEFI and related topics
<drakonis> would it be rather?
<drakonis> no harm in not saying it
<samueldr> and it looked like I never was able to get the point across
<samueldr> drakonis: yes there is
<aszlig> pie_: mostly as an attempt produce binary patches that survive upstream updates =)
<samueldr> I won't name 'em
<aszlig> pie_: but i ended up using r2pipe in the end
<drakonis> i said there is no harm in not doing it
<drakonis> but i have an inkling of which one it might be
<hodapp> ashkitten: eep, what are you trying to do?
rj has joined #nixos-chat
<ashkitten> trying to run my shader!
<samueldr> it seems that whatever "success" they have is despite their efforts, in many ways :(
<samueldr> and that's putting a HUGE damper on a project of mine
<hodapp> you've certainly created some interesting pixel-space artifacts :P
<samueldr> enough that I just want to lay in bed and do nothing for a while
<ashkitten> it's probably something uninitialized...
<ashkitten> but idk what that means
<hodapp> does GLSL even let you leave something un-initialized?
<ashkitten> sure
<ashkitten> oh
<ashkitten> using the version of the shader from yotredash works
<samueldr> I really don't get it... is asking whether there is a cross-distribution hub for an effort such a bad question that should be met with hostility?
<ashkitten> i must've fixed something that was buggy from shadertoy since then
<ashkitten> idk why i used the shadertoy version lol
<ashkitten> hmm it's upside down
<ashkitten> uh, is vulkan's coordinate system flipped from opengl?
<samueldr> so I guess there's no hope at reducing the already bad issue of duplicated effort at a simple task betwen distros...
<samueldr> that's fun
<ashkitten> apparently so...
<samueldr> UGH
<samueldr> been re-reading the logs
<samueldr> and apparently stating what was just said is enough to be responded to with "piss off"
<samueldr> it's just so odd... they continuously stated they are working with other distros, and yet, that having a centralized "hub" of sort to document the current state of coordination between distros is not desired
<__monty__> Maybe it came across as some sort of external control?
<samueldr> maybe, but I wasn't even "telling" them "oh, get into my group of whatever"
<samueldr> because I don't want to "lead" an effort I'm not already involved with
<samueldr> I want to help those distros realize there is a lack of information for that coordination
<samueldr> and get more involved with that coordination
<samueldr> which is impossible because you have to be "in the know" to know anything about it!
<samueldr> I was told "it happens upstream"
<samueldr> but nothing about how to know more about thos current efforts that are *apparently* happening upstream
<samueldr> you just have to trust that it's happening
<samueldr> no way to get involved
<samueldr> help out
<samueldr> but eh
<samueldr> it happens upstream
<samueldr> didn't I tell you?
<samueldr> I told you so many times that it happens upstream
<samueldr> yes I'm extremely sour
<samueldr> tasted a lemon and it was sweet
<samueldr> bitter maybe is the right word
<infinisil> >> See the "LOCAL CONNECTIONS" section of X(7) for details.
* infinisil opens man X
<samueldr> man 7 X # there might be more than 1 man page for X :)
<infinisil> Pattern not found (press RETURN)
<infinisil> Same for `man 7 X`
<infinisil> Just great!
<samueldr> heh
<infinisil> If you can't get the X man page: https://github.com/NixOS/nixpkgs/pull/121737
<{^_^}> #121737 (by Infinisil, 2 minutes ago, open): xorg.xorgdocs: Make man pages discoverable by manpages
Synthetica has quit [Quit: Connection closed for inactivity]
<samueldr> I guess I'll pout and stew for a few hours more, hoping it won't follow me to be
<samueldr> bed*
<samueldr> amusingly enough, this is all because I spent almost a week of off-time work trying to get something working
<samueldr> which was a known issue
<samueldr> but since there is no centralized location for those issues
<samueldr> you just had to know
<samueldr> I somehow have to wait until they have enough benevolence to write out some distribution-centric guide about a specific platform to read between the lines in closing statement that yes, the issue I'm having is common to multiple distros
<samueldr> sorry if I'm killing the joy right now
<samueldr> killing the mood*
<samueldr> if y'all tell me to piss-off about it I know your hearts are at the right place though
<cole-h> what if we tell you to piss-on?
<samueldr> on what?
<samueldr> and
<samueldr> eww
<cole-h> lol
rj has quit [Ping timeout: 240 seconds]
rj has joined #nixos-chat
<pie_> aszlig: aha
<pie_> samueldr: i can be angry with you :D
<pie_> samueldr: well *you* could post something somewhere
<pie_> or at least jus tthe stuff you figured out
<pie_> samueldr: as much as i know you im going to by-default agree that youre right and they're assholes
<samueldr> the thing is it would need some involvement from people who know things to tell whether it's a known problem or not
<samueldr> I think they also assumed that I was like a "total newb" or things like that, just more gatekeeping
<pie_> *shrug*
<samueldr> not even asking what was my familiarity and involvement
<pie_> I only had an annoyingly bad interaction once so far and ended up solving things by other avenues
<philipp[m]> That would make it even worse, tbh
<samueldr> philipp[m]: ?
<philipp[m]> samueldr: Just being rude to newbs and telling them to piss off is extremely toxic.
<samueldr> yeah
<samueldr> there was so much unhidden condescension in the answers :(
<samueldr> instead of telling me how to get the answers from upstream
<pie_> afterwards i went back, reported what i figured out, and got a second obnoxious person banned
<samueldr> just
<samueldr> go upstream
<pie_> fun time overall >_>
<samueldr> it's so easy
<samueldr> see
<samueldr> you go upstream
<samueldr> and you'll see all of the cross-distro cooperation
<philipp[m]> They really did a number on you.
<samueldr> which just happens as a side-effect of actors being from different distros
<samueldr> not as a concerted effort
<samueldr> yes
<samueldr> I had some hope that maybe we could "solve" a big issue with ARM SBCs
abstrn has quit [Ping timeout: 240 seconds]
<samueldr> but I see that what is happening is despite their best efforts
<pie_> samueldr: is there *another* person that _didnt_ tell you to piss off that you could talk to?
<samueldr> not at that place
<pie_> *nod*
<samueldr> not at that key distro
<pie_> well if nothing else, i have hugs on offer
<samueldr> yeah, no worries :)
<samueldr> so frustrating, since I'm only seeing wasted efforts and work happening in the shadows
<samueldr> if there was a single place to point to "here, that's where you can start getting involved" it would help
<samueldr> but even *for their specific distro efforts* there isn't
<f0x> samueldr: here's a cat :p
<samueldr> I feel the dial-up experience with that image
<cole-h> haha
<samueldr> oh, I can snuggle my face into my stinky cat if I want to
<f0x> big cat small uplink :P
<samueldr> yeah, and maybe inter-continental issues too
<samueldr> I assume pixe.town is somewhat in europe
<f0x> yeah but it's slow for europeans too before it gets cached on the nginx proxy
<samueldr> ah
<philipp[m]> And 5mb is kind of a lot.
<f0x> as it has to get through my home dsl first, to a bunch of early clickers simultaneosly
abstrn has joined #nixos-chat
__monty__ has quit [Quit: leaving]
<ashkitten> vulkan hates me
<ashkitten> i have no idea what i'm doing
rj has quit [Ping timeout: 240 seconds]
rj has joined #nixos-chat
Synthetica has joined #nixos-chat
<colemickens> I wonder if a FUSE<->nix store thing would be helpful for cases where CI needs to "rebuild" my system, but the only things that need to be built are the very last bits of toplevel.
<colemickens> Where you don't ACTUALLY want to download 3GB of closure, just to be able to write a few text files.
<samueldr> when I started using Nix I was wondering if there could be an easy way to "just" share the cache between local computers (your own)
<samueldr> so that store paths found on other caches maybe gets populated on first access?
<samueldr> because if you do nothing about it, you can hit the nixos.org cache a lot of times on a local network :)
<colemickens> lol, when I was playing with netboot, I had a service taht would dump the nix store every minute, and anohter job on the netboot'd pi that would import that dump every few minutes >_< very silly
<colemickens> I don't want to run a NAS again, but a transparent caching binary cache would be such a nice use
<samueldr> a Nix cache-and-store-aware FUSE fs would be interesting
<andi-> samueldr: there is still my local-nix-cache experiment that uses avahi to discover local nix caches (other computers and subsitutes from them what came from cache.nixos.org)
<samueldr> heh, forgot about that
<samueldr> though would be interesting to also allow substituting other builds
<andi-> Covid solved that problem for me. My binary cache is on the local network...
<samueldr> I guess it also ties into the "local builds signature" user story
<cole-h> andi-: haha
<samueldr> yeah, I never dug since it's solved for me by nixos-rebuild --build-host for 99% of the benefits
<andi-> I also use a caching HTTP server instead of cache.nixos.org while at home
<MichaelRaskin> At some point I had weird ssh port forwarding just to make sure that the connections to nix-serve are either working or fail instantly…
<ashkitten> anyone here know vulkan?
abathur has quit [Ping timeout: 252 seconds]
<infinisil> Is there a simple command that opens an X window for the user to enter an arbitrary string?
<infinisil> The string being returned on the stdout of the command
<colemickens> zenity
<colemickens> well, thats gtk, not sure if that fits
<samueldr> though a good search term to find equivalents
abathur has joined #nixos-chat
<infinisil> ,locate bin zenity
abathur has quit [Client Quit]
<{^_^}> Found in packages: gnome3.zenity
<infinisil> Oh that's perfect, thanks colemickens
<infinisil> zenity --password in my case
<samueldr> make sure you don't put that output onto a CLI
<infinisil> The X window doesn't appear centered, which is a bit odd
<samueldr> well, a command-line argument
<infinisil> Yeah :)
rj has quit [Ping timeout: 240 seconds]
rj has joined #nixos-chat
Dotz0cat has joined #nixos-chat
omnd has joined #nixos-chat
lunc has quit [Ping timeout: 252 seconds]
supersandro2000 has quit [Killed (tolkien.freenode.net (Nickname regained by services))]
supersandro2000 has joined #nixos-chat
rj has quit [Remote host closed the connection]
rj has joined #nixos-chat
rj has quit [Ping timeout: 240 seconds]
rj has joined #nixos-chat