IRC channel logs


back to list of logs

<drakonis>is gtk/qt getting isolated from your settings?
<meena>i'm not sure i know what that means
<drakonis>well, i didnt know if it was seeing your cursor settings
<Aurora_v_kosmose> What am I supposed to do with a project that insists on static linking?
<Aurora_v_kosmose>And one that effectively bundles patched versions of its dependencies.
<cdegroot>Quick (I hope) question - I'd like to add a second service to, but only if cups-filters is selected as an extension (I'm working on a patch to allow cups-browsed/Avahi/driverless printing to work). What is the idiomatic/clean way of doing that?
<Aurora_v_kosmose>Should I ask that sort of question on help-guix or guix-dev?
<cdegroot>What's the issue exactly? If you want to make a Guix package for the project, I'd say go with the flow and include these libraries statically?
<Aurora_v_kosmose>cdegroot: Well, vendoring its own versions that are incompatible with upstream means duplication of packages. Guix also seems to promote the use of dynamic linking for most things.
<cdegroot>Yes, but I guess pragmaticism will actually get that package included, battling upstream to reverse what smells like a done deal, not so much :)
<cdegroot>Statically linked libraries for a single package won't conflict with DLL versions of the same elsewhere, so apart from some extra disk space, I don't think it should be a big concern.
<cdegroot>(I'm assuming that these upstream libraries have licenses that make this all ok, of course)
<Aurora_v_kosmose>Licenses seem okay. The upstream project just seems to have gone full cathedral and barely even replies to issues on their own forum.
<Aurora_v_kosmose>Hence the forks.
<cdegroot>Yeah, well, that happens :)
<cdegroot>I'd see these forked/static libraries as just code that belongs to the package now.
<blackbeard>Hello guix (:
<iyzsong-w>hello OvO
<jts>Hey y'all. I need some help. I've been running GuixSD for a couple months now, and I've really fallen in love with it. But it feels like any time I want to use a programming language that relies on remote package repositories, I inevitably end up not being able to get some package or other that I need, and that isn't in Guix. I could theoretically package all of these myself, but that's really annoying and time consuming when I want to
<jts>work on other stuff. Am I missing something? Or do I just need to use a different distro if I want to work in these languages without manually packaging dependencies? (The specific languages I've had this experience with are Julia, Rust, and OCaml.)
<singpolyma>Does cargo not work on guix system for some reason?
<AwesomeAdam54321>Plus there's `guix import` that can help with most of the packaging
<jts>cargo seems to work in the general case, but there are instances where it fails. For example, I tried running `cargo install racer` and got an error suggesting I use rustup to add a component.
<jts>I'm very familiar with `guix import` and have used it to package several OCaml libraries (part of a patchset I haven't completed) but it's still annoying to have to package dependencies just to play around with stuff
<cdegroot>I don't know about the language you mention but my main programming language I just use the built-in package mamagement system (until the day I have the time to write a huge mirror scripts for all packages - to me it should be all or nothing, I have better things to do ;-))
<zacchae[m]>Yeah, for python, I use pip unless I can manage to get every package in guix. Similarly for my breif usage of octave.
<jts>maybe I'm just trying to use some specially cursed libraries XD
<raghavgururajan>Hello Guix!
<raghavgururajan>When I rolled-back my guix-pull to a commit in January and tried `guix system reconfigure` or `guix system delete-generations`, I get this error.
<raghavgururajan>Any ideas?
<civodul>Hello Guix!
<raghavgururajan>civodul: o/
<efraim>hello guix!
<ekaitz>jonsger: hi
***iyzsong-www is now known as iyzsong-w
<allana>Hi #guix! General question, does "guix pack" also bring native-inputs along for the ride, or just the runtime dependencies?
<civodul>allana: hi! it brings just run-time dependencies, those that can be seen with, say, "guix graph -t references PKG"
<xd1le>oof a split?
<allana>civodul: thanks.
***iyzsong-www is now known as iyzsong-w
<nouun>Hey, was wondering if there's a way to somehow edit file permission for /etc/light/targets/sysfs/backlight/auto/minimum through my config so I don't manually have to change it?
<nouun>Sorry, meant the "/sys/class/backlight/intel_backlight/brightnes" file ^
<civodul>nouun: hi! currently there's no service that does that
<civodul>you could write a service, using 'simple-service', that does (call-with-output-file "/sys/class/..." (lambda (port) (display "1\n" port)))
<civodul>i'm looking for an example of a daemon that would typically be "socket-activated" under systemd
<jonsger>nouun: maybe udev-rules can help, see for an example. I dont remember anymore if it worked :P
<ekaitz>civodul: the thing I asked you the other day... any idea?
<AwesomeAdam54321>civodul: I don't think there are any, services use their sockets anyways when they're fully up and ready
<AwesomeAdam54321>With socket activation, preparing a socket that the daemon listens on before the daemon is even started doesn't make it any faster
<jpoiret>civodul: pulseaudio?
<civodul>jpoiret: but that one is started automagically on demand, per user; i don't have a shepherd service for it
<civodul>oh, and hi!
<civodul>ekaitz: hey, what was the question again?
<jpoiret>hey :) i think on systemd-based distros it uses socket activation but I might be wrong. at least the arch wiki mentions that
<abrenon>yo guix
***julm is now known as Guest5469
<civodul>howdy abrenon!
<ekaitz>civodul: i wanted to make a gcc-toolchain that contains a custom gcc, but it's unable to find the libraries
<civodul>Matrix again
<civodul>ekaitz: oh, i totally missed that
<ekaitz>civodul: no problem mate
<civodul>do you have an example paste somewhere?
<ekaitz>civodul: wait, not that branch but riscv
*civodul looks
<ekaitz>civodul: ideas?
<civodul>ekaitz: looks like gcc-from-source overrides the phases and flags found in gcc-4.8
<civodul>so things may go wrong
<civodul>gcc's a complex beast, so you'd rather reuse as much as possible of the existing package definitions
<ekaitz>and how can I keep the flags and add what I'm adding there without overriding everything?
<leinad>Hi Guix :-)
<civodul>ekaitz: using substitute-keyword-arguments
<civodul>there are examples in commencement.scm and elsewhere
<ekaitz>okay, never used that before
<ekaitz>I'll take a look
<ekaitz>also civodul I tried to compile gcc by hand and the normal gcc-toolchain says it doesn't find gnu/stub-32.h
<leinad>Is `guix shell totem gst-plugins-ugly` supposed to work in the sense that the GNOME Video player (Totem) can make use of the ugly GStreamer plugins?
<ekaitz>but the guix package as I defined there is able to compile
<leinad>I am trying to play a H.264 video but `guix shell totem gst-plugins-ugly -- totem foo.mp4` cannot play it saying: Missing plugin: gstreamer|1.0|totem|H.264 (Main Profile)-Decoder|decoder-video/x-h264, level=(string)4, profile=(string)main, colorimetry=(string)bt709 (H.264 (Main Profile)-Decoder)
<ekaitz>leinad: if you install it in the system works?
<ekaitz>leinad: you can always make a `rollback` later
<abrenon>where are the plugins stored ?
<civodul>leinad: you may need to add gstreamer so that the GST_PLUGIN_PATH variable is set
<abrenon>wouldn't it be (yet) another case of path variable, and a "main" gst package would be needed to have that variable populated ? (just a wild guess)
<abrenon>too slow ^^'
<abrenon>howdy civodul : D
<civodul>ekaitz: hmm not sure; perhaps you can start by overriding nothing but 'source'?
<ekaitz>civodul: I'll give a try to the substitute-whatever but also my system searching for gnu/stub-32.h is weird... I'll check that too and maybe ping you back withe results :)
<ekaitz>thank you for the help btw
<civodul>ekaitz: re stub-32.h, in general you cannot use -m32 with the compilers of Guix
<civodul>that's because we don't enable multilib support
<civodul>dunno if that helps
<leinad>ekaitz: by installing in the system, you mean in the system profile /run/current-system/profile?
<leinad>civodul: adding gstreamer also did not work :/
<abrenon>leinad: in the shell you opened with both gstreamer and gst-plugins-ugly, is the variable GST_PLUGIN_SYSTEM_PATH defined ?
<leinad>weirdly it is set, but to some path under ~/.guix-profile
<leinad>no sorry... GST_PLUGIN_PATH is set to ~/.guix-profile/lib/gstreamer-1.0
<leinad>GST_PLUGIN_PATH is set to /run/current-system/profile/lib/gstreamer-1.0
<leinad>aah sorry, I need coffee, GST_PLUGIN_SYSTEM_PATH=/run/current-system/profile/lib/gstreamer-1.0
<jpoiret>are you trying to do `guix shell gstreamer gst-plugins-ugly totem`?
<leinad>jpoiret: yes
<jpoiret>all in the same invocation?
<jpoiret>it works for me, GST_PLUGIN_SYSTEM_PATH ends up pointing to the fresh guix shell profile
<leinad>Ok, so building a profile with: guix shell --pure gstreamer gst-plugins-ugly totem grep coreutils
<jpoiret>(i don't claim that totem works with it though)
<leinad>and running `env | grep GST` yields GST_PLUGIN_SYSTEM_PATH=/gnu/store/50c1gxa1xk9i9lcvfdnh36b7830ncz7s-profile/lib/gstreamer-1.0
<leinad>so this works... but then running `totem foo.mp4` does not work
<civodul>weird; could it be that some other plugin is missing?
<jpoiret>gst-libav instead?
<leinad>it explicitly says H.264 plugin is missing and also AAC
<jpoiret>at least that's what the internet tells me
<jpoiret>well, for H264, maybe you'll need the plugins in gst-plugins-ugly
<leinad>jpoiret: Thank you! Lovely
<leinad>it is working with `guix shell gst-libav gstreamer totem`
<leinad>I also thought I needed the ugly plugins by looking at the inputs (specifically libx264) of that package.
<abrenon>great ! so not a matter of guix, but a matter of which plugins are needed and provided by which gst-plugins set ?
<leinad>abrenon: yes, i think so, sorry for the noise
<abrenon>no, don't worry, it's useful knowledge in any case, and I'm was more reassured than anything else to find that it wasn't an issue with the packages or how to use them
<leinad>ok, I'm glad to hear that :)
<ekaitz>civodul: that helped! I'll check the compilation process to see if I can fix that
<cdegroot>(sorry for the re-post but did not get an answer/pointer during the weekend ;-)) Quick (I hope) question - I'd like to add a second service to, but only if cups-filters is selected as an extension (I'm working on a patch to allow cups-browsed/Avahi/driverless printing to work). What is the idiomatic/clean way of doing that?
<sneek>unmatched-paren: Greetings!!
<unmatched-paren>hello guix! how could i get the version of a package? i've tried (package-version PKG), but that procedure doesn't seem to exist
<unmatched-paren>sneek: later tell jts: "For example, I tried running `cargo install racer`" <- isn't racer obsoleted by rust-analyzer? that is in guix
<sneek>Will do.
<unmatched-paren>sneek: botsnack (a small one :)
<unmatched-paren>cdegroot: actually, a full package repo mirror script seems like a fun idea... it'd be really tedious fixing up the problems manually, though ;)
<katco>hey all! `guix pull` is failing for me, and asking that i report a bug. i commented out the channels i'm subscribed to in an attempt to see if it's something with my setup, but the issue persists. any ideas?
<katco>this seems suspicious, but i ran emacs's `check-parens` on the file and there's no problem:
<katco>> ice-9/read.scm:126:4: In procedure lp: gnu/packages/databases.scm:4628:1: unexpected end of input while searching for: )
<unmatched-paren>looks like there's an unmatched-paren in gnu/packages/databases.scm :P
<unmatched-paren>oh, k
<katco>that's what i thought :p perfect user to respond ;)
<nouun>Is there a psuedo package where I can create a package from a sh script stored in a string?
<cdegroot>~unmatched-paren yeah, it's not very high on my todo list :P
<unmatched-paren>katco: did you run check-parens on master or on that commit?
<nouun>The source isn't hosted anywhere and I just used to have it in my NixOS config and packaged it with writeScriptBin.
<katco>unmatched-paren: on master, which i assumed was that commit. hm. lemme check
<unmatched-paren>katco: well, maybe it's been fixed now
<unmatched-paren>but if you can't guix pull... how do you get the fix :P
<unmatched-paren>have you done `guix gc --delete-generations` recently, katco?
<katco>i have not
<unmatched-paren>if not, maybe you can recover it
<katco>let me confirm what's going on first
<unmatched-paren>ok, try looking through `/var/guix/profiles/per-user/...` for an old-looking (but not too old) `current-guix-N-link` directory
<unmatched-paren>then, try to run `/var/guix/profiles/per-user/.../current-guix-N-link/bin/guix pull` to pull with the old guix maybe?
<unmatched-paren>katco: i'll try pulling my guix checkout and searching through the log for something that relates to `gnu/packages/databases.scm`
<katco>no commits have touched this `databases.scm`: `git diff ff4585d..8e994ea512 -- ./gnu/packages/databases.scm` (empty result)
<unmatched-paren>ok... what
<katco>`guix describe` tells me that `ff4585d` is the commit i'm on; `8e994ea512` is tip
<unmatched-paren>...have you possibly accidentally edited your local copy of the file?
<unmatched-paren>try doing what i said above with /var/guix/...
<katco>ok, i'll try that now. fair warning: there is a non-zero chance this is an issue with my ram
<unmatched-paren>i don't see why it would be an issue with the ram...
<katco>maybe my last pull wrote `databases.scm` to disk corrupted?
<katco>pulling with the previous version seems to be working
*unmatched-paren is currently imagining a tiny solar ray hitting katco's ram, flipping a bit in the databases.scm file stored in it, changing one unicode character from a parenthesis to a space
<katco>there is a whole story behind this. i found out i was inadvertently overclocking my ram. after i stopped doing that a few months ago, i still have not regained confidence that one of my dimms is not bad
<abrenon>how does one overclock ram by accident ? (I wouldn't even know how to do it on purpose ^^)
*unmatched-paren is now imagining another solar ray hitting katco's ROM, flipping the ENABLE_RAM_OVERCLOCK bit to true
<katco>abrenon: i was using a clock-speed in my bios that i thought was supported by my motherboard/cpu, but it isn't.
<katco>unmatched-paren: LOL
<katco>i build a new computer like once every ten years, so i forget everything and then hope i can learn it all again to build something that works :p i probably made a mistake during the burn-in period after this build
<unmatched-paren>katco: anyway... has that pull finished yet?
<katco>unmatched-paren: the pull using the prior `guix` worked, yes! i uncommented my channels and i'm running a standard `guix pull` from path now
<unmatched-paren>i wonder out of curiousity if we could dig into that same directory and see what the problem was... pretty sure you should be able to locate the faulty guix there
<unmatched-paren>hm, actually, probably not... idk
<katco>i have some free time if you have suggestions. do you suggest i find the `databases.scm` in that profile?
<unmatched-paren>depends on whether the problem was in the guix you attempted to pull, or the guix you were pulling with.
<unmatched-paren>nah, there's not really any point :P
<katco>regular `guix pull`, with channels, works now
<katco>tysm unmatched-paren! i'm never completely sure whether these issues are because i fiddle a lot or a proper issue
<unmatched-paren>...and now you know how to access old guix versions :)
<unmatched-paren>unless, of course, you've annihilated them with `guix gc`
<katco>yeah i usually run `guix gc` on some cadence, so it's good to know that i should hold off on doing that for a bit
<unmatched-paren>i run it quite often too
<unmatched-paren>well, you can do `guix gc` anytime
<katco>i knew how to use old versions of guix, i think i'm just always unsure when i see an error if it's an actual error or because of something in my setup
<unmatched-paren>but you should wait to do `guix gc --delete-generations`; it frees up TONS of space, but will stop you ever doing that (or rolling back system/home configs)
<linus>hey, when i try to boot from the usb (with the latest iso of guix system), it stops after a few lines, one of them being
<linus> Error: Driver 'pcspkr' is already registered, aborting...
<linus>I've already tried using the latest image as proposed in here:
<unmatched-paren>linus: the pcspkr error is harmless in my experience
<unmatched-paren>i used to get it (until i blacklisted its kernel module)
<apteryx>linus: yes, it's harmless, although it'd be nice to fix it
<unmatched-paren>could you copy the entire screen to
<apteryx>I think jpoiret had some idea about how to go around fixing that pcspkr module loading error?
<unmatched-paren>what's pcspkr actually used for, anyway? i assumed it was for audio, but my audio still works with it disabled...
<jpoiret>did I? I have some faint recollection of this
<jpoiret>although this shouldn't be an issue wrt booting
<jpoiret>i think i have the same
<jpoiret>the issue might come from something else, eg. graphics driver, do you happen to have a graphics card that would require non-free blobs?
*unmatched-paren remembers that they still get annoying syslog messages all over their login prompt
<linus>okay, thank you for the information, that's the only line containing "Error".
<linus>Any idea how i could find out why it won't boot? (it just stops printing new lines to the terminal) Could this be a problem with the linux-libre kernel ? (i have AMD Ryzen 5 Pro 5650).
<linus> would think that even tho they may not be fully supported it would atleast boot/ print out a more meaningfull error?
<unmatched-paren>ah, support for amd gpus in the libre kernel is very shaky afaik
<jpoiret>unfortunately, oftentimes it does not
<jpoiret>you could go to grub, and on the Guix line you could press `e` to edit, and add nomodeset to the kernel command line
<jpoiret>that may let you go further
<unmatched-paren>^ but the above will stop wayland working
<linus>okay, ty for the information, will try
<unmatched-paren>because it uses kms
<unmatched-paren>xorg should be fine
<jpoiret>there are other wayland backends though
<linus>unmatched-paren my priority would mainly be to get it working to a usable state, but ty for the warning
<jpoiret>oh, seems i'm confusing things, it's the HW accel vs software rendering i was thinking about
<unmatched-paren>well, according to jpoiret it should actually work
<jpoiret>it might require kms
<unmatched-paren>ah, k
*unmatched-paren qutebrowser -> :open does wayland require kms
<jpoiret>although you could run wayland under X11 :)))
<unmatched-paren>yes, it looks like it requires kms
<unmatched-paren>although apparently someone once patched it to run under the framebuffer... of course, there would be no hardware acceleration at all ;)
<linus>ty for your help, esp. (jpoiret). I understand it may be not optional now but i installed guix on my laptop successfully thanks to you, ty
<dlowe>huh, I thought the amd gpus were all libre drivers now
<unmatched-paren>well, i heard AMDGPU isn't working in linux-libre yet, even though it's free-source
<unmatched-paren>but i'm not certain
<unmatched-paren>i think it was GNUtoo who mentioned it?
<dlowe>ah, I see.
<jpoiret>iirc, amd gpus still have non-free blobs
<jpoiret>just the same as nouveau for nVidia
<unmatched-paren> is THAT why nouveau isn't working
<dlowe>nVidia didn't help with nouveau though
<unmatched-paren>i blacklisted the nouveau module because it seemed to fail to load
<unmatched-paren>`sec2 ctor failed` or something
<unmatched-paren>(my laptop has dual intel/nvidia graphics)
<acrow>Ahh... guix!
<unmatched-paren>...unless that was an expression of fright and not a greeting ;)
<acrow>It was a greeting.
<unmatched-paren>i mean... there ARE plenty of people who find our walls of parentheses scary...
<nouun>They're just hugs for the code!
<dlowe>people are trying to make javascript guix be a thing via guile's js support
<unmatched-paren>dlowe: even here, in this isolated corner of the free software community... we cannot hide from JS
<nouun>dlowe: They're doing what now?
<unmatched-paren>i'm not sure how they'll actually do that though
<unmatched-paren>because i don't think js has a way to refer to names that aren't valid js identifiers?
<unmatched-paren>lua does tho
<dlowe>singpolyma was giving a talk about it
<singpolyma>unmatched-paren: yes, js can do it no problem. lua can't that I know of but would love to hear more I don't know lua as well
<singpolyma>in js land I just do eg git["git-download"]
<unmatched-paren>ah, ok
<unmatched-paren>lua can do something similar:
<unmatched-paren>["some-scheme-variable"](foo, bar)
<singpolyma>ah, if I just do ["blah"] that's a toplevel? cool. that will be useful
<unmatched-paren>which is why fennel is completely interoperable with lua
<singpolyma>I'm using a procedure to work around that in my lua-guix experiment right now, but this is better
<apteryx>uh, 'guix package --search-paths -m my-manifest.scm' returns export PYTHONPATH="/home/maxim/.guix-profile/lib/python3.9/site-packages", among other things
<apteryx>(it also has GUIX_PYTHONPATH)
<unmatched-paren>singpolyma: wait, actually it's the same as js...['baz'](quux)
<unmatched-paren>it's only for accessing tables afaik
<singpolyma>unmatched-paren: but what about top level? in js there is always a "global object" (in browser it is window, in node global, in guile we just use the top level this) so I can this["blah-blah"]
<unmatched-paren>not sure, lemme look up 'lua global object'...
<unmatched-paren>ok, so the Lua global table is called `_G`
<unmatched-paren>so you can do `_G['foobar']`
<unmatched-paren>... and apparently that's only for global variables ...
<apteryx>I think the PYTHONPATH search-pah comes from ansible
<apteryx>added by... myself; eh
<unmatched-paren>so singpolyma for the above you can do `_G["some-scheme-procedure"](foo, bar)`
<singpolyma>unmatched-paren: cool. will try that
<unmatched-paren>but the procedure must be global
<unmatched-paren>local variables don't seem to have a lookup table
<unmatched-paren>as `lua modules == lua tables`, you can just do `module_from_guix['foo']`
<unmatched-paren>singpolyma: ^
<efraim>has anyone managed to cross compile gfortran?
<phodina[m]>does somebody know what is the syntax for dependency download in inputs using new syntax?
<phodina[m]>```(inputs `(("package" ,(origin ...))))```
<unmatched-paren>phodina[m]: it should just be (inputs (list (origin ...)))
<phodina[m]>unmatched-paren: Ok, but how do I refer to the package itself later?
<unmatched-paren>phodina[m]: hm, not sure; i ran into that problem myself once; i gave up and just used the new syntax...
<unmatched-paren>i don't think the new syntax has a way to change the input name yet
<civodul>phodina[m]: yeah, you can use the old syntax if you want a label on your origin, or you can refer to the origin right from a phase
<civodul>lemme find an example
<civodul>lilyp was faster :-)
<lilyp>It helps being the one who committed both
<phodina[m]> lilyp civodul unmatched-paren thanks, that's exactly the example I was looking for :-)
<apteryx>has anyone else tried to convert markdown (.md) to HTML with pandoc and have a table of content (--table-of-contents) ?
<apteryx>It produces the HTML file in my case, but *without* a ToC
<civodul>hey apteryx, never tried that!
<apteryx>ah, perhaps this "Hint: If you want a table of contents in html output, you also need to supply -s which generates a standalone document."
<apteryx>yep, it works :-)
<attila_lendvai>did anyone manage to scan using an older HP printer/scanner (1522nf)? any hints?
<unmatched-paren>why is this happening?
<unmatched-paren>there's no neovim@0.0 package as my attempt to `guix edit` it shows...
<unmatched-paren>this is my home configuration:
<unmatched-paren>the only `neovim` objects are 0.4 from `gnu` and 0.6 from my channel
<unmatched-paren>and the 0.4 one isn't in scope in that file since i #:select (vim)
<attila_lendvai>i see" openat(AT_FDCWD, "/gnu/store/[hash]-hplip-minimal-3.21.10/lib/", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
<attila_lendvai>and: openat(AT_FDCWD, "/var/lib/hp/hplip.state", O_RDONLY) = -1 ENOENT (No such file or directory)
<unmatched-paren>i suppose hplip needs to be patched to look for libm in the right place?
<apteryx>attila_lendvai: that error is probably not fatal; it's just the way shared libraries are scanned for, I think
*attila_lendvai has realized his user is not part of the group 'scanners'
*attila_lendvai needs to relogin
<attila_lendvai>yep, the thing seems to be non-fatal. and the hplip.state, too. no idea why it fails...
***the-porcupirate is now known as porcupirate
<unmatched-paren>one moment, i need to log out to reload new search paths...
<sneek>wb unmatched-paren!!
<unmatched-paren>sneek: botsnack
*attila_lendvai gives up in frustration
<civodul>i think the Shepherd is ready for a release candidate in the coming days!
<unmatched-paren>neat! what new shiny things will the release have?
<drakonis>fibers, isnt it
<drakonis>shepherd is now... parallel?!
<unmatched-paren>oh, cool! (aren't fibers an async thing, not parallel?`
<drakonis>async is actually parallel
<drakonis>a type of concurrency, rather.
<singpolyma>Concurrent yeah. I think parallel is reserved for multiprocessing usually?
<drakonis>its green threads anyways
<drakonis>so it should run faster
<drakonis>by virtue of no longer doing things in a linear fashion
<civodul>yes exactly, concurrency
<civodul>so startup might be faster, but above all, that gives more flexibility and robustness