Link to newer recipes on Cooking page
[clinton/website/src/unknownlamer.org.git] / Code.muse
index bf7802b..621492d 100644 (file)
--- a/Code.muse
+++ b/Code.muse
@@ -1,12 +1,18 @@
 #title Programming Projects
 
 #title Programming Projects
 
-All of my current, and some not so current, projects are browsable via
-[[http://unknownlamer.org/darcsweb/browse][my darcsweb]]. You might want to take a look at my [[Lisp][Lisp related projects]]
-page.
+All of my current, and mostly not so current, projects are browsable in
+a few places:
 
 
-* UnCommon Web Related
+ - [[http://unknownlamer.org/darcsweb/browse][my darcsweb]]
+ - [[http://git.hcoop.net/?a=project_list;pf=clinton][my gitweb]], and the [[http://git.hcoop.net/?a=project_list;o=age;pf=hcoop][HCoop projects gitweb]]
 
 
-** [[darcsweb::golgonooza][Golgonooza]]
+You might want to take a look at my [[Lisp][Lisp related projects]] page too.
+
+* Common Lisp
+
+** UnCommon Web Related
+
+*** [[darcsweb::golgonooza][Golgonooza]]
 
 <verse>
 Fourfold the Sons of Los in their divisions: and fourfold.
 
 <verse>
 Fourfold the Sons of Los in their divisions: and fourfold.
@@ -22,19 +28,53 @@ Yet it is perfect in its building. ornaments & perfection.
 
 Golgonooza is a set of utility components for [[http://common-lisp.net/projects/ucw/repos/ucw-core/][ucw-core]]. As of December
 2008 it is nearing a releasable state and is in use on
 
 Golgonooza is a set of utility components for [[http://common-lisp.net/projects/ucw/repos/ucw-core/][ucw-core]]. As of December
 2008 it is nearing a releasable state and is in use on
-[[http://bees-kneesfilms.com][one production site online]] (darcsweb::beesknees for source)..
+[[http://bees-kneesfilms.com][one production site online]] (darcsweb::beesknees for source).
 
 
-** [[darcsweb::ucw-forms][ucw-forms]]
+*** [[darcsweb::ucw-forms][ucw-forms]]
 
 ucw-forms is a slightly enhanced and de-javascripted version of the
 forms library from ucw_ajax updated for use with ucw-core.
 
 
 ucw-forms is a slightly enhanced and de-javascripted version of the
 forms library from ucw_ajax updated for use with ucw-core.
 
-** [[darcsweb::ucw-core_clinton][ucw-core branch]]
+*** [[darcsweb::ucw-core_clinton][ucw-core branch]]
 
 I maintain a personal branch of ucw-core with various work in progress
 
 I maintain a personal branch of ucw-core with various work in progress
-patches that are intended to go into upstream. My primary task is
-filling in the ucw-standard library which was removed in the ucw-core
-fork.
+patches that are intended to go upstream. My primary task is filling
+in the ucw-standard library which was removed in the ucw-core fork.
+
+** [[darcsweb::trivial-timers][Trivial-Timers]]
+
+[[http://retes.hu/~mega/git/?p=clon.git;a=summary][Clon]] is a nice library for scheduling tasks within a Lisp image, but
+it used the SBCL timer extension. I wanted to run something using Clon
+on [[http://trac.clozure.com/openmcl][Clozure CL]] and so I looked at the SBCL source and found that, after
+a bit of fairly straightforward editing, it was possible to write a
+portable version for any compiler supporting [[http://common-lisp.net/project/bordeaux-threads/][Bordeaux Threads]]. The
+SBCL timers internally use =sb-unix:setittimer=; Rather than using
+[[http://common-lisp.net/project/osicat/][Osicat]] to emulate this I chose to rework the scheduling loop to run in
+a dedicated thread that sleeps on a condition variable with a
+timeout. This seems *cleaner* to me than using POSIX lib calls, but
+requires a threaded Lisp.
+
+[[http://releases.unknownlamer.org/trivial-timers/][Releases are available]] with the usual [[darcsweb::trivial-timers][darcs repo]]. Currently there is a
+native SBCL implementation and a portable implementation relying upon
+[[http://common-lisp.net/project/bordeaux-threads/][Bordeaux Threads]]. Patches to export other Lisp implementations' timer
+interface are welcome.
+
+* Scheme
+
+** [[darcsweb::guile-xosd2][Guile XOSD2]]
+
+A simple SWIG based wrapper for [[http://www.ignavus.net/software.html][libxosd2]]. I forked this from
+[[https://gna.org/projects/guile-xosd][guile-xosd]] after the maintainer did not respond to an email with a
+small patch to make the interface nicer. Guile-XOSD2 requires SWIG
+1.3.x and has been tested against the VM branch of Guile. I renamed
+most of the functions to have properly Scheme names.
+
+* Standard ML
+
+** [[http://wiki.hcoop.net/DomTool][Domtool]]
+
+Originally authored by [[http://www.schizomaniac.net/][Adam Chlipala]], as of late 2010 I have been
+tasked with keeping it up to date for [[http://hcoop.net][HCoop]].
 
 * Old Projects
 
 
 * Old Projects
 
@@ -51,7 +91,7 @@ is fairly powerful. =dsmith= from =#guile= has a nicely featured bot
 written on top of Bobot++; if I find time I shall attempt to post the
 source.
 
 written on top of Bobot++; if I find time I shall attempt to post the
 source.
 
-There is now a [[darcsweb::bobot++][darcs repo]] available with a few minor changes. I am
+There is now a [[darcsweb::bobot%2B%2B][darcs repo]] available with a few minor changes. I am
 sporadically working to make the internals of the bot fully threadsafe
 so that multithreaded Scheme extensions don't run into issues. I may
 potentially clean up the Scheme interface as well (as it was clearly
 sporadically working to make the internals of the bot fully threadsafe
 so that multithreaded Scheme extensions don't run into issues. I may
 potentially clean up the Scheme interface as well (as it was clearly