<danderson>
gchristensen: tailscaled creates a single tailscale0 interface
<danderson>
and then handles the routing to peers within that interface
<danderson>
so, like any other VPN, really. We make an interface, and route stuff into it.
supersandro2000 has quit [Disconnected by services]
supersandro2000 has joined #nixos-chat
<gchristensen>
cool
<gchristensen>
andi-: ^
<andi->
so no "magic" meshing between clients to reach "hidden" clients?
<danderson>
nope
<danderson>
it's always peer-to-peer, not peer-to-peer-to-peer-to-peer
<danderson>
the one exception is if we can't get a direct tunnel between two peers (e.g. because our NAT traversal can't find a path), the traffic can be relayed through DERP relay servers that we run
<danderson>
those are effectively dumb packet forwarders though, they're relaying encrypted wireguard packets.
<danderson>
Our approach to the "magic meshing" is to always make it possible for two peers to talk to each other directly :P
<danderson>
(obviously doesn't work in some topologies, but...)
<lukegb>
infinisil: I defined a my.ips.tailscale and my.ips.public{4,6} options for this
<lukegb>
but then I do horrible things where my system configurations depend on each other because I'm too lazy to use DNS so I use networking.hosts
<infinisil>
Hehe yeah
<infinisil>
Systems depending on each other is one of the main reasons I made Nixus
* lukegb
looks
<lukegb>
at the moment I'm using GitLab CI pipelines which, err, rsync things around
<danderson>
ha, good timing, nixus is on my list of "maybe we should use that to manage tailscale prod"
<infinisil>
It is very experimental and I don't really have a lot of time to maintain it, so can't really recommend using it in prod!
rajivr has joined #nixos-chat
<danderson>
hah, well, okay then
cole-h has quit [Ping timeout: 260 seconds]
<lovesegfault>
danderson: don't listen to infinisil, nixus works great :D
<lovesegfault>
I use it to deploy at my local nuclear powerplant
<lovesegfault>
But seriously: it mostly works
<lovesegfault>
sometimes your deploy can get stuck, and then you get impatient and ctrl+c, so now the magic-rollback can't talk to the deployer anymore and it freaks out and reboots
<lovesegfault>
and sometimes that happens when you deploy to your own machine
<danderson>
... you're not doing a great job of selling this "works great" angle
<lovesegfault>
Well, that's the only failure mode I've had happen!
<danderson>
"sometimes it reboots my computer" is definitely, uh, interesting :)
<lovesegfault>
And it's very hard to repro
<lovesegfault>
so /me shurgs
<danderson>
yeah, I get it, I was kidding :)
<lovesegfault>
lol, shurgs
<lovesegfault>
that's my new body expression, a shurg
<lovesegfault>
it's like a shrug but with your legs instead
<danderson>
SHEEEERG
<lovesegfault>
Realistically though, there is no rock solid NixOS deployment tool
<danderson>
hence the temptation for us to try and build one
<danderson>
because what could possibly go wrong, right? :P
<lovesegfault>
Well, that depends a lot on what your scope is
<lovesegfault>
Having written my own Nix deploy tool in the past (a bundle of small shell scripts) the basic functionality is dead-simple to implement
<lovesegfault>
it's only when you get into more advanced things that it can get trickier
<danderson>
yup, definitely. I've implemented my own deploy.sh around the guts of nixos-rebuild, so I know how it goes
<danderson>
where it starts getting tricky is cross-machine config, really
<lovesegfault>
advanced things such as: magic rollback (rolling back if you lose ssh connection), magic rollback on reboot, stability rollback (rolling back if you see elevated metrics X and Y within Z hours of a deploy) and so on
<lovesegfault>
define cross-machine config
<danderson>
In the current thing I'm sketching, the main one is setting up wireguard tunnels back to a bastion machine
<danderson>
it would be nice to reach into the other machine's config and grab stuff like the wireguard pubkey
<danderson>
and IPs
<lovesegfault>
I imagine the reliable way of doing that would be to package a deployment client service?
<danderson>
that's about it for right now, honestly. Don't need anything too fancy, mostly "it would be nice to DRY"
<danderson>
lovesegfault: parse error, what do you mean?
<energizer>
it might be nice to have an tailscale initrd service for starting up a machine with encrypted root
<lukegb>
that'd probably be easier once we have systemd-as-stage-1
<danderson>
it might be, but there's the question of where you store machine keys and other state tailscaled needs
<danderson>
and yes, also that :)
<lovesegfault>
Well, I've been thinking recently that the only way to have featureful deployment tools is if they can rely/require for a service to be running on all nodes that they deploy to. To enable things like rollback when metrics go over certain thresholds, rollback if they can't connect to the internet, talking to the deployer to inform them of their keys, configs, etc
* gchristensen
was going to setup tailscale but tycho had other ideas tonight
<danderson>
lovesegfault: hm, unconvinced, although that's definitely an way to do it
<energizer>
lukegb: is that a real thing that's happening?
<lukegb>
energizer: it's a goal, eventually
<lukegb>
I think.
<lovesegfault>
danderson: I'm not _convinced_ myself, to be clear :P
<lukegb>
there's been some talking about it in #nixos-systemd
<lovesegfault>
I just suspect, I guess is the word, at this point
<danderson>
and yeah, I think with that PR gchristensen linked, we can compose the stuff we need in
* lovesegfault
looks at gchristensen's link
<danderson>
TL;DR: add some systemd targets that get invoked during a deploy, so you can hang things like "daemon that reboots after 10 minutes" off those targets in the right structure
<lovesegfault>
gchristensen: what's the status of NixOps? for a while you and adisbladis went on a crazy fix-streak and it looked like it was doing 50 years of development in 5 days, but it seems to mostly have frozen after that?
<gchristensen>
the -prepare hook is awkward because it is the -prepare target of the *old* system that runs
<lovesegfault>
s/days/weeks/
<gchristensen>
lovesegfault: unclear, I don't work at tweag anymore and don't have a lot of extracurricular time to commit to it these days :(
<gchristensen>
I'm really disappointed we didn't get to put a bow on 2.0 before things shifted around
<lovesegfault>
Ah, don't be, such is life :)
<lovesegfault>
y'all did great work
<gchristensen>
thanks :)
thibm has joined #nixos-chat
<gchristensen>
tbh I've been using terraform lately, its plan stage is realy good
<lovesegfault>
we've been using pulumi
<lovesegfault>
It's pretty cool to just have a normal language
<danderson>
I have such mixed feelings about terraform
<danderson>
it's pretty good at what it does, which is "gimme one way to deal with all these silly cloud APIs"
<danderson>
but the constraints imposed by those silly APIs, my god
<lovesegfault>
Whatever happen to NixOS infect and the like
thibm_ has quit [Ping timeout: 264 seconds]
<gchristensen>
you should *see* the (makefile, bash, jq, nix, ...) code I have to generate terraform config files
<lovesegfault>
which promised "set up the VM with whatever you have, and then just transform it to a nixos vm on the fly"
<danderson>
nixos-infect is still going strong, and is delightful
<lovesegfault>
ah, nice
<danderson>
nixos-assimilate I think was the plan to make that "standard" part of nix tooling, and I think that stalled
<danderson>
there's also nixos-generators, which can plop out VM images in various formats given a nixos config, and that's pretty great
<danderson>
"gimme an AMI so I can boot AWS VMs with this"
<lovesegfault>
Yeah, I've used that and it's cool
<lovesegfault>
with pulumi you can just write Go or Python to do your bidding
<lovesegfault>
well, I think they have javascript support too
<danderson>
hmm, nixos's online meme game is remarkably weak
<danderson>
it's hard to enliven talks
<hexa->
infinisil: doesn't get you any nat punching nor address family failover etc
<hexa->
danderson: it's pretty ok in german :)
<hexa->
nix is the colloquial term for nichts, nothing
<danderson>
if your needs are simple, static wireguard tunnels are pretty great :)
<danderson>
I'm going to set some up for Tailscale's prod systems, as our backup access mechanism
<danderson>
It'll be less efficient, no magic features etc... But it'll get packets from A-to-B (via bastion C)
<hexa->
I'm currently running a wireguard/babel setup, 3 servers in a circle, home router attached to two of those, laptop attached to two different ones etc.
<hexa->
it mostly breaks when the LAN has broken IPv6
<hexa->
then I need to poke networkd to reevaluate it's life choices
<hexa->
s/it's/its/
<hexa->
and yeah, the tunnel setup is a bit tedious, even at low two digit numbers
<sphalerite>
danderson: did you see Graham's talk at nixcon 2017?
<danderson>
Probably
<sphalerite>
oh right but that's arguably not online
<cole-h>
I hate anti-cheat that ban VMs :(
<LinuxHackerman>
hot take: anti-cheat should only exist on consoles
<cole-h>
tbh anti cheat should be limited to manual reports + manual review
<siraben>
sphalerite: why is that on systemd.services
<LinuxHackerman>
because someone bought the domain and decided to put it there I guess?
<cole-h>
that's crazy
obadz has joined #nixos-chat
cole-h has quit [Ping timeout: 256 seconds]
<infinisil>
hexa-: Well it is still just Nix
<infinisil>
And used just for deploying a configuration
__monty__ has joined #nixos-chat
<philipp[m]>
Linux Hackerman: Kind of agree on your anti cheat take. I just wish that more game servers would stop trusting the clients with a lot of stuff they shouldn't and only send minimal needed information.
<sphalerite>
I mean, the endgame of that is cloud gaming :p
<sphalerite>
but even then, you could use an AI to play, which I'm pretty sure counts as cheating too.
<supersandro2000>
function GET_REV_FROM_COMMIT and a few lines down I see `GET_REV_FROM_COMMIT`
<supersandro2000>
the code quality...
<sphalerite>
hm, btrfs does _not_ like multiple devices existing with the same uuid :')
<__monty__>
Does zfs deal with that gracefully?
<sphalerite>
zfs doesn't have UUIDs
<__monty__>
The UUID stuff isn't the kernel's responsibility?
<sphalerite>
It is (to some extent), but zfs just doesn't have a UUID in its vdev format, nor as part of pool metadata
<sphalerite>
the UUID is just part of a filesystem's metadata
<sphalerite>
in the same way, a FAT filesystem doesn't have a UUID either
<__monty__>
It's not part of the MBR or GPT? So partitionless btrfs would still have a UUID?
<sphalerite>
GPT also has partition UUIDs, but they're completely separate from filesystem UUIDs.
<sphalerite>
MBR doesn't have partition UUIDs
<__monty__>
Is it because the invariant that UUIDs are unique isn't reliable so zfs simply decided on dealing with not having unique identifiers at all?
<sphalerite>
I'm not sure why zfs doesn't use UUIDs. It does use what it calls "guids" (which seem to be a lot smaller than UUIDs though).
<sphalerite>
I suspect zfs would refuse and ask you to specify a device if it does find two distinct copies of the same pool, I haven't tried it though.
<sphalerite>
meanwhile btrfs just blows up and it seems you have to (1) remove the duplicated devices (2) unload the btrfs driver!! (3) load the btrfs driver again, in order to be able to mount a duplicated filesystem :/
<__monty__>
Hmm, thanks for the info.
JJJollyjim has quit [Quit: Bridge terminating on SIGTERM]
Irenes[m] has quit [Quit: Bridge terminating on SIGTERM]
jtojnar has quit [Quit: Bridge terminating on SIGTERM]
worldofpeace has quit [Quit: Bridge terminating on SIGTERM]
colemickens has quit [Quit: Bridge terminating on SIGTERM]
thefloweringash has quit [Quit: Bridge terminating on SIGTERM]
nicolas[m] has quit [Quit: Bridge terminating on SIGTERM]
aterius has quit [Quit: Bridge terminating on SIGTERM]
crazazy[m] has quit [Quit: Bridge terminating on SIGTERM]
arcnmx has quit [Quit: Bridge terminating on SIGTERM]
pinage404[m] has quit [Quit: Bridge terminating on SIGTERM]
manveru[m] has quit [Quit: Bridge terminating on SIGTERM]
bbigras has quit [Quit: Bridge terminating on SIGTERM]
danielrf[m] has quit [Quit: Bridge terminating on SIGTERM]
Hm7000 has quit [Quit: Bridge terminating on SIGTERM]
kraem has quit [Quit: Bridge terminating on SIGTERM]
emily has quit [Quit: Bridge terminating on SIGTERM]
<sphalerite>
oh fun
puzzlewolf has quit [Quit: Bridge terminating on SIGTERM]
vaibhavsagar has quit [Quit: Bridge terminating on SIGTERM]
siraben has quit [Quit: Bridge terminating on SIGTERM]
DavHau[m] has quit [Quit: Bridge terminating on SIGTERM]
aanderse has quit [Quit: Bridge terminating on SIGTERM]
noneucat has quit [Quit: Bridge terminating on SIGTERM]
LinuxHackerman has quit [Quit: Bridge terminating on SIGTERM]
ElXreno[m] has quit [Quit: Bridge terminating on SIGTERM]
nocent has quit [Quit: Bridge terminating on SIGTERM]
Ox4A6F has quit [Quit: Bridge terminating on SIGTERM]
aaronjanse has quit [Quit: Bridge terminating on SIGTERM]
artturin has quit [Quit: Bridge terminating on SIGTERM]
ma27[m] has quit [Quit: Bridge terminating on SIGTERM]
immae[m] has quit [Quit: Bridge terminating on SIGTERM]
leonardp has quit [Quit: Bridge terminating on SIGTERM]
philipp[m] has quit [Quit: Bridge terminating on SIGTERM]
leons has quit [Quit: Bridge terminating on SIGTERM]
rycee has quit [Quit: Bridge terminating on SIGTERM]
LinuxHackerman has joined #nixos-chat
<LinuxHackerman>
noooooooooo
<lassulus>
well seems a lot of people took the red pill out of the matrix
<sphalerite>
__monty__: just tried it, zfs will import a pool that's available twice without complaining.
<sphalerite>
The fun part is that you don't know which device it'll use :/
<__monty__>
I'm not sure whether that's better. At least in the btrfs case I suppose checking UUIDs are unique shouldn't be hard? Not sure why they wouldn't.
etu has quit [Quit: WeeChat 3.0]
etu has joined #nixos-chat
manveru[m] has joined #nixos-chat
<sphalerite>
btrfs does check
<sphalerite>
it just doesn't deal with the case where there are multiple same UUIDs well at all
<__monty__>
Oh, I assumed it just loaded things one by one and crashed when a UUID was repeated.
<sphalerite>
adisbladis: nope, kernel differences I think
<__monty__>
Wouldn't that be a weird dependency for a filesystem?
<sphalerite>
the definition of HAVE_BLKG_TRYGET_GPL_ONLY in zfs_config.h and spl_config.h is different between my build on the aarch64 community box and my build on my nanopi m4
<sphalerite>
there are also differences between the resulting modules, but I suspect (hope) that those are due to that config difference
<sphalerite>
oh but the kernels are also different :/
dingenskirchen has quit [Quit: ZNC 1.8.1 - https://znc.in]
dingenskirchen has joined #nixos-chat
talyz has quit [Quit: WeeChat 3.0]
talyz has joined #nixos-chat
Hm7000 has joined #nixos-chat
nicolas[m] has joined #nixos-chat
aterius has joined #nixos-chat
ElXreno[m] has joined #nixos-chat
noneucat has joined #nixos-chat
aaronjanse has joined #nixos-chat
leonardp has joined #nixos-chat
siraben has joined #nixos-chat
philipp[m] has joined #nixos-chat
nocent has joined #nixos-chat
bbigras has joined #nixos-chat
Irenes[m] has joined #nixos-chat
Ox4A6F has joined #nixos-chat
jtojnar has joined #nixos-chat
leons has joined #nixos-chat
pinage404[m] has joined #nixos-chat
vaibhavsagar has joined #nixos-chat
arcnmx has joined #nixos-chat
aanderse has joined #nixos-chat
ma27[m] has joined #nixos-chat
DavHau[m] has joined #nixos-chat
thefloweringash has joined #nixos-chat
rycee has joined #nixos-chat
artturin has joined #nixos-chat
worldofpeace has joined #nixos-chat
JJJollyjim has joined #nixos-chat
crazazy[m] has joined #nixos-chat
puzzlewolf has joined #nixos-chat
kraem has joined #nixos-chat
immae[m] has joined #nixos-chat
emily has joined #nixos-chat
colemickens has joined #nixos-chat
danielrf[m] has joined #nixos-chat
Church- has quit [Ping timeout: 256 seconds]
<eyJhb>
sphalerite: doensn't sound like you are having a fun day?
<sphalerite>
eyJhb: nah, not bad really :)
lunc has joined #nixos-chat
waleee-cl has joined #nixos-chat
<infinisil>
My script for rebuilding my machines had this thing where it always forced me to commit before rebuilding
<infinisil>
This was annoying, so I turned it off
<infinisil>
Big mistake, my tree is hella dirty now!
thibm has quit [Ping timeout: 264 seconds]
thibm has joined #nixos-chat
<sphalerite>
what do you mean, you don't reconstruct history from zfs snapshots and pretend you were committing diligently the whole time??
<abathur>
my backup job trawls for git repos and logs the git status of each
lunc has joined #nixos-chat
<infinisil>
Hehe neat
<abathur>
less useful in practice than in theory so far, but I have consulted it a few times when I can't remember where I was with something
<abathur>
the motivator was some dumb clash between gitignore and backup ignore/exclude rules leading to some files that were in the repo not getting backed up, and showing up missing on restore--but I was midstream on some work where I had intentionally removed some files and it was a pain to disambiguate intentional from unintentional deletions
ElXreno[m] has left #nixos-chat ["User left"]
<infinisil>
History is saved in a couple different ways and granularities, I wonder if there's some theory that can unify them nicely
<infinisil>
Like there's filesystem history with snapshots, commit history, and I've also got undo history (as a tree) in vim
<gchristensen>
TIL: `chown --from`
<andi->
Someone should make a daily man 3 $RANDOM_COREUTILS_TOOL
<andi->
:D
<andi->
as a newsletter or something
<joepie91>
manpage of the day
<andi->
kinda
<andi->
yesterday I was looking for something that `logname` does
<gchristensen>
huh!
<infinisil>
Yesterday I learned about the utillinux command `flock`
<infinisil>
Basic file locking, supports acquiring read or write lock
<andi->
I am just waiting for epoll in bash to write webscale software :D
<adisbladis>
Clearly the future for webdev is async clojure implemented in bash
<andi->
exactly.
<andi->
If you swap bash for dash or osh you might even get speed for restricted features / better error messages.
<andi->
It is almost like Python. If it is slow use cpython or jpython.
<andi->
s/cpython/pypy/
<andi->
It isn't the language that is slow just the (five layer deep) interpreter
rajivr has quit [Quit: Connection closed for inactivity]
aleph- has joined #nixos-chat
<viric>
I'm trying netconsole.... quite bad
<viric>
some messages arrive, some not, to the receiving netcat.
<viric>
according to tcpdump, netcat shows all that arrives at destination just fine. But some packets don't arrive.
<viric>
echo hello > /dev/kmsg, doesn't arrive. echo h > /proc/sysrq-trigegr, help arrives fine. echo t > /proc/sysrq-trigger, very few lines arrive.
<viric>
ah maybe it's about the loglevel
<viric>
"dmesg -n debug" made all work
cole-h has joined #nixos-chat
<gchristensen>
hows everybody doing
<sphalerite>
uh, just read about washington. Concerned.
<sphalerite>
But other than that, I hacked together a web app that allows synced playback of videos on multiple clients. Useful for watching videos with friends during quarantine.
<joepie91>
I've found PBS to be by far the most useful
<etu>
gchristensen: oh man, I love it <3
<etu>
gchristensen: It's the best thing I've seen this week :D
<bbigras>
joepie91: thanks!
<lukegb>
yeah, I'm enjoying PBS
<lukegb>
well, "enjoying"
Jackneilll has quit [Ping timeout: 240 seconds]
<bbigras>
there was a funny part on twitch. a guy with a megaphone was saying weird shit like now everything on earth will be 30% off or something like that.
<samueldr>
:clap: make :clap: software :clap: more :clap: verbose
<sphalerite>
nix-build -vvvvvvvvvv
<f0x>
eyJhb: haha nice :D
<samueldr>
what really grinds my gears is software that reuses the same error message for different errors
<samueldr>
error: failed frobjobaining
<samueldr>
then you grep and find 10 locations
<samueldr>
wildly different causes
<sphalerite>
*coughEEXISTcough*
<samueldr>
oh, don't get me started on errno
<samueldr>
say NO to errno
<joepie91>
samueldr: or worse, Error: Shit's Fucked
<joepie91>
with zero details at all
* joepie91
looks at most of Linux userland
<samueldr>
joepie91: it was implied the previous had no details :)
<sphalerite>
infinite recursion encountered, at undefined position
<eyJhb>
Now that I have you f0x ! I am guessing a the invald server name I get in return, is because the DNS has not propagated yet?
<gchristensen>
I am fairly sure buffering is making the output happens in 2 large chunks
tokudan has quit [Remote host closed the connection]
<joepie91>
samueldr: ah :P currently following 4 streams so a bit distracted
<samueldr>
joepie91: if there's only one "shit's fucked" error location in the source, it's already much better :)
<sphalerite>
samueldr: how about "Shit's fucked", "Shit's fucked.", "shit's fucked" and "shits fucked"
<joepie91>
sphalerite: please don't give software devs ideas
<joepie91>
:p
<samueldr>
sphalerite: different error messages, can find the call site, perfect
tokudan has joined #nixos-chat
<sphalerite>
go team UUIDs as error messages
tokudan has quit [Remote host closed the connection]
Jackneilll has joined #nixos-chat
<ma27[m]>
joepie91: how about 'Error: This should never happen'? %)
<sphalerite>
(UUIDs have the additional advantage of not being language-specific!)
<sphalerite>
(maybe variable names and keywords should be UUIDs as well)
<eyJhb>
sphalerite: It's more like... "Shit's fucked 1", "Shit's fucked 2", "Shit's fucked 3", etc. :P
<ma27[m]>
sphalerite: on the bright side, with uuidv4 you'll have a fairly small risk of name clashes
<joepie91>
ma27[m]: I don't actually mind that one so much, at least it's clear that it's a bug you should report
<sphalerite>
ma27[m]: most UUID schemes really, they are designed for low chances of collisions :p
<ma27[m]>
uuid v{3,5} aren't IIRC
<joepie91>
re: UUID, might I suggest nanoid instead
<tilpner>
Adding UUIDs to error message sounds like a good idea actually
<ma27[m]>
or am I confusing things atm?
<joepie91>
re: errors, probably numbered errors are better than random IDs
<tilpner>
Error codes aren't globally unique, and harder to search for
<sphalerite>
just add UUIDs to everything. It's not like the space isn't big enough.
<gchristensen>
hot take: the error ID should be a uuid, generated at printing time
<tilpner>
Sometimes (okay, rarely) you don't know which process is giving the error code
<sphalerite>
related: I think filesystem UUIDs in nixpkgs/nixos-generated filesystems should be v5 UUIDs based on the output path, rather than a fixed value.
<gchristensen>
oh cute
<sphalerite>
(a fixed and UUID-spec-uncompliant value)
<gchristensen>
though it would make CA impossible
<__monty__>
ma27[m]: Doesn't UUID stand for Universally Unique? Do v3 and v5 fail to deliver on this?
<sphalerite>
gchristensen: hm, true, though I'm not sure how useful CA equivalence is for disk images anyway?
<gchristensen>
dunno
<tilpner>
Just choose an older function until we can c.c
<__monty__>
gchristensen: Your hot take was a joke, right?
<gchristensen>
yes
<ma27[m]>
__monty__: yeah, unique according to their content AFAIU. Just checked with `uuid(1)` that I wasn't wrong: if I use the same value&ns for a v3 uuid, I get the same uuid as a result
<__monty__>
Ok, thanks for confirming.
<__monty__>
Why does v4 differ on this? That sounds less useful?
<sphalerite>
v4 is just random
<ma27[m]>
v4 doesn't use a value, it's entirely random
<gchristensen>
the wikipedia page gives a hint
<ma27[m]>
I guess those are for different use-cases
<ma27[m]>
(and `uuid(1)` doesn't accept "inputs" for `uuid -v4`)
srk has quit [Ping timeout: 240 seconds]
srk has joined #nixos-chat
tokudan has joined #nixos-chat
<Ashy>
is syncthing-gtk marked as broken for everyone or is there something broken in my config/channels?
<tilpner>
Ashy: Marked broken on unstable, not on 20.09
<gchristensen>
ahhh, sway, stable. copy-pasting crashes whatever window I paste in to
<__monty__>
gchristensen: Are the sharper pixels really worth all the unstability?
<__monty__>
Ashy: Such questions would get more answer's in #nixos btw, this is the offtopic channel.
<tilpner>
Ahh, but you also get to say you're daily-driving wayland
<gchristensen>
__monty__: it isn't about sharper pixels, it is about size consistency across monitors, and hotp
<gchristensen>
lug
<tilpner>
So only for laptops then?
<gchristensen>
I only use it on laptops, yes
<gchristensen>
I think I'd rather switch to gnome than back to X
<Ashy>
tilpner: ah yeap
<__monty__>
Hotplugging?
<__monty__>
I thought the size-consistency was linked to rendering at different resolutions?
<gchristensen>
yeah, it is
<gchristensen>
well, dpi
<samueldr>
gchristensen: the trick is to run a lower resolution on your fancy panel
<sphalerite>
Anyone aware of a tool that can copy one file into another at a specific position, like dd with seek=, but without the fixed block size?
<tilpner>
sphalerite: Does dd not allow a block size of 1?
<gchristensen>
samueldr: the trick is to place bets on the technology which has maintainers :P
<sphalerite>
gchristensen: I have issues with that too — but it depends on what I'm copying from, and where I'm pasting to
<samueldr>
gchristensen: write your own
<samueldr>
you are the maintainer
<samueldr>
bet on yourself
<sphalerite>
tilpner: that's even worse. I don't want it to do 2 system calls per byte :)
<gchristensen>
then it'd have 0 maintainers
<samueldr>
only you can save yourself :)
<sphalerite>
gchristensen: sometimes it'll also crash redshift, or sway itself. Real fun times.
<gchristensen>
lol
<samueldr>
I looked, at a high level, to all options for wayland
<sphalerite>
tilpner: the reason I don't want dd's fixed block size is so it goes faster.
<tilpner>
sphalerite: You didn't say it had to be efficient! I don't even know if it works, but that's what I'd try for a one-off task
<samueldr>
and the only option I can see for me is to either: completely change my workflow into whatever the DE wants, or, write my own, probably changing my workflow, but be in control
<sphalerite>
tilpner: fair enough, I guess it's a case of xy :)
<gchristensen>
samueldr: I can't paste it, but if you go to my twitter account, click Tweets & Replies, then my tweet @saruspete you'll see some nice bash
<samueldr>
I really think I'm going to write a compositor (with that lib)
<sphalerite>
samueldr: with which lib?
<samueldr>
gchristensen: ctypes.sh ffi bindings to write your own bash compositor!