gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
gchristensen has joined #nixos-chat
<Shados> server.
<Shados> Ralith: As a fan of Erlang, yes, yes it can be used as an argument to make any discrete code unit a separate process :^). But I assume you're more wondering if the argument is particularly notable in this case; I think it is, because compositor is both vastly more likely to crash than the display server functionality, and also *can* be restarted/recovered from without much (potentially 'any') interruption to the user. The same is not true of the display
<Ralith> I mean, go ahead and writing a wayland compositor in erlang if you think it's a good idea, but architectural complexity tends to have steep costs of its own
<Ralith> in my experience software that is composed of many "independent" processes tends to be the most fragile of all, due to complex interdependencies and high barriers to communication
<Ralith> idiomatic erlang systems, where the entire ecosystem is built to solve those issues, notwithstanding
nckx has quit [Quit: Updating my GNU Guix System <https://guix.info>]
nckx has joined #nixos-chat
<Shados> Ralith: I've looked into doing just that (writing a wayland wm/compositor/display server in Erlang) fairly extensively, it's why I'm not very convinced about wayland's design. As an aside: recovering from compositor crashes in wayland requires client support as well as internal separation between display manager and compositor. There *are* two (different) implemented protocol extensions for this FWIR, but neither have mainstream support on either the client
<Shados> or server side (there's no session recovery in wlroots, for example).
<sir_guy_carleton> Shados: how widely adopted is wayland nowadays? do you think the old xorg system is on its way out?
<Shados> I guess mostly I'd want to see some extra protocol specs for things like display server<>compositor communication, and generally more standardization around extensions. A semi-formal RFC/extension proposal process, like Rust or Python use, perhaps.
<Shados> Which kinda exists
<Ralith> rust/python don't have extensions in that sense
<Ralith> they have new features
<Shados> Yes. And extensions would benefit from a hell of a lot more standardization than they're getting now. Fragmentation is currently a real issue for wayland. Maybe it'll resolve itself as-is over time, but I think it'd be good to actively try to improve the situation.
<Ralith> absolutely, I just mean that rust/python's specific processes might not be ideal models
<Ralith> since they're designed for making changes to a monolithic core, not adding optional extras that aren't necessarily even of interest to most users
<Shados> I understand Wayland's choice to keep the core absolutely minimal, so as not to lock in as core some features that may be utterly irrelevant on some of the intended/possible usages and platforms (how many core X features do you need for a kiosk computer, say?)
<Ralith> hell, how many X features do you need on a desktop? :P
<Ralith> there's a lot of wacky stuff that never gets used
<Shados> Yep
<Ralith> contrast the Khronos model, though they're annoyingly black-box about it so it might not be that useful a reference aside from the technical details
{^_^} has quit [Read error: Connection reset by peer]
* Ralith has griped at committee members about this
{^_^} has joined #nixos-chat
<Shados> I also think this choice of totally-minimal-core is proving harmful in some respects. There could be a more balanced path between the two extremes; e.g. define some sort of versioned feature-sets / groups of features / targets, use an RFC process to decide what goes in each, and then clients and servers can implement the ones that matter to their target audience.
<Shados> have multiple core-ish protocols branching off, in effect :P
<Ralith> I think that type of design is often referred to as profiles
<Ralith> as seen in e.g. zigbee
<Ralith> (note zigbee's history of compatibility issues)
<Ralith> (iirc profiles were specifically an attempt to correct that; not sure how successful they've been)
<Shados> The profiles concept pops up in a few network protocols, yeah. I think it is much less useful for them than it could be for wayland.
Synthetica has quit [Quit: Connection closed for inactivity]
drakonis1 has joined #nixos-chat
drakonis has joined #nixos-chat
iqubic has joined #nixos-chat
gchristensen has quit [Quit: Connection closed for inactivity]
sir_guy_carleton has quit [Quit: WeeChat 2.4]
drakonis has quit [Quit: WeeChat 2.4]
drakonis has joined #nixos-chat
drakonis_ has joined #nixos-chat
drakonis1 has quit [Ping timeout: 248 seconds]
drakonis has quit [Ping timeout: 248 seconds]
Myhlamaeus has quit [Ping timeout: 248 seconds]
endformationage has quit [Ping timeout: 258 seconds]
pie_ has quit [Ping timeout: 252 seconds]
Synthetica has joined #nixos-chat
__monty__ has joined #nixos-chat
pie_ has joined #nixos-chat
<joepie91[m]> I'm more in favour of 'support levels'
<joepie91[m]> ie. each level includes all the stuff of the previous one
<joepie91[m]> that reduces the amount of featureset mismatch issues
<Taneb> I think support levels end up not matching up with reality
<joepie91[m]> while still making it relatively easy to produce a basic implementation
<Taneb> Especially with the handful of Mac OS exclusive packages
<joepie91[m]> how so?
<joepie91[m]> Taneb: are we talking about the same thing?
<Taneb> Probably not
<Taneb> I just saw your message and assumed, I'm afraid
<joepie91[m]> I'm responding to the earlier discussion about profiles in specifications :)
<joepie91[m]> right :P
<Taneb> I was thinking about something I remember seeing recently about support levels in nixpkgs
<Taneb> Sorry for assuming
<joepie91[m]> haha, no worries
<__monty__> Is it just me or has the free travis service basically stopped working?
<__monty__> Hmm github's also pretty sloggy for me today.
pie_ has quit [Remote host closed the connection]
pie_ has joined #nixos-chat
pie_ has quit [Ping timeout: 258 seconds]
pie_ has joined #nixos-chat
pie_ has quit [Remote host closed the connection]
pie_ has joined #nixos-chat
pie___ has joined #nixos-chat
pie_ has quit [Ping timeout: 248 seconds]
<flokli> __monty__: github tells all systems are operational. it might be travis is still busy catching up with notifications and has a hugge build backlog it needs to churn through because of https://www.githubstatus.com/incidents/nf4gcjtcsqdb
<__monty__> flokli: Hmm, might be.
pie___ has quit [Remote host closed the connection]
pie___ has joined #nixos-chat
pie_ has joined #nixos-chat
pie___ has quit [Ping timeout: 246 seconds]
gchristensen has joined #nixos-chat
__monty__ has quit [Ping timeout: 258 seconds]
<pie_> :OO <Shados> Ralith: I've looked into doing just that (writing a wayland wm/compositor/display server in Erlang) fairly extensively,
drakonis has joined #nixos-chat
<gchristensen> neat...
drakonis_ has quit [Ping timeout: 244 seconds]
noonien has joined #nixos-chat
Guanin has joined #nixos-chat
Guanin_ has joined #nixos-chat
Guanin_ has quit [Client Quit]
<Shados> pie_: On a related note, there's actually a handful of very cool GUI mini-frameworks in Erlang. Unkillable, highly responsive UIs :P.
<pie_> im mildly intrigues
drakonis_ has joined #nixos-chat
<pie_> intrigued
<pie_> ive been erlang curious recently but the syntax doesnt look that appealing. i dont mind prolog. well, guess i just have to try it at some point
drakonis has quit [Ping timeout: 250 seconds]
<yorick> pie_: try elixir then
<pie_> elixir has pascal style scoping thoguh right? :(
<yorick> not that I know of
<pie_> ah. well, nevermind then
<yorick> pie_: what's pascal style scoping?
<pie_> uhhh....cant remember the keywords offhand
<pie_> the begin end junk
<pie_> its like {} but with words :p
<yorick> um, that's not scope
<pie_> blocks
<yorick> pie_: but yes, it has case.. do.. end and fn..end
<yorick> pie_: this is an improvement upon erlang's 3 different ways to end lines
<yorick> (, ;, .)
<yorick> pie_: the world should stop writing bad wayland compositors
<pie_> im still just using x11 >_>
<yorick> pie_: why
<gchristensen> I think there are lots of reasons to use X11
<pie_> yorick, havent had brain space to figure it out
<pie_> x11 ships by default
<gchristensen> for example: X11 has crashed fewer times in my life than sway crashes in a month.
<pie_> gchristensen, guess you dont use docks
<yorick> gchristensen: sway master is probably more stable
<pie_> or maybe its just plasma...
<gchristensen> I do use a (hardware device) dock, and it is why I switched to sway
<yorick> someone has to run wayland to report all the bugs :P
<gchristensen> yorick: that isn't a very compelling advertisement
<yorick> gchristensen: yes, most people shouldn't run wayland, but pie_ isn't most people
<gchristensen> aye
<gchristensen> pie_ is definitely unique ;)
<gchristensen> anyway, I'm a happy sway user, but I'm also I'm still smarting from how they handled my bug report
<yorick> gchristensen: I think the merging of window manager and compositor is a bad idea here. normal WM crashes are easily recoverable
<yorick> gchristensen: also, most of the sway crashes are memory issues, writing this in C is sad
<gchristensen> I agree :(
<yorick> the wayland model where your objects can just disappear externally is hard to handle
<gchristensen> honest, though
<pie_> aww guys im flattered :p
<yorick> gchristensen: well, they could guarantee stuff, instead of deconstructing windows from the bottom up
<gchristensen> not sure I understand
<yorick> or clear the event queue for nonexistent objects
<gchristensen> ah heh
<yorick> if a window is closed, the attached objects (buffers, etc) first disappear
endformationage has joined #nixos-chat
drakonis has joined #nixos-chat
drakonis_ has quit [Ping timeout: 250 seconds]
iqubic has quit [Remote host closed the connection]
waleee has joined #nixos-chat
drakonis_ has joined #nixos-chat
drakonis1 has joined #nixos-chat
<gchristensen> has anyone setup a backup exchange with friends?
drakonis has quit [Ping timeout: 264 seconds]
<infinisil> gchristensen: Like, lend each other part of their disk?
<gchristensen> yea
<infinisil> I tried to, but nobody seemed interested :/
<gchristensen> interesting
<Taneb> I have a very... ascetic... approach to backups
<gchristensen> that is very Buddhist of you
* infinisil looked up the definition of ascetic but has no idea what it could mean regarding backups
<Taneb> If I don't value my files, I don't need backups
<gchristensen> you're much further along the eight fold path than I am
<aminechikhaoui> pretty nice https://github.com/sponsors
<Taneb> gchristensen: or I've just got a complicated and pretentious excuse for being lazy
<gchristensen> I also have had a long and successful history of being lazy at backups , but the last week has been ... testing ... my luck.
ajs124 has quit [Quit: Gateway shutdown]
waleee has quit [Quit: WeeChat 2.4]
waleee has joined #nixos-chat
ajs124 has joined #nixos-chat
<Taneb> How many beers have your computers stolen?
<gchristensen> just one, thankfully
<joepie91[m]> gchristensen: like I said, it's the month of data loss :P
<gchristensen> omg you cursed me
<joepie91[m]> aminechikhaoui: I'm a little skeptical. time will tell of course, but so far it's looking like a landgrab by cloning patreon/opencollective but giving away free money
<joepie91[m]> perhaps they have the intention of going beyond that and genuinely addressing OSS funding
<joepie91[m]> but the giving away of free money makes me skeptical in particular, and I don't really think that we (as the OSS community) need github to control even more things :)
<eyJhb> gchristensen: one of my friends just lost all the data on her SSD. For some reason it zeroed out, very fast.
<pie_> hopefully not some new randomware :P or a cosmic ray sending the zero command
<gchristensen> sounds like it securely erased or something
<pie_> thats what i meant
drakonis1 has quit [Quit: WeeChat 2.4]
<gchristensen> ah yeah
drakonis has joined #nixos-chat
<eyJhb> No, but it doesn't make sense how it happened, because erasing 120 GB of data to be all zeros, would take more than.... 40 secounds
<eyJhb> And gparted won't normally zero out the disc
<gchristensen> secure erase removes the encryption key and then I think it returns all zeros
<eyJhb> gchristensen: on mac osx?
<samueldr> SSDs AFAIUI keep some metadata about their own blocks mapping and will know they've not been re-used yet, adding to the explanation
<eyJhb> Ohhh
<samueldr> (though dunno about apple's SSDs)
<gchristensen> I think that is generally true of all SSDs now
<eyJhb> That would somewhat make sense, so she was basically screwed, correct?
<gchristensen> ...yep, heh
drakonis_ has quit [Ping timeout: 272 seconds]
<eyJhb> S obasically, erasing a small portion of the disc, if encryption is used, it will basically zero out?
<gchristensen> the encryption key is internal to the disk, not seen by the laptop
<pie_> * will make the data unrecoverable if implemented properly
<gchristensen> sending the disk command to erase it, well ,erases it. but you could mess up the exposed disk contents and not touch the encryption key.
<eyJhb> Hmm, should prop read up on it. I basically read the whole disc using dd, and it was 120GB of zeros basically
<gchristensen> yeah
<eyJhb> took me quite a while to notice, since I wouldn't have dreamed of it just beeing zeros
<eyJhb> But using wxhexeditor quite quickly revealed, tha tnothing could be saved
<gchristensen> the goal of the encryption key being internal to the drive is being SSDs are notoriously difficult to make data actually unrecoverable, so they can hav ea small bit of memory which is easier to erase containing the key. then, to erase, just flip those bits and drop physical dat amap
drakonis has quit [Ping timeout: 248 seconds]
drakonis has joined #nixos-chat
Myhlamaeus has joined #nixos-chat
<yorick> I wanted to share some colo space to put a few barebones computers on at some point
waleee has quit [Quit: WeeChat 2.4]
waleee has joined #nixos-chat
<gchristensen> is there a simple bittorrent downloader? like, be rude and download this bittorrent file and exit?
<samueldr> not 100% positive it exits https://aria2.github.io/
<gchristensen> nice!
<gchristensen> now we're talking
pie_ has quit [Ping timeout: 248 seconds]
<gchristensen> perfect, thank you samueldr :) I use bittorrent once a year or so. most the other ones feel so "power user"_ey
<aminechikhaoui> I'm curious how does tools such as https://www.rapid7.com/products/insightvm/ do the package scanning in a live system ? does it rely only the package version or does it need to support each package manager to know if an installed package has security updates ?
pie_ has joined #nixos-chat
Myhlamaeus has quit [Ping timeout: 258 seconds]
<pie_> gchristensen, has someone mentioned maybe aria2 yet
<gchristensen> samueldr did :)
<drakonis> gchristensen, i got qbittorrent
<pie_> "There must be an attribute named builder that identifies the program that is executed to perform the build. It can be either a derivation or a source (a local file reference, e.g., ./builder.sh)."
<pie_> which is to say I cant just pass a string right?
{^_^} has quit [Remote host closed the connection]
<pie_> bleh, i should just be using runcommand
<pie_> its been a while since i did that, and forgot about it
{^_^} has joined #nixos-chat
* pie_ gives a rubber-duck-thumbs-up
<pie_> meanwhile, this is satire, can you guys guess which classic american story this is?: “Transported to a surreal landscape, a young girl kills the first person she meets and then teams up with three strangers to kill again.”
<samueldr> every american story?
<samueldr> rot13 -> gur jvmneq bs bm
<pie_> it doesnt count if you googled it
<samueldr> did not :)
<pie_> ok ;D
<pie_> too lazy to unrot but it looks right
<gchristensen> lol
<pie_> smol UI bug
<pie_> nix-repl> builtins.readFile xx.wPFunctionality
<pie_> [1 built, 0.0 MiB DL] querying info about missing paths"a winner is you\n"
waleee has quit [Quit: WeeChat 2.4]
nckx has quit [Quit: Updating my GNU Guix System <https://guix.gnu.org>]
nckx has joined #nixos-chat
drakonis has quit [Read error: Connection reset by peer]
<pie_> joepie91, any knee-jerk preference on having (.withPackages (...)).withpackages (...) be cumulative or overriding?
<pie_> i will need to consider whether to separate a .withPackages and a .withMorePackages
<pie_> but that might complicate things down the line
<pie_> idk
<pie_> havent thought much about it
<pie_> most of this is turning out to be more "try it and see how you can get it to work" than preemptive design :/
drakonis has joined #nixos-chat
drakonis_ has joined #nixos-chat
drakonis has quit [Ping timeout: 250 seconds]
drakonis has joined #nixos-chat
<pie_> wot
<drakonis> wut
<pie_> man i keep constraining my stuff more and more...i need to code for overridability, i need to code for repl access...
<pie_> well, the latter need is more for developer convenience but aaaaa
<pie_> i want to go back to simple code ;~; :P
<pie_> design is tedious
<pie_> where developer = me :P
<drakonis> i need some advice on how to get truly started with writing code with nix
<drakonis> because hoo boy those docs are still varying in quality
<pie_> drakonis, this is nonideal but my experience is blood sweat and asking questions
<drakonis> that's how i normally do things
* pie_ waits intently for additional answers
<drakonis> ah, synchronous execution
<pie_> xD
<drakonis> i absolutely have the hots for flakes
<pie_> hope they arent flaky
<pie_> hypeeee
<drakonis> hype hype hype
<drakonis> alternatively, i didn't know eelco was into baldur's gate
<infinisil> drakonis: The first thing you need for getting started writing code with anything is..
<drakonis> good taste in games
<drakonis> reading docs?
<drakonis> examples?
<pie_> <infinisil> drakonis: The first thing you need for getting started writing code with anything is..<drakonis> good taste in games
<infinisil> xD
<drakonis> haha
<infinisil> No I think the first thing you need is a usecase
<infinisil> Some project that requires Nix in this case
<infinisil> Where you have a goal
<infinisil> E.g. writing a NixOS module for whatever
<infinisil> Or writing a package definition
<drakonis> i actually have a few of these i want to do
<drakonis> writing definitions from scratch might be better than updating them
<drakonis> using the repl might help me out here
<pie_> repl mileage may vary
<drakonis> huh
<pie_> i run into some annoying bugs (mainly with "exception" handling i think) that i havent looked into, but its pretty great otherwise
drakonis1 has joined #nixos-chat
drakonis_ has quit [Ping timeout: 250 seconds]
<joepie91> pie_: hmmm. cumulative feels more consistent with the rest of nixpkgs
<joepie91> and generally seems a saner default? as it allows easier composition
<joepie91> "here is a package X withPackages Y and Z, feel free to add stuff" type API
<joepie91> could then have an overridePackages wrapper/utility to signal that you want to *replace* the existing packages
<joepie91> that sort of API is already used in the NixOS module system afaik
<pie_> exactly what i was thinking <joepie91> and generally seems a saner default? as it allows easier composition
<pie_> <joepie91> "here is a package X withPackages Y and Z, feel free to add stuff" type API
das_j has quit [Quit: "Bye!";]
das_j has joined #nixos-chat
<Shados> pie_: wizard of oz? reminds me that Emerald City didn't make it past S1, sadly
boredom101 has joined #nixos-chat
boredom101 has quit [Ping timeout: 256 seconds]
<gchristensen> is it wrong for me to write garbage back at clients that connect to me?
<samueldr> maybe more chaotic than evil, unless you're actively trying to hijack or cause harm
<gchristensen> what does slowloris count as
<samueldr> slow
<gchristensen> haha
<samueldr> :)
<samueldr> the IPFS thing?
<gchristensen> yeah
<gchristensen> I threw up a quick echo server on port 40001 with every message delayed by 120s
<samueldr> unlocked a xiaomi device's bootloader today... not recommended as it's a painful process... but at least the process is possible
<gchristensen> ooh what kind?
<samueldr> it sat powered off for two weeks
<gchristensen> hmm looks pretty nice actually
<samueldr> because of resellers reflashing xiaomi phones with malware infested roms, or just other roms, xiaomi had to put stringent measures to stop them :(
<samueldr> 2 weeks to unlock, and unlocking devices is linked to a xiaomi account + SIM card
<samueldr> though, once it's done it's done
<samueldr> oh, and the app is flakey AF
<samueldr> the windows application, that is
<samueldr> had to download an older version because it wouldn't unlock with the latest one :/
<gchristensen> oh wow
<samueldr> 手机使用未达到指定时间,无法解锁 → get the unlock tool 2.3.803.10
<samueldr> (and for any logs trawlers, didn't work with virtualbox at all, but a virt-manager VM yes, even through network usb redirection)