freenode/#lisp - IRC Chatlog
Search
7:12:37
Shinmera
I find having to dig for the library and installing the required version annoys a lot more people than the problem you outlined.
7:12:47
fiddlerwoaroof
Yeah, but that's one of the well-known trade offs between static-like linking and dynamic linking
7:12:50
|3b|
there are various installers outside normal distro package managers that try to deal with libraries etc
7:13:15
|3b|
maybe one of those would help, hopefully without annoying your users too much when you don't pick the one they like :)
7:13:46
Shinmera
If someone really cares about security / being up to date, they can just remove or replace the included .so file.
7:14:21
Shinmera
Which is something they'd probably know how to do, whereas someone uninitiated knowing to install the correct library and how is much less likely.
7:15:27
Shinmera
Anything to do with deployment is such a pain in the ass I sometimes wish I hadn't gotten into software at all.
7:18:41
fiddlerwoaroof
My common lisp deployment problems are nothing compared to the deployment issues of the gigantic Java/Scala/Groovy/etc. code base I deal with at work
7:20:06
fiddlerwoaroof
One thing I've learned about large software projects is that half-completed attempts to improve code quality are worse than useless
7:30:06
fiddlerwoaroof
Because then someone else comes along behind you trying to get something done, they have to think about both your new way and the old way
7:30:37
fiddlerwoaroof
This is mostly an issue when you have a half-finished architecture change or other wide-reaching changes
7:56:54
Arnot
Thanks! I've used it for a bit, mostly just for working through Practical Common Lisp to be honest
12:25:18
zulu_inuoe_
3b: this is way late in the conversation, as far as including the shared library in the image, I played around with that and got the file saved as a lisp vector, then allocated room for it and did all the memory loading steps for it
12:29:02
zulu_inuoe_
It was a fun experiment, but I think at the end of the day I think that any time you're distributing a software package of any significant importance, shared libraries etc are the least of your worries, especially if you're willing/able to package them together with your own package
12:40:37
thetabit
Good morning, just wanted to ask if are any libraries for working with creating linux daemons?
12:42:05
antoszka
thetabit: Creating linux daemons is not really different from launching any other program.
12:42:19
jackdaniel
thetabit: writing daemon definition is something you do for your init script system
12:42:44
antoszka
thetabit: If you need the daemon to listen on TCP sockets, yes, there are libraries going to help you with that.
12:42:59
jackdaniel
CL allows you to produce binaries, you may write service definition file (be it systemd's service, or initd shell script) and put it in appropriate directory
12:43:59
jackdaniel
poor man's daemon is running repl in tmux session and starting whatever you like there
12:58:32
schweers
I have a question regarding packages. I am a little fed up with having to include a certain set of dependencies into every package I create. such as metabang-bind and iterate. I wanted to create a "base" package which depends on said packages and exports all symbols exported from any of its dependencies and of course from "COMMON-LISP". This is the package I created: http://paste.lisp.org/display/353574
12:59:50
schweers
when I try to quickload another package which depends on it, and :USEes it (and nothing else, not even :CL) I get an error claiming that <PACKAGENAME>::NIL is not defined
13:02:55
zulu_inuoe_
My immediate guess would be you need an eval-when to make sure that export loop runs at the right time
13:05:06
schweers
I added (eval-when (:compile-toplevel :load-toplevel :execute) ...) around the loop, didn’t help. Even restarted the lisp process
13:07:14
Bike
well, forget about compile time side effects for a minutes. if you just load the code one form at a time, does the package export everything it's supposed to?
13:11:14
zulu_inuoe
Please tell me there's another lisper that's into Dark Souls. I'd have found my soul mate then
13:12:38
zulu_inuoe
Yeah it'd be finding a niche person (who may not even be a programmer) and teaching them lisp. That's sure to work great
13:13:18
schweers
zulu_inuoe: you might have more luck with non-programmers. they have not yet been conditioned to believe that lisp is evil
13:16:13
dlowe
Quote: It was Bernie Greenberg, who discovered that it was. He wrote a version of Emacs in Multics MacLisp, and he wrote his commands in MacLisp in a straightforward fashion. The editor itself was written entirely in Lisp. Multics Emacs proved to be a great success programming new editing commands was so convenient that even the secretaries in his office started learning how to use it. They used a manual someone had written which showed how to extend Em
13:16:24
schweers
I recently stumbled across the claim that every site is a dating site if you’re creepy enough ;)
13:18:04
zulu_inuoe
schweers: It's actually just interfacing with people, I think. My experience has been that dating sites are some of the worst places to find people to date. More effective to join a group and just mingle naturally
13:18:10
dlowe
as much as I love that anecdote, there should be a disclaimer: "These secretaries were MIT secretaries"
13:18:52
schweers
zulu_inuoe: people seem to often use such sites with the wrong expectations, but that wasn’t my point. I was just joking a little.
13:24:19
dlowe
schweers: I don't know how "especially smart" you are saying, but I'm saying that the sample is probably skewed towards high capacity to deal with 1970s computers
13:25:29
schweers
don’t know that much about MIT, so I don’t know how their secretaries are. or were. I’m too young for such stories ;)
15:35:07
thetabit
How do I format a number as a string and if the number is less than 10 place a zero on the front. I am trying to print datetime so that it will be compliant with mysql datetime
15:37:55
thetabit
I've got something like (format nil "~[00~;01~;02~;03~;04~;05~;06~;07~;08~;09~]" <input>)
15:43:06
dlowe
thetabit: you might want to check out local-time which has formatting for stuff just like this
16:58:36
Fare
jasom: ok, so between 2013 and early 2017 --- I removed the name recently. Is anyone using it directly?
17:53:47
_user
one of them that looks pretty good to me is this one: https://github.com/fukamachi/prove
17:57:04
_user
I see a lot of reccomendations for FiveAm as well, but I haven't seen active dev on it
17:57:59
rpg
_user: I thought it had been recently overhauled to remove its ancient arnesi dependency. But TBH, I haven't been tracking it that carefully.
17:59:05
rpg
For reasons of stability, we use a local copy, and haven't had much time to pull changes from upstream. Which is actually a good sign that it isn't broken!
17:59:44
rpg
I would avoid RT, which is interesting, but crude (e.g., doesn't take well to multiple bits of testable software sharing the same image).
18:00:11
_user
yeah, I was going to avoid RT, based on your feedback I'm now considering prove/fiasco
18:00:36
rpg
we also have a "FiveAM ASDF" system that provides the ability to use 5AM to supply the TEST-OP for ASDF systems.
18:09:40
Shinmera
rpg: You can do (define-test foo (define-test bar)) which is the same as (define-test foo) (define-test bar :parent foo)
18:10:04
Shinmera
rpg: I implemented the 5Am compat layer so I should know what it means exactly in terms of 5Am, but I don't anymore.
18:10:10
jasom
minion: memo for Fare: quux-hunchentoot uses asdf/package and it appears to still be present in the most recent QL version
18:10:37
rpg
PS one suggestion: for ASDF I also added a test count, so that you can check and make sure that the expected number of checks is run. After being burned by that before.
18:11:14
rpg
:-( have to leave this interesting discussion because I'm getting temporarily evicted from my office by cleaners....
18:24:14
jasom
in doing ql2nix I have come up with a number of patches for various projects; it will be interesting to see if any of them are accepted upstream
18:26:41
jasom
Shinmera: I don't think so; the list so far (I'm about 70% of the way through all systems in QL) is here: http://paste.lisp.org/+7KTZ
18:27:44
jasom
which isn't *wrong* but is also usually unnecessary since asdf has an output directory
18:30:34
jasom
IIRC it's something like load-asd sets up a specific package for .asd files to be executed in and then the various fancy features added recently can be confused by it. This is all stuff I only slighty understood 6 months ago and have now forgotten, so may be 100% wrong now.
18:34:10
minion
Fare, memo from jasom: quux-hunchentoot uses asdf/package and it appears to still be present in the most recent QL version
18:45:53
Shinmera
I just had it in my template, so it's in pretty much every single ASD I've ever written
18:47:34
jasom
Shinmera: it's very nearly a non-problem; I think I can handle it now with ql2nix (bundling was broken on enough packages that now I fall back to a more traditional load structure).
18:50:37
jasom
however the architecture for ql2nix that was 90% complete when I stopped working on it last fall appears to be a good choice; There is one nix package for each "project" (I think that's the term quicklisp uses for a single source tarball) that just installs the source, and then each ASDF system gets its own nix package, which depends on the project package (and possibly other things).