So it has been a while since I wrote something useful. I have either an excuse or an explanation, (depending on how you value excuses). Two weekends ago, I got sick and, long story short, I got better but I had to sleep a lot to do it. Ergo, no polyphasic sleep during that time. I’ve been sleeping like a normal person, except my wife has had trouble sleeping so I’ve been sleeping for maybe 6-7 hours, with a 30-60 minute interruption somewhere in the middle. What did this do to me? It made me really, really tired! I’ve been sleeping too much and doing a bad job at it, and I’m sick of it. I’m taking one last night sleep tonight and then tomorrow I’ll start taking my naps and staying up at night. And I’m very much looking forward to getting that time back.
So with 5 fewer hours a day to work, what did I cut out and what did I keep? Well, I haven’t a) written quality blog material, b) done housework chores, c) programmed as much, or d) made all the great improvements people suggested to my SLIME/Emacs cheat sheet. I decided that if I only had a little time, I should spend it on what’s most important, which right now is sharpening my Lisp skills. I’m trying to get to a point where I can work on programming for my startup without referring to documentation for every single thing I try to do. That consists of 3 things:
- get better at Lisp (currently working through Practical Common Lisp)
- learn to use ASDF (so I don’t have to only use one file)
- customize Emacs and learn more commands
#1 is going nicely. Unfortunately, #2 and #3 pose a bit of a problem. I’m currently using the Allegro-bundled LispBox for Windows from the PCL website. It’s been great for getting started, getting comfortable with basic commands, and getting familiar with SLIME and Emacs. However, it’s not conducive at all to customization. I’m not saying that it can’t be customized, just that it is a minor distribution for new users, so there’s not a lot of documentation out there for working with it. Three big strikes: (Windows, LispBox, Allegro) means that there are very few users, very few comments, and very little help.
For instance, ASDF is included and configured correctly, with the code from PCL already setup and easy to load. However, I tried for (too long) to get ASDF to load my code. I wrote my own packages.lisp and .asd files, I tried pushing values for my directory to the asdf:*central-registry* so I didn’t have to make a zillion shortcut files, etc. Long story short, it didn’t work and nowhere on the Google did anyone have specific advice for my setup. Ditto with .emacs customization with Lispbox (for anyone who’s wondering, I think it’s at C:\Program Files\acl81-express\misc\dot-emacs.el, but I couldn’t get the settings to load. YMMV). It’s just too obscure and I don’t have the time to figure out everything on my own, so I’m moving to a more mainstream setup.
So I put development and practice mostly on hold so I could get a more common setup that will make it easier to get help with when (not if) I have issues. I’m still working on the setup, becuase I spent a lot of time researching recommendations and best practices. I want to get it right (or at least mostly right) the first time so I don’t have to go back and re-do everything again. Tweaking is fine and I plan to keep doing that forever, but no more redos. I’ll put out another n00b type giude (along with rationales) when I get my own setup working, but here’s what I’ve come up with:
- Emacs 22.1
- SLIME 2.0
- Cygwin(?) – I’m trying to limit the number of tools I have to deal with so I wanted to leave out Cygwin. Can anyone give advice on whether it will make my life easier or harder in the short term?
Thanks to everyone who has expressed interest in the meantime. Keep your eyes out for more guides and an update to the cheat sheet. That’s my motto, helping the n00b in all of us!
UPDATE: I wrote this on Thursday but haven’t been able to post until Friday night. I’ve taken two naps, planning on staying up at night, and I feel great! I’m already happy to be back on a polyphasic schedule!