The next Chicago Lisp meeting is coming up this Friday, 5/16/8. Here are the relevant links:
Chicago Lisp Information Page (for now check here first)
Chicago Lisp Homepage (eventually this will be the master information site)
I will be heading down for this meeting, and presenting at it, so if you would like to carpool let me know!
Addendum 05/21/08:
Here is the presentation and source material from my talk. This is the 25lb version of the presentation; it is not light advocacy stuff, rather, it is just a lot of crunchy bits that are meant to be discussed interactively.
Addendum 05/27/08:
Peter posted a great recap of the presentation.
Addendum: 08/17/08
Here is an updated presentation and materials, v2.01.
Monar 0.0.1 released
Monar is a free interpreter for R6RS Scheme.
Currently it covers a little of R6RS core scheme, utf-8 I/O, quasiquote, apply , regexp , traditional macro, 30bit fixnum , simple port , simple CGI and format.
And Wiki works on Monar@FreeBSD+Apache.
http://monar.monaos.org/wiki/LambdaWiki
Downloads and More Information
Source code and Monar documentation can be found on the web at:
(via comp.lang.scheme)
Predictive Abbreviation Expansion in Emacs
pabbrev is a yet another package for abbreviation expansion in Emacs. Unlike dabbrev, this one analyzes the contents of the buffers during idle time, and shows potential expansions based on word frequency.
Check it out over at Trey’s place.
GNU Guile 1.8.5 Released
This release includes: improved I/O performance, an object-based traps infrastructure, bug fixes, and other changes.
This is primarily a bugfix release.
(via PLNews)
Choosing random files in Bash
Ben has a good post about choosing random files in Bash:
ls | while read x; do echo "`expr $RANDOM % 1000`:$x"; done \ | sort -n| sed 's/[0-9]*://' | head -15
When "good enough" isn't "good enough"
A pervasive attitude among programmers today is that their language is “good enough” and that whatever their language lacks in expressiveness they can make up for with brute force.
Be forewarned: pretty soon you will just end up realizing Greenspun’s Tenth Rule!
A Lisp Joke that gets it right
Here is the classic programming “how do you shoot yourself in the foot” joke, brought to Lisp by someone who “gets it”!
TASK: Shoot yourself in the foot.
LISP: You shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds…
(via DaniWeb)
VI Commands Translated to Emacs
Here is a good page that gives VI users the equivalent Emacs commands for very common actions.
This is sure to help those of us making the transition!
What every Subversion user must know about Git
Subversion is perfect (simple concept, lots of books, good tool integration, and easy to use) but for the fact that it doesn’t support:
- Merge tracking
- Distributed operation
While the former should be addressed in version 1.5, the latter is anyone’s guess.
The problem is that Subversion is just so good that eventually you will will want a distributed mode with Subversion.
Fortunately, Git supports distributed operation against Subversion repositories!
If this gets you “on the Git bus”, check out this:
An introduction to git-svn for Subversion/SVK users and deserters.
(Thanks Geoff for the links)
Addendum 05/03/08:
Tonight I tested out setting up cygwin from scratch to use Git, and in doing so confirmed what I knew and discovered what I didn’t!
You must use the following packages:
- Git 1.5.5.1-1
- Subversion 1.4.5-2
- Subversion-perl 1.4.5-2
Failure to install the subversion-perl bindings results in the error: = Can’t locate SVN/Core.pm in @INC
Thank you ycdtosa for the pointer!
Addendum 05/03/08:
If, like many of us, you haven’t fully cut over to cygwin, you may receive the following error message when you attempt a commit:
You have some suspicious patch lines=
Here is both an explanation of and a work-around for the error.
To solve the problem, you need to edit .git/hooks/pre-commit and comment out the following lines:
=if ($) { bad_line(“trailing whitespace”, $_); }=
Before tonight, I figured that I would never have the need to use dos2unix ever again! Based on one of the commentors replies, though, I expect that further research on the operation of Git is required on my part in order work between CR and CRLF environments:
Git from some time has core.autocrlf and crlf attribute, which should help in mixed UNIX (LF) and Windows (CR LF) environment
Toy programming tasks are sweet
Here is a good article about the role and value of “toy” programming tasks.