* Attending Members
** Leo bitching about cl-typesetting
A particular function (`compute-row-size`) which contains a ~90 line `loop` form
** Brian brought Lisp In Small Pieces
I've actually been looking to pick that up, but haven't gotten around to it yet
Jos'h ended up borrowing it
** Brian has been using KnowledgeWorks hobby-wise
KnowledgeWorks is a LispWorks module for building expert systems
Fully declarative programming (resembles a mix of CL, CLOS and prolog)
** Introductions, histories (it's been a while for Joe and Brian)
Engineer with a Unix C history. Does consulting in the mobile space (and has recently filed some patents).
Works on maintaining a CAD system. Sneaks Lisp everywhere he can (part of the project involves AutoLisp, so he has excuses).
More hardcore than he lets on, works on components of 3D rendering projects.
most recently [dolphin tale](http://www.imdb.com/title/tt1564349/) and [gnomeo and juliet](http://www.imdb.com/title/tt0377981/)
Has experience with managing unruly codebases, and uses Python, [Rebol](http://www.rebol.com/) and Common Lisp, among others.
Mosly a hobbyist Lisper at the moment.
Currently working on a [neural-net-based prediction engine](https://github.com/ravster/pleasance) for financial markets
Web developer that works primarily in Common Lisp.
Named after character frequency on a linotype keyboard?
AI program written in Lisp to control a robot arm with an internal model of the world
*** original project site: http://hci.stanford.edu/~winograd/shrdlu/
*** resurrection (uses Java-based 3D system for modelling) http://www.semaphorecorp.com/misc/shrdlu.html
** [Racket](http://racket-lang.org/) mentioned off-handedly as a hobby item
Jos'h and Leo both have experience.
Jos'h misses the 10000-foot view option
*** 10 000 foot view
A mode in DrScheme (now drracket) which shows you a composite image of your file where each character is represented by a single pixel.
The idea is that it shows a very zoomed-out view of your code.
This is apparently very useful when editing very large files.
** Talking about disorganized codebases and how much they suck
** Auto-running test framework
Jos'h has automated his Python test-suite to run as soon as a given file is saved.
Number of failed tests is represented graphically as the [Doom guy](http://images.wikia.com/doomevil/images/6/6b/Face.png) taking damage per failed test
** Comparing Lisp for stuff
*** How does it compare to other languages
Joe mainly asking about how it stacks up to Java for enterprise development
**** How useful are Macros?
See [On Lisp](http://paulgraham.com/onlisp.html) and [Let Over Lambda](http://letoverlambda.com/)
**** What's meant by Symbolic Computation?
Originally meant as a differentiator from Fortran and similar systems
**** What advantages does the Lisp cycle have over other languages?
[bottom-up development](http://en.wikipedia.org/wiki/Top-down_and_bottom-up_design) (as well as On Lisp),
(Joe was asking as someone whos main background is C/Java-related, so all of the above is pretty different from what he's used to)
** Literate programming
Relating documentation in code
Jos'h brought in a book containing a literate ray tracer (the compiled program has two outputs; the book and the ray tracer program)
*** Doesn't this get crowded and redundant?
No! The point of the literate programming approach is to document the intentions of the program
(this doesn't overlap with the code the way that inline comments tend to)
The real problem with documentation is that it's too long
** At this point, the conversation branches
In-depth look at the literate Python program Jos'h brought in (he wrote the pre-processor)
Essentially, structured comments following [Textile](http://textile.sitemonks.com/) rules.
Pre-processor extracts documentation into browseable HTML structure, program compiles as normal
*** Joe and Ravi discussing the patented project Joe mentioned earlier
Joe's thinking about a novel approach to natural language processing (no details)
Dealing mainly with voice-recognition for limited vocabularies
Looking to get a team together to prototype the thing for the patent application
*** Leo trying to listen to everything for a while in order to compile notes
Gives up (apparently I am not concurrency-oriented)
** [Git](http://git-scm.com/) is awesome
How awesome is it? Very.
*** git-svn is briefly discussed as a way of not being annoyed by [Subversion](http://git-scm.com/)
**** Leo has good experiences with it on a previous team
reduced checkin time, local branches allowed a lot of flexibility, allowed working normally through network bs
**** Paul has had it blow up, and didn't want to risk further repo interaction