freenode/#clasp - IRC Chatlog
Search
15:14:28
drmeister
dvssa: Last summer a colleague asked me if we could build atomic level structures of DNA origami with Cando and of course I said "Yes!". He had a postdoc who was interested in doing that - so we taught him Common Lisp and Cando and he wrote a parser for CadNano 1.0 files.
15:15:25
drmeister
I hacked together rigid body refinement code that I've added to our regular molecular mechanics geometry refinement code because I saw all sorts of uses for it.
15:16:26
drmeister
A couple of months ago someone expressed an interest in the origami code and so I thought I should clean it up before I dump it in her lap. So I spent a couple of days cleaning it up and fixing bugs and wouldn't you know it - the thing works.
15:16:51
drmeister
It also gave me ideas about how to use the code to design molecular Lego nanostructures.
15:17:26
drmeister
So I'm getting the code to a point where it will be useful to the DNA origami community.
15:18:01
dvssa
Ah I see, interesting stuff :) I look forward to hearing some of the ideas you have w.r.t molecular Lego.
15:18:02
drmeister
In the last couple of days I had an epiphany on how to handle large origami's - so I'm implementing those ideas now.
15:19:10
drmeister
I mean - I've always had a plan - but the plan was "get Cando working reasonably well and then figure out how to design big molecules with it".
15:20:27
drmeister
Excellent - I hope to have something that illustrates the approach by then. But programming... it's a bit haphazard.
15:21:20
dvssa
I am worried about getting my passport returned in time though. My visa was approved a few weeks back but I still have not had my passport returned to me... Lets not get me started on South African service delivery...
15:22:03
dvssa
I did fortunately get a message a few minutes ago saying it has been dispatched for delivery so hopefully it will be here by Monday.
15:23:28
drmeister
Overall the whole Cando/macromolecular design plan has been something like: "Descend into this valley and fight your way through the swamp and then climb up that mountain on the other side - then I think I should see a clear path to Shangri-La".
15:27:51
drmeister
Yeah - so I'll probably never make a single DNA origami - but it would tickle me to no end to have the entire DNA origami community use Cando to design them.
15:57:01
Bike
i recompile part of thecompiler,then compile something else,and somehow this is a crash
15:58:35
drmeister
We could turn on the memory guards, switch to the workbench and conditionally turn on inlining.
15:59:18
drmeister
That's what I would do - get a stable environment to work from and then start torturing the code that is giving us problems.
16:02:49
drmeister
To debug those I wrote a dtrace script that dumps a backtrace for every invocation of __cxa_throw or __cxa_rethrow.
16:02:52
dvssa
drmeister: Unfortunate about the flight, I was also hoping it would be in San Fran, I've always wanted to go. w.r.t the DNA origami that would be quite the achievement, hopefully they arn't as scared of learning lisp as most are.
16:05:00
drmeister
When you are running clasp - in a separate window run: ./profile_throw <pid-of-clasp> /tmp/throw.user_stack
16:05:22
drmeister
Then when it crashes you can go to the last backtrace and see what was on the stack when the unhandled exception was thrown.
16:06:10
drmeister
It might be something stupid like a boost::format with the wrong number of arguments and boost::format is crashing intermittently - I've seen that happen.
16:08:23
drmeister
dvssa: I'm getting push back from chemistry colleagues about learning anything new. Programming terrifies people. So I'm going to have them use a simple scripting grammar for those who don't want to deal with anything that looks like programming. If they want to do something more sophisticated - Common Lisp or C++ will be there.
16:08:25
dvssa
drmeister: So you want to go the DSL route? But half the fun is learning Common Lisp ;)
16:09:31
drmeister
Language means loops and conditionals and stuff - that's what Common Lisp is there for.
16:09:57
Bike
my src/profiler directory does not seem to have anything called profile_throw, in either dev or cst.
16:10:46
drmeister
There are plenty of programming languages for beginners - we have one for wizards.
16:12:05
drmeister
Wait - no - it's here: https://github.com/clasp-developers/clasp/blob/dev/src/profiler/scripts/profile_throw
16:13:24
drmeister
We need to get more comfortable with dtrace - and incorporate it into our thinking about debugging. It is an amazing tool that makes easy things that are really hard without it.
16:17:08
drmeister
Michele said I should check something with you about your summer employment situation.
16:17:58
drmeister
And I sent an email to the provost thanking them for approving your travel grant.
16:18:42
drmeister
I can't get dtrace to work with iclasp-boehm - that is a frustration. It works great with cclasp-boehm.
16:34:03
drmeister
cracauer: Are you online? Do you ever generate backtraces with dtrace? The output is full of stack frames followed by a number. Does that number mean the number of identical backtraces that were generated sequentially?
16:42:30
Selwyn
@drmeister the availability of the scipy/numpy stack lulls many scientists into a state of complacency regarding programming i think. regrettable but not easy to fix
16:43:11
Selwyn
i am attempting to port 'gsll' to clasp starting from this https://common-lisp.net/project/gsll/
16:43:49
Bike
the stack has cc_landingpadUnwindMatchFrameElseRethrow,then __cxa_rethrow, then __terminate
16:43:50
drmeister
And what scipy and numpy do is somewhat make up for the intolerably slow performance of loops in Python.
16:44:25
drmeister
Bike: Ok, that's our problem - there is an UNWIND that is not finding its target.
17:07:24
drmeister
Clasp has lots of support for weak pointers - I used to use them a lot - but not much these days.
17:08:21
drmeister
They are supported with both garbage collectors. The Common Lisp interface is identical. The underlying machinery is quite different.
17:10:08
drmeister
Currently there is only a weak-key-strong-value hash table - but others are possible
17:11:07
Selwyn
i am thinking of porting trivial-garbage, which is a portable library for manipulating weak pointers and other things. it is a dependency of GSLL.
17:14:40
drmeister
Clasp has finalizers now - you could finish clasp support for trivial-garbage by adding finalizers if you have time.
17:52:42
phoe
drmeister: goodness, this progress that you mention looks like you have reinvented abacus
19:47:33
frgo
Yeah - I had a different association when I looked at that structure: https://www.youtube.com/watch?v=de_0vcAEjhE - I do have such an antenna in my garden behind the house ... Shows that I am a ham radio operator. ;-)
19:51:48
Bike
subtypep is defined including (when (eq t1 t2) (return-from subtypep (values t t))) on top, but (subtypep t t) conses
19:52:10
Bike
a similar (defun foo (t1 t2 &optional env) (when (eq t1 t2) (return-from foo (values t t)))) does not
20:09:36
Kevslinger
drmeister: I was at a Neuroscience poster session today, and the only computer-literate person I could find uses R as their scientific programming language of choice.
20:09:57
Kevslinger
It took everything I had to hold myself from shuddering in fear of the molasses-level efficiency.
20:13:59
Kevslinger
I'm helping a neuroscience lab with automating their image analysis processes, which is why I was there.
20:14:34
Shinmera
Sure, just sayin', you can't really expect biology and medicine people to be programmers.
21:41:37
kpoeck
I did my first parallel build. Seems to take 60 minutes less! 90 min instead of 150 min for a distclean configure build_cboehm build!