IntelliFactory is a company that facilitates the adoption of functional programming, in particular, F#.
(via cufp)
SigScheme
Why mathematics is not fun (when it should be!)
One man’s lament.
(thanks jfm)
Addendum: 8/6/8
On vacation, I re-read this, and wanted to share some interesting bits:
- p5. Mathematics is the art of explanation.
- p6. Math is not about following directions, it is about making new ones.
- p7. It isn’t doing anyone any good having vague memories of formulas and clear memories of hating them.
- p11. Teaching is not about information. It’s about having an honest intellectual relationship with your students. Teaching means openness and honesty, an ability to share excitement, and a love of learning.
- p21. Mathematics is about removing obstacles to our intuition, and keeping things simple.
Emacs looks to Eclipse
Seems that RMS is taking IDE design cues from Eclipse! (thanks Yoni)
Someone please point him at IntelliJ Idea.
Customizing Autosave
Here is a tweak to configure auto-save to cooperate with your buffers in Emacs.
University of Waterloo Switches to Scheme
The University of Waterloo has switched first year students to Scheme.
There is a big difference between learning how to program and in learning a particular language. Scheme makes the former so much easier!
Scheme in the Real-time CG Content Production
If you try to pin down Schemers to a particular stereotype, you will fail; they are just too diverse a bunch.
Take Shiro Kawai’s website. He’s got some great resources on that page. Dig in deeper and have a look at his paper Gluing Things Together – Scheme in the Real-time CG Content Production.
The short story is that
Square USA R&D Team had been developing an in-house real-time rendering engine in a project called Dancer, and we adopted Scheme as an embedded scripting language.
Here is how they used it:
- As a File Format
- As a Debugging tool
- For Rapid Prototyping
- For Authoring
There are a lot, and I mean a lot of really interesting bits about how the tackled the problems they were facing.
The best part: you don’t have to be a computer graphics buff to have a heck of a good time reading this paper. Enjoy!
Naughty Dogs use Scheme in Video Games
Once again Naughty Dog Software has used Lisp to write their video games.
Here are the two blurbs where I heard about it:
I had held off posting this for a while in hopes that presentations materials would show up. They haven’t set; so I’m going to have to do some digging!
Ur-Scheme: Compiling a Subset of R5RS Scheme to Asm
The home page for Ur-Scheme tells the tale of one mans journey implementing a compiler from a subset of Scheme to Assembly on Linux.
For folks interested in almost totally pure functional programs, here is a teaser:
It contains relatively little mutation. Although almost every line of the compiler has “side effects” like outputting lines of assembly code, there are fairly few locations where the compiler’s internal state is mutated. I count 25 calls to set! and string-set! in the 1600 lines of code, including the standard library.
Switching Caps Lock with Control on Windows
Getting the control key “back into the right spot” on PC keyboards is a goal shared between Emacs and UNIX folks. The following are a collection of links on how to do so (this list is sure to grow):
- GNU Emacs FAQ For Windows 95/98/ME/NT/XP and 2000 (thanks Trey)
- Sysinternals Ctrl2Cap (thanks kiwlm)
Addendum: 10/01/08
The Sysinternals solution is excellent, but it throws away caps lock. This was fine for me for a while, but believe it or not, now I need it back. As such, I now employ the solution found here.
Addendum: 1/11/11
This approach does not work on Windows 7 (I just started using Win7 this week).
KeyMapper works brilliantly though.
(via emacswiki)
Addendum: 2014-12-10
Coming back to Windows I found that KeyMapper quit working for me.
AutoHotkey seems to be doing the job of swapping:
- caps lock with left control
- left control with caps lock
- enter with right control
- right shift with enter
- Seems to be the best way to use any keyboard out there
- scroll up and down on the wheel mouse
Alt (Meta) - Enter
doesn’t seem to work.
I’ll keep at it. Here is the config.
WheelUp:: Send {WheelDown} Return WheelDown:: Send {WheelUp} Return Capslock::Ctrl LCtrl::CapsLock Enter::RCtrl RShift::Enter