IRC channel logs

2015-06-15.log

back to list of logs

***exio4 is now known as y
<ewemoa>i would like to be able to jump to definitions of things such as wrap-program -- creating a tags table via guix's Makefile and using find-tag in emacs yields: "No tags containing wrap-program" -- any clues what i might be doing wrong or other alternatives (apart from grepping)?
<ewemoa>mark_weaver: regarding "proper git commit with changelog conforming to our conventions", for the changelog part, is the following relevant documentation? https://www.gnu.org/prep/standards/standards.html#Change-Logs
<alirio>ewemoa: yes, http://git.savannah.gnu.org/cgit/guix.git/tree/HACKING?id=932e7204afbe6d56b8319f7c298ea43e12004a95#n74
<ewemoa>alirio: tyvm!
***Steap_ is now known as Steap
<civodul>Hello Guix!
<Steap>\\o/
<davexunit> http://www.steven-mcdonald.id.au/articles/systemd.shtml
<davexunit>one of the complaints above has to do with systemd's limited directives in its unit file language
<davexunit>dmd, of course, doesn't have such a problem. :)
<civodul>indeed, it even allows you to do (system "rm -rf /") ;-)
<davexunit>civodul: hehe
<davexunit>now that's power!
<davexunit>systemd seems to be more about limiting what the user can do.
<davexunit>but our project is about empowering users.
<civodul>definitely
<civodul>unit files are purely declarative, which has pros and cons
<civodul>and the cons definitely is that if you cannot express what the language was not designed for, you're screwed
<civodul>if would have thought they were sufficiently expressive for the job, from what i saw
<alezost>yeah, I always felt inconvenience with systemd units but using dmd for user services is a real power!
<civodul>but obviously, the language is getting more and more complex
<davexunit>as all DSLs do.
<civodul>the nice thing in GuixSD is that we can add file-system-mounting services, or networking services, without having to develop a systemd-mount-file-system plug-in ;-)
<davexunit>"v1.0 - no logic!"
<davexunit>"v2.0 - logic!"
<civodul>heh :-)
<davexunit>paronaeya told me about the configuration management system Ansible awhile ago. they decided to use YAML for *all* configuration, the user doesn't write any code.
<davexunit>but...
<davexunit>now they use a templating system to produce these YAML files!
<civodul>excellent :-)
<davexunit>experiences like this have taught me to just use a general purpose programming language from get-go.
<civodul>the history of the Nix language is interesting too
<civodul>now one can write primitives in C++ and have them loaded ;-)
<davexunit>seems they can't even escape the natural progression of DSLs.
<civodul>yeah
<davexunit>while on the subject, I see DSL used to describe many things that I consider different. for example, I think the Nix language or systemd's unit files are DSLs, but Ruby people talk a lot about (embedded) DSLs in Ruby, but Ruby doesn't allow syntactic abstraction.
<davexunit>so I have a hard time considering them EDSLs.
<davexunit>but perhaps I am being too strict.
<civodul>well, it's implemented very differently from what we call EDSLs in Scheme or Scala or Haskell
<civodul>it uses run-time mechanisms, such as catching calls to undefined methods
<civodul>but the end result is still an EDSL, IMO
<davexunit>I suppose you're right.
<davexunit>thanks for clearing that up in my head. :)
<civodul>:-)
<civodul>i did find it "weird" when i was first exposed to it
<civodul>but it does the job
<davexunit>it's a more limited form of metaprogramming
<civodul>yeah
<davexunit>there's this article going around called "why Go is doomed to succeed"
<davexunit>and there's a quote in it like "Go doesn't let you abstract yourself in the foot"
<civodul>what can that possibly mean?
<civodul>abstractions considered harmful?
<civodul>"why assembly is doomed to succeed" ;-)
<davexunit>basically yeah
<davexunit>a lot of people have picked up on that quote and liked it
<davexunit>and now I'm fearful for the future
<civodul>heh
<davexunit>basically, Go makes you write simple code that any joe programmer can maintain
<davexunit>so businesses should love it
<civodul>Go doesn't seem to be that successful though, is it?
<davexunit>gaining traction lately it seems
<davexunit>riding the Google hype train
<Steap>More famous than Guile :)
<davexunit>Docker is written in Go
<davexunit>which is certainly helping
<civodul>Steap: you must be wrong, i know more people hacking in Guile than people hacking in Go ;-)
<civodul>oh right
<civodul>is Docker successful?
<civodul>okay i'll stop here ;-)
<Steap>civodul: by "famous" I mean "who have heard of it"
<davexunit>hehe
<civodul>look, to most people on this channel, ".go" is the extension for "Guile objects"
<civodul>so, assuming this is a representative sample, ...
<davexunit>:)
<ewemoa>has anyone had luck using gnu global with the guix source tree?
<davexunit>no, I use geiser for all of my guile needs.
<ewemoa>davexunit: i haven't had luck jumping to defintions via geiser -- do you do anything special?
<davexunit>ewemoa: you have to have the relevant module loaded at the REPL
<davexunit>so it has source information
<davexunit>once you've actually loaded that code, you're good to go
<ewemoa>davexunit: ah thanks -- will try to make use of that hint :)
<civodul>ewemoa: you may also need to set geiser-guile-load-path appropriately
<civodul>and then just C-c C-k in a Scheme file
<amz3>how do you set geiser-guile-load-path, using a variable?
<civodul>amz3: it's an emacs variable, so (setq geiser-guile-load-path (cons ...))
<amz3>thanks I'll try later.
<amz3>it works without settings geiser-guile-load-path I think, if emacs was opened in the correct directory
<amz3>s/settings/setting
<amz3>right now I try to tame tags to go back where I previously edited code, I use bm but it's not perfect
<amz3>e.g. I can't go in another buffer
<efraim>when i run guix hash do i need to specify -f base32
<civodul>efraim: 'guix hash' defaults to '-f nix-base32', which is the format we use in sha256 fields
<civodul>so you generally don't need to specify -f
<efraim>ok
<efraim>i saw that it defaulted to nix-base32, didn't know if that was a historical artifact
<civodul>"historical artifact", well said :-)
<civodul>2.5 years ago i implemented base32 as in the RFC, just to realize that Nix uses a home-made base32
<civodul>which is why (guix base32) is highly customizable :-)
<davexunit>I was wondering why Nix did that
<davexunit>they just swapped some letters
<davexunit>I don't geti t
<civodul>not only that: it's also done in reverse order
<davexunit>whyyyy
<civodul>i guess because that's how the code came out on that day ;-)
<mark_weaver>I think I know why
<mark_weaver>they avoided some of the most common letters, like 'e'
<mark_weaver>this means that when scanning store items for nix hashes, one is much less likely to find something that looks like a nix hash string but isn't.
<davexunit>mark_weaver: a-ha!
<davexunit>I think you're onto something.
<davexunit>that makes sense.
<mark_weaver>they skipped e, o, t, and u
<davexunit>I wonder if any of the nix academic papers or source code describe this design decision
<mark_weaver>whereas the RFC skips 0, 1, 8 and 9
<mark_weaver>dunno!
<civodul>mark_weaver: ooh, that could be the reason, indeed!
<amz3>how would they know 40 years ago, what were common numbers?
<gonz_>Will there be a video from the talk at OpenTechSummit?
<davexunit>gonz_: unfortunately, no.
<davexunit>they were not filming there, AFAIK.
<gonz_>That's a shame.
<gonz_>Would it be interesting to make a PKGBUILD->recipe tool, by the way?
<gonz_>Arch linux has a very wide package space.
<gonz_>Most likely there's something I'm overlooking, though, because otherwise someone would've just made it already, I figure.
<davexunit>gonz_: it would, but I think it would be complicated to implement
<davexunit>because the build code in the PKGBUILD files would have to be thrown out
<gonz_>The .install script parts?
<davexunit>yeah, whatever they use.
<davexunit>I haven't looked at a PKGBUILD in awhile
<gonz_>I'm looking to jump to Guix on my next setup and there are a few packages I would need to migrate to feel ok with doing so.
<gonz_>I need to make a recipe for xmonad, for example, I guess.
<davexunit>we've had some progress lately on haskell support
<davexunit>but I imagine that one will still have some complicated bits
<davexunit>what other packages?
<gonz_>Let's see. These ones aren't exactly terrible to install yourself, but; clojure, erlang, elixir.
<davexunit>someone posted the beginnings of a clojure package the other day
<gonz_>I feel spoiled by pacman saying this, but I've just become so comfortable with it. httpie, lxrandr
<gonz_>There's a bunch, but I also know I'd do fine without having all of it just a command away.
<davexunit>you should try your hand at packaging some of these
<davexunit>you can do it all from the comfort of arch, too.
<gonz_>Yeah, I think I will, actually.
<davexunit>that's the spirit!
<gonz_>Might as well get a head start on it if I actually am switching too.
<davexunit>we're here to help when you get stuck.
<ewemoa>civodul, mark_weaver, davexunit: fwiw, in eelco's ph.d. thesis, 5.1 has a bit on skipping e, o, t, and u
<ewemoa>(starting on page 87 or so)
<ewemoa>bottom of page 89
<civodul>ewemoa: indeed, thanks for digging it up
<civodul>mark_weaver had guessed it right
<ewemoa>indeed
<Rastus_Vernon>GnuCash is part of GNU, is it not? It is not marked as such in the package list: https://www.gnu.org/software/guix/package-list.html#gnucash25087.