{"id":201,"date":"2008-02-29T23:12:46","date_gmt":"2008-03-01T05:12:46","guid":{"rendered":"http:\/\/www.pchristensen.com\/blog\/articles\/sleeping-too-much-and-fighting-with-emacs-and-asdf\/"},"modified":"2008-02-29T23:12:46","modified_gmt":"2008-03-01T05:12:46","slug":"sleeping-too-much-and-fighting-with-emacs-and-asdf","status":"publish","type":"post","link":"http:\/\/pchristensen.com\/blog\/articles\/sleeping-too-much-and-fighting-with-emacs-and-asdf\/","title":{"rendered":"Sleeping Too Much and Fighting With Emacs and ASDF"},"content":{"rendered":"<p>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&#8217;ve been sleeping like a normal person, except my wife has had trouble sleeping so I&#8217;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&#8217;ve been sleeping too much and doing a bad job at it, and I&#8217;m sick of it.  I&#8217;m taking one last night sleep tonight and then tomorrow I&#8217;ll start taking my naps and staying up at night.  And I&#8217;m very much looking forward to getting that time back.<\/p>\n<p>So with 5 fewer hours a day to work, what did I cut out and what did I keep?  Well, I haven&#8217;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 <a href=\"http:\/\/www.pchristensen.com\/blog\/articles\/public-beta-open-for-ultimate-n00b-slimeemacs-cheat-sheet\/\" target=\"_blank\">SLIME\/Emacs cheat sheet<\/a>.  I decided that if I only had a little time, I should spend it on what&#8217;s most important, which right now is sharpening my Lisp skills.  I&#8217;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:<\/p>\n<ol>\n<li>get better at Lisp (currently working through <a href=\"http:\/\/www.gigamonkeys.com\/book\/\" target=\"_blank\">Practical Common Lisp<\/a>)<\/li>\n<li>learn to use ASDF (so I don&#8217;t have to only use one file)<\/li>\n<li>customize Emacs and learn more commands<\/li>\n<\/ol>\n<p>#1 is going nicely.  Unfortunately, #2 and #3 pose a bit of a problem.  I&#8217;m currently using the Allegro-bundled <a href=\"http:\/\/www.gigamonkeys.com\/book\/lispbox\/\" target=\"_blank\">LispBox<\/a> for Windows from the PCL website.  It&#8217;s been great for getting started, getting comfortable with basic commands, and getting familiar with SLIME and Emacs.  However, it&#8217;s not conducive at all to customization.  I&#8217;m not saying that it can&#8217;t be customized, just that it is a minor distribution for new users, so there&#8217;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.<\/p>\n<p>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&#8217;t have to make a zillion shortcut files, etc.  Long story short, it didn&#8217;t work and nowhere on the Google did anyone have specific advice for my setup.  Ditto with .emacs customization with Lispbox (for anyone who&#8217;s wondering, I think it&#8217;s at C:\\Program Files\\acl81-express\\misc\\dot-emacs.el, but I couldn&#8217;t get the settings to load.  YMMV).  It&#8217;s just too obscure and I don&#8217;t have the time to figure out everything on my own, so I&#8217;m moving to a more mainstream setup.<\/p>\n<p>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&#8217;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&#8217;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&#8217;ll put out another n00b type giude (along with rationales) when I get my own setup working, but here&#8217;s what I&#8217;ve come up with:<\/p>\n<ul>\n<li>Emacs 22.1<\/li>\n<li>SLIME 2.0<\/li>\n<li>CLisp<\/li>\n<li>Cygwin(?) &#8211; I&#8217;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?<\/li>\n<\/ul>\n<p>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&#8217;s my motto, helping the n00b in all of us!<\/p>\n<p>UPDATE:  I wrote this on Thursday but haven&#8217;t been able to post until Friday night.  I&#8217;ve taken two naps, planning on staying up at night, and I feel great!  I&#8217;m already happy to be back on a polyphasic schedule!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3,10],"tags":[],"class_list":{"0":"post-201","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-polyphasic","7":"category-programming","8":"entry"},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pazgP-3f","_links":{"self":[{"href":"http:\/\/pchristensen.com\/blog\/wp-json\/wp\/v2\/posts\/201","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/pchristensen.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/pchristensen.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/pchristensen.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/pchristensen.com\/blog\/wp-json\/wp\/v2\/comments?post=201"}],"version-history":[{"count":0,"href":"http:\/\/pchristensen.com\/blog\/wp-json\/wp\/v2\/posts\/201\/revisions"}],"wp:attachment":[{"href":"http:\/\/pchristensen.com\/blog\/wp-json\/wp\/v2\/media?parent=201"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/pchristensen.com\/blog\/wp-json\/wp\/v2\/categories?post=201"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/pchristensen.com\/blog\/wp-json\/wp\/v2\/tags?post=201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}