libera/#commonlisp - IRC Chatlog
Search
8:23:09
mgl
Reading https://sabracrolleton.github.io/testing-framework, I was amazed by the number of testing frameworks, but https://xkcd.com/927/ struck, and now I'm announcing the final word on testing called Try that tries to do almost everything these libraries do while remaining conceptually simple. The design is closest to Stefil's. If you are
8:23:10
mgl
interested, read the tutorial here: https://github.com/melisgl/try#x-28TRY-3A-40TRY-2FTUTORIAL-20MGL-PAX-3ASECTION-29
9:05:50
jackdaniel
the only thing multitude of test frameworks doesn't do is not rewriting the same purpose library over and over again
9:06:48
jackdaniel
if anyone thinks about writing the next one, there are a few name spots open: 3am, 4am, 6am :)
9:15:04
mgl
Deservedly great reception! Have a look though, it may float your boat, especially if you like your tests to be functions.
9:37:59
lisp123
I'm thinking of memoizing function calls for multiple functions. Which is better, to have a giant hash table where I look up the function & its arguments or have individual hash tables for each function?
10:33:49
phoe
minion: memo for lisp123: individual hash tables for functions will be faster and individual caches can be easily removed this way
10:38:26
moon-child
hmm, it occurs to me in a context where you make a more broad and sophisticated cache, you might actually not want to do that. Rather, you would have a more unified architecture where you devote a certain amount of space to cache, and evict based on frequency and expense
10:40:04
phoe
if you want something more advanced then you need techniques for controlling cache size, eviction, etc.. so a simple hash table won't do anymore
14:00:57
rotateq
I don't know how it's about you, but I often realized with myself how much the urge of perfection can be a curse. :/
14:13:39
Equill
rotateq: I feel it. Took a *lot* of work to get myself to internalise that "good enough" really can be.
14:16:18
Equill
It probably helped when I looked at the quest for perfection as an asymptote, and realised that it's often a question of when the delta is small enough. It wasn't much of a step from there to think in more practical terms, and realise that the smart approach is to accept "good enough" as when the delta is small enough that your *customers* don't notice or care about the difference.
14:17:42
Equill
I concluded that perfection should always be what you *aim* for, but it's not only OK to not reach it, but it should be a pleasant surprise when you actually do.
14:18:32
rotateq
But I often feel like I can't ever understand many things *really* deeply and that frustrates me too.
14:20:24
Equill
Again, it's a case of accepting that there just isn't enough time to understand everything as deeply as you feel you should. Then it's a question of how deep it's worth diving down any given rabbit-hole.
14:20:44
Equill
Then again, it's well enough for me to speak: I *still* have more hobbies than I have time for them :)
14:21:16
rotateq
Yes of course, as I can't prove everything in the kind of maths I do myself, or doing every physics experiment and and and ...
14:23:31
rotateq
I was wondering if the new James Webb telescope has again some CL running on it like the scheduling system on Hubble. But as I read they completely used "standardized" things by IBM.
14:24:56
rotateq
So the question still remains how they debug and reprogram parts that fail as it runs, like in the talk about "debugging from 60 million miles away" having a CL REPL on board to connect to.
14:32:13
pjb
rotateq: usually, it's just done by having two partitions. When there's a bug, they upload a new system image (or more probably in these cases, a patch to build a new system image) in the other partition, and reboot.
14:33:17
rotateq
I have no favorite Android system. ^^ But ok, could update my Lineage OS, my camera doesn't initialize since a few days now.
14:33:53
pjb
rotateq: of course, if the problem is just in a program, they may just upgrade the specific executable. They usually have persistent memory organized as a MS-DOS file system.
14:34:40
rotateq
Ah okay. Came across again at HAL/S, we talked about it some time ago and you told me it has the capability of reading 2D-equations. ^^
14:35:15
rotateq
As I heard even on FPGAs it's possible that they change parts of themselves as they run.