freenode/#lisp - IRC Chatlog
Search
14:17:15
phoe
okay, so I understand so far that all the places in the 20x20 array have 0 if they don't have any wire there
15:27:37
Josh_2
anyone know if there is a library for the double ratchet algorithm described here https://signal.org/docs/specifications/doubleratchet/ ?
15:47:32
eta
also the signal protocol isn't obscure; it's almost the standard for encrypted chat apps nowadays
15:48:04
Josh_2
but now with no implementation of olm around I'm a bit stumped as I can't decrypt messages
16:08:05
Josh_2
If I wanted to bind olm I just create bindings for these functions? https://gitlab.matrix.org/matrix-org/olm/-/blob/master/src/olm.cpp
19:56:28
Josh_2
I'm starting to get real tired of ningle, just seems so clunky to do anything with the middleware
21:11:29
drmeister
I've been using an evaluation copy for the last couple of days and it is amazing.
21:12:08
drmeister
It records the state of every instruction from when you connect to the process to a break-point. Then you can backup and examine registers.
21:12:44
drmeister
https://www.dropbox.com/s/2kzehok7x2kjfm5/Screen%20Recording%202020-08-02%20at%2010.39.40%20AM.mov?dl=0
21:13:53
drmeister
I believe that our type inference is getting confused by some unused lexical variable bindings.
21:19:44
p_l
drmeister: I wonder how much of my friend's code is involved in the work you used there :) though AFAIK GDB also has time travel support
21:26:17
drmeister
Does your friend work at Undo? Undo is built on top of gdb. But I dunno about time travel support in stock gdb.
21:28:03
p_l
drmeister: yeah, though now I checked mostly in "professional services", so I guess custom patches for clients ;)
21:28:38
p_l
nice integration with source listing you have, never seen it work with other debuggers when it comes to lisp
21:29:33
drmeister
Yeah - we've been adding DWARF generation to clasp. We have a bit more work to do with inlined code. We have the inlinedAt chain - but we aren't generating the appropriate DWARF with it yet.
21:30:47
drmeister
I also wrote a python extension that works with gdb and lldb and lets you examine lisp objects from the outside using the gdb/lldb debugger.
21:32:43
drmeister
gdb has guile - but that's not Common Lispy enough for me - it would probably damage my programming ability.
21:34:00
drmeister
Anyway - I have bigger fish to fry. I knocked the Python extension out in a couple of days and made it portable so that it works from lldb and gdb.
21:34:32
drmeister
Aaand with gdb I made it work with Python 3.7 and Python 2.7 (udb uses gdb8 and for some reason they use Python 2.7). Hi ho.
21:49:42
akoana
Fare: may I ask, what are the (main) things you consider soul-sucking in python (just curious, if you like to share)?
21:52:04
Fare
people who deploy them in the wild are civilly liable for e.g. kids who jump in a empty swimming pool not protected by a fence.
21:52:32
Fare
People who publish python should be bankrupted and/or sent to jail. That includes Google developers and management who have promoted it.
21:53:32
Fare
The entire idea of "there are libraries for everything", but the actual quality of those libraries is appalling, and a maintenance disaster, and security liability.
21:54:50
Fare
even the standard library... full of horrors such as `l = [1,2]; m = l ; m += [3]` side-effecting the original
21:55:05
p_l
akoana: semantically important token in the form of 4 spaces. tantalizing you with "REPL" yet actually zero support for interactive programming, to the point that C is equally interactive. The libraries can be WTF, especially when you need to deal with deep exception chains, where sometimes your recovery attempts fail because somehow the library deleted the object and thus causing a totally different error....
21:55:15
stylewarning
the best thing about python is its dead simple, fun, and easy way of distributing your application to others
21:55:19
Fare
Happily, x = 2; y = x ; x +=1 doesn't side-effect all occurrences of the integer constant 2.
21:55:40
Fare
it LOOKS dead simple, but its semantics is actually quite horrible. Scoping rules? Oh my.
21:55:50
p_l
stylewarning: I honestly wanted to whack you with a shovel for a moment there, got PTSD from that line
21:56:14
Fare
basically, the syntax looks nice, but everything else is actually good... until it's actually terrible.
21:56:45
stylewarning
Fare: what is so difficult about getting a virtualenv and venv and downloading conda 4.6 and getting that to interact with your system pip (which you might as well override with conda's pip (but not the python.org pip)) and point things to the right python interpreter on a per project basis i really don't understand how you could be so confused
21:56:57
Fare
The idiot who designed Python had severe Dunning-Kruger and refused to delegate aspects of his languages to people who knew better, even when they were actually trying to help him.
21:57:15
stylewarning
Fare: you can make that Super Simple by putting all of that in a 7 GB docker image which you can give to me by making a totally free DockerHub account
21:57:38
Fare
give me ASDF any day in comparison; and I don't love ASDF *that* much in this respect.
21:58:23
akoana
Fare: (and all who responded) thank you. I understand, got similar feelings with python after trying to do some serious work with it. Confirming I'm not alone with my thoughts about it:)
21:58:43
p_l
Fare: I remember people laying into Ruby for Bundler. Except Python distribution tools make Ruby look like polished gem (pun intended)
21:59:10
Fare
but what do you expect in a language that doesn't have macros so you could write your own OOP
21:59:56
p_l
cause I haven't really worked in Python with classes since around beta releases of Py3k
22:00:08
stylewarning
i remember trying to write a function to tee a stream in python, like I wanted to do something like s = tee(stdout, logger) and write to s; it turns out you have to go copy paste some random stream class on stack overflow (lol duck typing) hoping it has the needed methods, because they're not clearly documented anywhere
22:00:27
Fare
and then the incompetent decisions made while it was a toy are baked into all production software.
22:00:53
Fare
right now I'm using my own object system in Gerbil, instead of Gerbil's builtin object system. No problem, thanks to macros.
22:01:29
Fare
And while it *is* a (nice) toy, there is no pretense and no need to cast it in stone as everyone's only allowed object system for decades to come when using the language.
22:02:18
Fare
paule32: what's wrong is you failed to describe your expectations and how the discrepancy between expectations and reality
22:04:45
drmeister
Anywho - I get a pass on using Python to write a gdb/lldb extension because I'm developing a Common Lisp implementation to avoid using Python in the rest of my life.
22:05:26
p_l
drmeister: you have my honest condolences that you had to deal with it, and well wishes for your work :)
22:06:32
drmeister
I wish I could convince my colleagues though. They think the height of scientific software development is to develop a Python bindings for Fortan code.