Revert "html update"
[clinton/website/site/unknownlamer.org.git] / Code.html
CommitLineData
2aff8b5c 1<?xml version="1.0" encoding="utf-8" ?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml">
5 <head>
6 <title>Programming Projects</title>
7 <meta name="generator" content="muse.el" />
8 <meta http-equiv="Content-Type"
9 content="text/html; charset=utf-8" />
11f9bd69
CE
10 <meta name="viewport"
11 content="width=device-width, initial-scale=1.0" />
3c59982c 12 <link href="https://feeds.unknownlamer.org/rss/site-updates"
f6d19803 13 rel="alternate" type="application/rss+xml" title="Updates Feed" />
14
e9275323 15<link rel="stylesheet" href="default.css" />
2aff8b5c 16 </head>
17 <body>
18 <h1>Programming Projects</h1>
19 <div class="contents">
20<dl>
21<dt>
a949f025 22<a href="#sec1">Common Lisp</a>
3e946ca7 23</dt>
24<dd>
25<dl>
26<dt>
a949f025 27<a href="#sec2">UnCommon Web Related</a>
e9275323 28</dt>
a949f025 29<dd>
30<dl>
e9275323 31<dt>
a949f025 32<a href="#sec3">Golgonooza</a>
e9275323 33</dt>
34<dt>
a949f025 35<a href="#sec4">ucw-forms</a>
36</dt>
37<dt>
38<a href="#sec5">ucw-core branch</a>
3e946ca7 39</dt>
40</dl>
41</dd>
42<dt>
a949f025 43<a href="#sec6">Trivial-Timers</a>
44</dt>
45</dl>
46</dd>
47<dt>
ad38099a 48<a href="#sec7">Scheme</a>
3e946ca7 49</dt>
50<dd>
51<dl>
52<dt>
ad38099a 53<a href="#sec8">Guile XOSD2</a>
54</dt>
55</dl>
56</dd>
57<dt>
c91a896f 58<a href="#sec9">Standard ML</a>
ad38099a 59</dt>
60<dd>
61<dl>
62<dt>
c91a896f 63<a href="#sec10">Domtool</a>
64</dt>
65</dl>
66</dd>
67<dt>
68<a href="#sec11">Old Projects</a>
69</dt>
70<dd>
71<dl>
72<dt>
73<a href="#sec12">Bobot++</a>
3e946ca7 74</dt>
75<dt>
c91a896f 76<a href="#sec13">Guile-Web</a>
3e946ca7 77</dt>
78</dl>
79</dd>
2aff8b5c 80</dl>
81</div>
82
83
11f9bd69
CE
84<!-- Page published by Emacs Muse begins here -->
85<p>All of my current, and mostly not so current, projects are browsable in
3c59982c 86a few places:</p>
87
88<ul>
89<li><a href="http://unknownlamer.org/darcsweb/browse">my darcsweb</a></li>
90<li><a href="http://git.hcoop.net/?a=project_list;pf=clinton">my gitweb</a>, and the <a href="http://git.hcoop.net/?a=project_list;o=age;pf=hcoop">HCoop projects gitweb</a></li>
91</ul>
92
93<p>You might want to take a look at my <a href="Lisp.html">Lisp related projects</a> page too.</p>
2aff8b5c 94
e9275323 95<h2><a name="sec1" id="sec1"></a>
a949f025 96Common Lisp</h2>
2aff8b5c 97
e9275323 98<h3><a name="sec2" id="sec2"></a>
a949f025 99UnCommon Web Related</h3>
100
101<h4><a name="sec3" id="sec3"></a>
102<a href="http://unknownlamer.org/darcsweb/browse?r=golgonooza;a=summary">Golgonooza</a></h4>
3e946ca7 103
104<p class="verse">
105Fourfold the Sons of Los in their divisions: and fourfold.<br />
106The great City of Golgonooza: fourfold toward the north<br />
107And toward the south fourfold, &amp; fourfold toward the east &amp; west<br />
108Each within other toward the four points: that toward<br />
109Eden. and that toward the World of Generation.<br />
110And that toward Beulah. and that toward Ulro;<br />
111Ulro is the space of the terrible starry wheels of Albions sons:<br />
112But that toward Eden is walled up. till time of renovation:<br />
113Yet it is perfect in its building. ornaments &amp; perfection.<br />
114</p>
115
9dcdb59d 116<p>Golgonooza is a set of utility components for <a href="http://common-lisp.net/projects/ucw/repos/ucw-core/">ucw-core</a>. As of December
1172008 it is nearing a releasable state and is in use on
a949f025 118<a href="http://bees-kneesfilms.com">one production site online</a> (<a href="http://unknownlamer.org/darcsweb/browse?r=beesknees;a=summary">darcsweb::beesknees</a> for source).</p>
3e946ca7 119
120
a949f025 121<h4><a name="sec4" id="sec4"></a>
122<a href="http://unknownlamer.org/darcsweb/browse?r=ucw-forms;a=summary">ucw-forms</a></h4>
e9275323 123
124<p class="first">ucw-forms is a slightly enhanced and de-javascripted version of the
125forms library from ucw_ajax updated for use with ucw-core.</p>
126
127
a949f025 128<h4><a name="sec5" id="sec5"></a>
129<a href="http://unknownlamer.org/darcsweb/browse?r=ucw-core_clinton;a=summary">ucw-core branch</a></h4>
e9275323 130
131<p class="first">I maintain a personal branch of ucw-core with various work in progress
bb5fc18a 132patches that are intended to go upstream. My primary task is filling
133in the ucw-standard library which was removed in the ucw-core fork.</p>
e9275323 134
135
136
a949f025 137<h3><a name="sec6" id="sec6"></a>
138<a href="http://unknownlamer.org/darcsweb/browse?r=trivial-timers;a=summary">Trivial-Timers</a></h3>
139
140<p><a href="http://retes.hu/~mega/git/?p=clon.git;a=summary">Clon</a> is a nice library for scheduling tasks within a Lisp image, but
141it used the SBCL timer extension. I wanted to run something using Clon
c2a3216c 142on <a href="http://trac.clozure.com/openmcl">Clozure CL</a> and so I looked at the SBCL source and found that, after
143a bit of fairly straightforward editing, it was possible to write a
144portable version for any compiler supporting <a href="http://common-lisp.net/project/bordeaux-threads/">Bordeaux Threads</a>. The
145SBCL timers internally use <code>sb-unix:setittimer</code>; Rather than using
146<a href="http://common-lisp.net/project/osicat/">Osicat</a> to emulate this I chose to rework the scheduling loop to run in
147a dedicated thread that sleeps on a condition variable with a
148timeout. This seems <em>cleaner</em> to me than using POSIX lib calls, but
149requires a threaded Lisp.</p>
a949f025 150
bb5fc18a 151<p><a href="http://releases.unknownlamer.org/trivial-timers/">Releases are available</a> with the usual <a href="http://unknownlamer.org/darcsweb/browse?r=trivial-timers;a=summary">darcs repo</a>. Currently there is a
a949f025 152native SBCL implementation and a portable implementation relying upon
153<a href="http://common-lisp.net/project/bordeaux-threads/">Bordeaux Threads</a>. Patches to export other Lisp implementations' timer
154interface are welcome.</p>
155
156
157
a949f025 158<h2><a name="sec7" id="sec7"></a>
ad38099a 159Scheme</h2>
160
161<h3><a name="sec8" id="sec8"></a>
162<a href="http://unknownlamer.org/darcsweb/browse?r=guile-xosd2;a=summary">Guile XOSD2</a></h3>
163
164<p class="first">A simple SWIG based wrapper for <a href="http://www.ignavus.net/software.html">libxosd2</a>. I forked this from
165<a href="https://gna.org/projects/guile-xosd">guile-xosd</a> after the maintainer did not respond to an email with a
166small patch to make the interface nicer. Guile-XOSD2 requires SWIG
1671.3.x and has been tested against the VM branch of Guile. I renamed
168most of the functions to have properly Scheme names.</p>
169
170
171
172<h2><a name="sec9" id="sec9"></a>
c91a896f 173Standard ML</h2>
174
175<h3><a name="sec10" id="sec10"></a>
176<a href="http://wiki.hcoop.net/DomTool">Domtool</a></h3>
177
178<p class="first">Originally authored by <a href="http://www.schizomaniac.net/">Adam Chlipala</a>, as of late 2010 I have been
179tasked with keeping it up to date for <a href="http://hcoop.net">HCoop</a>.</p>
180
181
182
183<h2><a name="sec11" id="sec11"></a>
3e946ca7 184Old Projects</h2>
185
186<p class="first">I used to work on some programs in terrible languages like <code>C++</code> when I
187was a poor misguided youth. I still attempt to respond to bug reports
188and patches for any that are still in use (<em>Bobot++</em> appears to be the
189only one), but they are otherwise not being worked upon.</p>
190
c91a896f 191<h3><a name="sec12" id="sec12"></a>
3e946ca7 192<a href="../code/bobot.html">Bobot++</a></h3>
193
194<p class="first">A fancy little IRC bot that is extensible with Scheme. If you can
195figure out the scripting interface (which is <a href="../code/bobotpp-manual.html#SEC35">partially documented</a>) it
196is fairly powerful. <code>dsmith</code> from <code>#guile</code> has a nicely featured bot
197written on top of Bobot++; if I find time I shall attempt to post the
198source.</p>
199
c2a3216c 200<p>There is now a <a href="http://unknownlamer.org/darcsweb/browse?r=bobot%2B%2B;a=summary">darcs repo</a> available with a few minor changes. I am
9dcdb59d 201sporadically working to make the internals of the bot fully threadsafe
202so that multithreaded Scheme extensions don't run into issues. I may
203potentially clean up the Scheme interface as well (as it was clearly
204not designed by a Schemer and I was not so well versed in proper style
205in 2002 when I did most of my work on Bobot++).</p>
206
3e946ca7 207
c91a896f 208<h3><a name="sec13" id="sec13"></a>
f7bae6cc 209<a href="../code/guile-web.html">Guile-Web</a></h3>
3e946ca7 210
211<p class="first">A perhaps still useful library of web related utilities for
212<a href="http://www.gnu.org/software/guile/guile.html">Guile Scheme</a>. Be warned that the serializer is inefficient, consy, and
213hacky as Hell, but the <a href="../code/guile-web-manual.html#SEC6">XHTML generation library</a> might be useful.</p>
214
215
216
2aff8b5c 217 <!-- Page published by Emacs Muse ends here -->
218
219 <p class="cke-buttons">
220 <!-- validating badges, any browser, etc -->
3c59982c 221 <a href="https://validator.w3.org/check/referer"><img
222 src="https://www.w3.org/Icons/valid-xhtml10"
2aff8b5c 223 alt="Valid XHTML 1.0!" /></a>
224
3c59982c 225 <a href="https://www.anybrowser.org/campaign/"><img
2aff8b5c 226 src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
227 ]" /></a>
228
3c59982c 229 <a href="https://www.debian.org/"><img
2aff8b5c 230 src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
231
3c59982c 232 <a href="https://hcoop.net/">
2aff8b5c 233 <img src="img/buttons/hcoop.png"
234 alt="[ Hosted by HCoop]" />
235 </a>
236
3c59982c 237 <a href="https://www.fsf.org/register_form?referrer=114">
2aff8b5c 238 <img src="img/buttons/fsf_member.png"
239 alt="[ FSF Associate Member ]" />
240 </a>
241 </p>
242
11f9bd69
CE
243<p class="cke-footer"> (1) _Of course_ we made sure it was actually too slow before making
244the ugly optimization.
2aff8b5c 245</p>
246<p class="cke-timestamp">Last Modified:
3c59982c 247 May 9, 2019</p>
2aff8b5c 248 </body>
249</html>