~toykeeper/flashlight-firmware/trunk

« back to all changes in this revision

Viewing changes to ToyKeeper/spaghetti-monster/rampingios/rampingios-v3.html

  • Committer: Selene Scriven
  • Date: 2018-10-10 01:23:15 UTC
  • mfrom: (188.1.188 fsm)
  • Revision ID: bzr@toykeeper.net-20181010012315-iiaquinemb6y2ysl
merged the past month of updates from fsm branch

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
 
2
"http://www.w3.org/TR/html4/strict.dtd">
 
3
 
 
4
<html>
 
5
<head>
 
6
  <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scape=1.0; user-scalable=false;">
 
7
  <link rel="apple-touch-icon" href="/phil/avatar-iphone.png">
 
8
  <title>RampingIOS V3 Manual :: Phil! Gold</title>
 
9
 
 
10
  <meta name="DC.title" content="Phil! Gold">
 
11
 
 
12
  <link rel="openid2.provider" href="https://www.google.com/accounts/o8/ud" />
 
13
  <link rel="openid2.local_id" href="https://plus.google.com/116471799767513262335" />
 
14
  <!-- Old one preserved, because some sites use the provider as an account key (bad them). -->
 
15
  <!--link rel="openid.server" href="http://www.livejournal.com/openid/server.bml"-->
 
16
  <!--link rel="openid.delegate" href="http://phil-g.livejournal.com/"-->
 
17
 
 
18
  <link rel="alternate" type="application/rss+xml" title="RSS" href="http://aperiodic.net/phil/archives/index.rss">
 
19
  <link rel="stylesheet" type="text/css" href="/phil/default.css">
 
20
  <link rel="stylesheet" type="text/css" href="/phil/blog.css">
 
21
 
 
22
</head>
 
23
 
 
24
<body>
 
25
 
 
26
<div id="header">
 
27
  <h1>RampingIOS V3 Manual</h1>
 
28
</div>
 
29
 
 
30
<div id="content">
 
31
<h2>Tue, 28 Aug 2018</h2>
 
32
 
 
33
<div class="story-title" id="rampingios-v3">
 
34
  <h3>RampingIOS V3 Manual</h3>
 
35
  <div class="title-links">
 
36
    9:47AM |
 
37
    <a href="http://aperiodic.net/phil/archives/Geekery" >Geekery</a> |
 
38
    
 
39
    <a href="http://aperiodic.net/phil/archives/Geekery/rampingios-v3.html" title="permalink for RampingIOS V3 Manual" rel="bookmark">#</a>
 
40
  </div>
 
41
</div>
 
42
 
 
43
<p><figure style="float: right">
 
44
  <a href="https://bazaar.launchpad.net/~toykeeper/flashlight-firmware/trunk/download/head:/rampingiosv3ui.png-20180807025443-zdamv4ixtu49o7hm-1/rampingiosv3-ui.png">
 
45
    <!-- img width="256em" src="https://bazaar.launchpad.net/~toykeeper/flashlight-firmware/trunk/download/head:/rampingiosv3.svg-20180807025420-q28902kbav01123w-1/rampingiosv3.svg" -->
 
46
    <img width="256em" src="https://bazaar.launchpad.net/~toykeeper/flashlight-firmware/trunk/download/head:/rampingiosv3ui.png-20180807025443-zdamv4ixtu49o7hm-1/rampingiosv3-ui.png">
 
47
  </a>
 
48
  <figcaption>RampingIOS V3 UI diagram</figcaption>
 
49
</figure></p>
 
50
 
 
51
<p>The Emisar <a href="https://intl-outdoor.com/emisar-d4s-26650-high-power-led-flashlight-p-932.html">D4S</a> flashlights use a firmware named RampingIOS
 
52
V3.  (The Emisar <a href="https://intl-outdoor.com/emisar-d4-high-power-led-flashlight-p-921.html">D4</a>, <a href="https://intl-outdoor.com/emisar-d1-mini-thrower-p-922.html">D1</a>, and <a href="https://intl-outdoor.com/emisar-d1s-thrower-p-926.html">D1S</a>
 
53
all use <a href="http://aperiodic.net/phil/archives/Geekery/rampingios-v2.html">RampingIOS V2</a>.)  There's not really a manual; the
 
54
only thing we get is the diagram on the right.  It's reasonably
 
55
comprehensive, but there's a fair amount of detail it merely summarizes,
 
56
so I thought a textual manual would be nice.</p>
 
57
 
 
58
<p>The Emisar D4S only works when the head and tailcap are tightened fully.
 
59
You can physically lock it out--prevent it from turning on
 
60
accidentally--by simply loosening the tailcap a small amount.  A quarter
 
61
turn will do it.</p>
 
62
 
 
63
<p>Emisar lights are known for their ramping interfaces.  Rather than have a
 
64
small number of distinct brightness levels, they can vary their brightness
 
65
anywhere between their lowest and highest levels, like a light on a
 
66
dimmer.  The D4S is in ramping mode by default, but it also has a stepped
 
67
mode that can be configured to be closer to how non-ramping lights work.</p>
 
68
 
 
69
<p>Each mode--ramping and stepped--can have differently-configured brightness
 
70
floors and ceilings.</p>
 
71
 
 
72
<p>The driver for the D4S has two different chipsets.  At low brightness
 
73
levels, a fairly-efficient but low-power chipset (called a <em>7135</em>) is
 
74
used.  These lowest brightness levels are called the "<em>regulated levels</em>".
 
75
Each regulated level will always be the same brightness regardless of how
 
76
much charge the battery has.  Above a particular brightness level, the
 
77
light switches over to a less-efficient but high-power chipset (called a
 
78
<em>FET</em>).  These levels are called "<em>direct-drive</em>".  The brightness of the
 
79
direct-drive levels is directly related to the battery's charge level; the
 
80
more charged the battery, the brighter the levels.  The light is at its
 
81
most efficient, in terms of power used for every lumen generated, at the
 
82
brightest regulated level.  When the light is first powered by tightening
 
83
the tailcap, it will default to this level.</p>
 
84
 
 
85
<p>At higher brightness levels, the light's LEDs generate a lot of heat.  If
 
86
the light exceeds its configured maximum temperature, it will begin
 
87
dimming itself automatically until the temperature drops below the allowed
 
88
maximum.</p>
 
89
 
 
90
<p>The D4S has a set of cyan-colored auxiliary LEDs that can be on when the
 
91
main LEDs are off.  You can configure the behavior of the aux LEDs.</p>
 
92
 
 
93
<h4>Basic Usage</h4>
 
94
 
 
95
<p>The default mode for the light is ramping mode.  Triple-pressing the
 
96
button (<strong>3 clicks</strong>) while the light is on will toggle between ramping
 
97
and stepped mode.</p>
 
98
 
 
99
<p>While the light is off, press and release the button (<strong>1 click</strong>) to turn
 
100
it on.  It will turn on at the last-used brightness level.  (This is
 
101
called "<em>mode memory</em>".)  Immediately after loosening and tightening the
 
102
tailcap (or after changing the battery), the memorized level will be the
 
103
light's max regulated level.</p>
 
104
 
 
105
<p>When the light is on, 1 click will turn it off.  The current brightness
 
106
level will be memorized for future use.  There's a fraction of a second
 
107
delay between pressing the button and the light actually turning off.
 
108
That's because of the way the light processes input; it's waiting to make
 
109
sure you're only going to press the button once (since multiple presses
 
110
will trigger other actions).</p>
 
111
 
 
112
<p>When the light is on, holding the button down will brighten the light.  In
 
113
ramping mode, the brightness will increase gradually ("<em>ramping up</em>").  In
 
114
stepped mode, the light will jump through increasing brightness levels.
 
115
If you press, release, and then hold the button, it will begin dimming.
 
116
In ramping mode, the brightness will decrease gradually ("<em>ramping
 
117
down</em>").  In stepped mode, the light will jump through decreasing
 
118
brightness levels.  While the light is changing, if you release the button
 
119
and immediately hold it again, the direction (dimming or brightening) will
 
120
switch.</p>
 
121
 
 
122
<p>In ramping mode, while the light is ramping, it'll briefly blink off and
 
123
on again at two different brightness levels: the maximum regulated level
 
124
and the brightness ceiling.</p>
 
125
 
 
126
<p>While the light is off, double-pressing the button (<strong>2 clicks</strong>) will
 
127
immediately jump to the brightness ceiling.</p>
 
128
 
 
129
<p>While the light is on, <strong>2 clicks</strong> will jump to the maximum brightness
 
130
level, regardless of the configured brightness ceiling.  Another two
 
131
clicks will go back to the previous brightness level.</p>
 
132
 
 
133
<p>While the light is off, if you hold the button the light will turn on at
 
134
its lowest level.  If you continue holding the button, the light will
 
135
begin brightening from there.</p>
 
136
 
 
137
<h5>Configuration Menus</h5>
 
138
 
 
139
<p>The light has several different configuration modes.  Each of those modes
 
140
works more or less the same way.  The mode will have a series of menu
 
141
items that it will go through.  For each menu item, the light will first
 
142
blink a number of times corresponding to the item number (first, second,
 
143
etc.)  After that, the light will begin fluttering on and off fairly
 
144
quickly.  While the light is fluttering, you can click the button a number
 
145
of times; the light will count the number of button presses and use that
 
146
number as its new configuration for that menu item.  After a short period
 
147
of time, the fluttering will stop and the light will move on to the next
 
148
menu item.  After the light has gone through all of the menu items, it
 
149
will return to whatever mode it was in before entering the configuration
 
150
mode.</p>
 
151
 
 
152
<p>If you don't press the button during a particular menu item's fluttering,
 
153
that item will remain unchanged.</p>
 
154
 
 
155
<h5>Configuring the Basic Modes</h5>
 
156
 
 
157
<p>While the light is on, <strong>4 clicks</strong> will enter ramping or stepped
 
158
configuration mode, depending on which mode the light was in before the 4
 
159
clicks.</p>
 
160
 
 
161
<p>For ramping mode, there are two menu options:</p>
 
162
 
 
163
<ol>
 
164
<li>Brightness floor (default 1/150)</li>
 
165
<li>Brightness ceiling (default 150/150)</li>
 
166
</ol>
 
167
 
 
168
<p>During the floor configuration, press the button equal to the number of
 
169
ramping levels (out of 150) at which the floor should be.  To set the
 
170
lowest possible floor, click the button once.</p>
 
171
 
 
172
<p>The ceiling is configured similarly, but you press the button equal to the
 
173
number of steps away from maximum brightness.  To set the highest possible
 
174
ceiling (at max brightness), click the button once.</p>
 
175
 
 
176
<p>For stepped mode, there are three menu options:</p>
 
177
 
 
178
<ol>
 
179
<li>Brightness floor (default 20/150)</li>
 
180
<li>Brightness ceiling (default 120/150)</li>
 
181
<li>Number of steps (default 7)</li>
 
182
</ol>
 
183
 
 
184
<h4>Other Modes</h4>
 
185
 
 
186
<p>The other modes largely involve multiple clicks from off.  Most of them
 
187
are not generally needed for everyday use, but they supplement the light's
 
188
basic operations.</p>
 
189
 
 
190
<h5>BattCheck/TempCheck Modes</h5>
 
191
 
 
192
<p>From off, <strong>3 clicks</strong> will enter "BattCheck" mode, which blinks out the
 
193
current battery voltage.  First it blinks the number of volts, then it
 
194
pauses, then it blinks out the tenths of volts.  Thus, if the battery were
 
195
at 3.5 volts, the light would blink three times, pause, then five times.
 
196
For zeroes, it gives a very short blink.</p>
 
197
 
 
198
<p>A fully-charged lithium-ion battery is 4.2 volts.  The light considers 2.8
 
199
volts to be an empty battery and won't turn on if the battery is at or
 
200
below 2.8 volts.</p>
 
201
 
 
202
<p>The voltage sequence will continue blinking until you turn off the light
 
203
with a single click.</p>
 
204
 
 
205
<p>While the light is in BattCheck mode, <strong>2 clicks</strong> will enter TempCheck
 
206
mode.  Instead of blinking out the battery voltage, the light will start
 
207
blinking out its current temperature in degrees Celsius, first the tens
 
208
digit then the units digit.  Like BattCheck mode, the light will continue
 
209
blinking out the temperature until you turn it off with a single click.</p>
 
210
 
 
211
<p>While the light is in TempCheck mode, <strong>4 clicks</strong> will enter thermal
 
212
configuration mode.  See the thermal configuration mode documentation
 
213
below for how that works.</p>
 
214
 
 
215
<h5>Tactical Mode</h5>
 
216
 
 
217
<p>From off, <strong>4 clicks</strong> will enter "tactical" or "momentary" mode.  The
 
218
light will flash once to show that it's entered the mode.  The auxiliary
 
219
LEDs will turn off (if they were on).  In tactical mode, the light will
 
220
turn on at its memorized brightness for as long as the button is being
 
221
held down.  It will turn off as soon as the button is released.</p>
 
222
 
 
223
<p>There's no button press combination that will exit tactical mode.  To exit
 
224
it, you will have to partially unscrew and retighten the tailcap.</p>
 
225
 
 
226
<h5>Lockout Mode</h5>
 
227
 
 
228
<p>From off, <strong>6 clicks</strong> will enter lockout mode.  The light will flash
 
229
twice to show that it's entered the mode.  There's a separate aux LED mode
 
230
for lockout mode, so you can tell whether the light is in lockout or not.</p>
 
231
 
 
232
<p>In lockout mode, pressing the button will turn on the light at its lowest
 
233
brightness ("<em>moonlight mode</em>") for as long as the button is held down.</p>
 
234
 
 
235
<p>Another 6 clicks will exit lockout mode.  The light will flash twice to
 
236
show that it's left the mode.</p>
 
237
 
 
238
<p>While in lockout mode, <strong>3 clicks</strong> will cycle through the various
 
239
settings for the aux LEDs in lockout mode.  The four modes are, in order:
 
240
low, high, blink (on high), and off.  The default mode is blink.</p>
 
241
 
 
242
<p>Remember that loosening the tailcap a quarter turn will also lock out the
 
243
light.  Using the 6 clicks is called "<em>electronic lockout</em>", while turning
 
244
the tailcap is "<em>physical lockout</em>".</p>
 
245
 
 
246
<h5>Aux LED Configuration</h5>
 
247
 
 
248
<p>From off, <strong>7 clicks</strong> will cycle to the next aux LED mode.  The four
 
249
modes are, in order:  low, high, blink (on high), and off.  The default
 
250
mode is low.</p>
 
251
 
 
252
<h5>Beacon Mode</h5>
 
253
 
 
254
<p>From off, <strong>8 clicks</strong> will enter beacon mode.  In beacon mode, the light
 
255
will blink on and off every few seconds.</p>
 
256
 
 
257
<p>By default, the light will blink every two seconds.  To change the timing,
 
258
use <strong>4 clicks</strong> while in beacon mode.  The light will enter a one-item
 
259
menu.  During the flickering for input, press the button a number of times
 
260
equal to the number of seconds between blinks.</p>
 
261
 
 
262
<p>1 click will exit beacon mode.</p>
 
263
 
 
264
<h5>Thermal Configuration Mode</h5>
 
265
 
 
266
<p>From off, <strong>10 clicks</strong> will enter thermal configuration mode.</p>
 
267
 
 
268
<p>The menu items here are:</p>
 
269
 
 
270
<ol>
 
271
<li>Current temperature (every click is one degree Celsius)</li>
 
272
<li>Temperature ceiling (every click is one degree <em>above 30°C</em>)</li>
 
273
</ol>
 
274
 
 
275
<p>The "current temperature" item can be used to adjust the calibration of
 
276
the light's temperature sensor.  To use it, make sure the light has been
 
277
off long enough that all of its components have cooled (or warmed) to the
 
278
ambient temperature.  Check the ambient temperature using a thermometer
 
279
you trust.  Go to thermal configuration mode, and enter the current
 
280
temperature by clicking the button a number of times equal to the
 
281
temperature in degrees Celsius.  (If it's 22°C, click the button 22
 
282
times.)</p>
 
283
 
 
284
<p>You can check the default calibration by entering TempCheck mode from a
 
285
room-temperature light.  The D4Ss are supposed to go through a temperature
 
286
calibration at the factory, so hopefully most of them won't need manual
 
287
thermal calibration.</p>
 
288
 
 
289
<p>The temperature ceiling is simply the highest temperature the light should
 
290
be allowed to reach.  Once it hits its temperature ceiling, it will
 
291
progressively dim itself until the temperature stabilizes below the
 
292
ceiling.  Note that the number of clicks in that menu option is added to
 
293
<em>30</em> to reach the actual ceiling.  (Thus, you can't set a ceiling below
 
294
31°C.)  The maximum allowed ceiling is 70°C.</p>
 
295
 
 
296
<p>The default temperature ceiling is 45°C.</p>
 
297
 
 
298
 
 
299
</div>
 
300
 
 
301
<div id="sidebar">
 
302
  <h2>Static</h2>
 
303
  <ul>
 
304
    <li><a href="/phil/prompt/">zsh prompt</a></li>
 
305
    <li><a href="/phil/pgp/">PGP</a></li>
 
306
    <li><a href="/phil/ssh/">SSH</a></li>
 
307
    <li><a href="/phil/MTA/">MTA</a></li>
 
308
    <li><a href="/phil/tutorials/">tutorials</a></li>
 
309
    <li><a href="/phil/configs/">config files</a></li>
 
310
    <li><a href="http://www.flickr.com/photos/phil_g/sets/1671829/">desktop</a></li>
 
311
    <li><a href="http://www.librarything.com/catalog/asciiphil">books I own</a></li>
 
312
    <li><a href="/phil/stuff/">stuff I'm giving away</a></li>
 
313
    <li><a href="/phil/drwho/">Dr. Who eps I have</a></li>
 
314
    <li><a href="http://del.icio.us/phil_g">bookmarks</a></li>
 
315
    <li><a href="http://www.flickr.com/photos/phil_g/">photos</a></li>
 
316
    <li><a href="/phil/about.html">about</a></li>
 
317
  </ul>
 
318
 
 
319
  <h2>Directory</h2>
 
320
  <ul class="categories">
 
321
<li><a href="http://aperiodic.net/phil/archives/index.html">Root</a> (143)
 
322
<ul>
 
323
<li><a href="http://aperiodic.net/phil/archives/Books/index.html">Books</a> (32)
 
324
</li>
 
325
<li><a href="http://aperiodic.net/phil/archives/Events/index.html">Events</a> (7)
 
326
<ul>
 
327
<li><a href="http://aperiodic.net/phil/archives/Events/Burning_Man/index.html">Burning Man</a> (3)
 
328
</li>
 
329
<li><a href="http://aperiodic.net/phil/archives/Events/Camping/index.html">Camping</a> (2)
 
330
</li>
 
331
<li><a href="http://aperiodic.net/phil/archives/Events/PDF/index.html">PDF</a> (2)
 
332
</li>
 
333
</ul>
 
334
</li>
 
335
<li class="this-category">Geekery (36)
 
336
<ul>
 
337
<li><a href="http://aperiodic.net/phil/archives/Geekery/Test/index.html">Test</a> (3)
 
338
</li>
 
339
</ul>
 
340
</li>
 
341
<li><a href="http://aperiodic.net/phil/archives/General/index.html">General</a> (24)
 
342
</li>
 
343
<li><a href="http://aperiodic.net/phil/archives/Links/index.html">Links</a> (12)
 
344
<ul>
 
345
<li><a href="http://aperiodic.net/phil/archives/Links/Slashdot/index.html">Slashdot</a> (1)
 
346
</li>
 
347
</ul>
 
348
</li>
 
349
<li><a href="http://aperiodic.net/phil/archives/MTA/index.html">MTA</a> (22)
 
350
</li>
 
351
<li><a href="http://aperiodic.net/phil/archives/Recipes/index.html">Recipes</a> (4)
 
352
</li>
 
353
<li><a href="http://aperiodic.net/phil/archives/Video_Games/index.html">Video Games</a> (6)
 
354
<ul>
 
355
<li><a href="http://aperiodic.net/phil/archives/Video_Games/FFXI/index.html">FFXI</a> (1)
 
356
</li>
 
357
</ul>
 
358
</li>
 
359
</ul>
 
360
</li>
 
361
</ul>
 
362
 
 
363
 
 
364
  <h2>Archive</h2>
 
365
  <table class="month-calendar"><caption class="month-calendar-head"><a title="December 2017 (1)" href="http://aperiodic.net/phil/archives/2017/12/">&larr;</a><a title="August 2018 (2)" href="http://aperiodic.net/phil/archives/2018/08/">August</a>&rarr;</caption>
 
366
    <tr>
 
367
      <th class="month-calendar-day-head Sunday">Sun</th>
 
368
      <th class="month-calendar-day-head Monday">Mon</th>
 
369
      <th class="month-calendar-day-head Tuesday">Tue</th>
 
370
      <th class="month-calendar-day-head Wednesday">Wed</th>
 
371
      <th class="month-calendar-day-head Thursday">Thu</th>
 
372
      <th class="month-calendar-day-head Friday">Fri</th>
 
373
      <th class="month-calendar-day-head Saturday">Sat</th>
 
374
    </tr>
 
375
    <tr>
 
376
      <td class="month-calendar-day-noday Sunday">&nbsp;</td>
 
377
      <td class="month-calendar-day-noday Monday">&nbsp;</td>
 
378
      <td class="month-calendar-day-noday Tuesday">&nbsp;</td>
 
379
<td class="month-calendar-day-nolink Wednesday">1</td>
 
380
<td class="month-calendar-day-nolink Thursday">2</td>
 
381
<td class="month-calendar-day-nolink Friday">3</td>
 
382
<td class="month-calendar-day-nolink Saturday">4</td>
 
383
</tr>
 
384
    <tr>
 
385
<td class="month-calendar-day-nolink Sunday">5</td>
 
386
<td class="month-calendar-day-nolink Monday">6</td>
 
387
<td class="month-calendar-day-nolink Tuesday">7</td>
 
388
<td class="month-calendar-day-nolink Wednesday">8</td>
 
389
<td class="month-calendar-day-nolink Thursday">9</td>
 
390
<td class="month-calendar-day-nolink Friday">10</td>
 
391
<td class="month-calendar-day-nolink Saturday">11</td>
 
392
</tr>
 
393
    <tr>
 
394
<td class="month-calendar-day-nolink Sunday">12</td>
 
395
<td class="month-calendar-day-nolink Monday">13</td>
 
396
<td class="month-calendar-day-nolink Tuesday">14</td>
 
397
<td class="month-calendar-day-nolink Wednesday">15</td>
 
398
<td class="month-calendar-day-nolink Thursday">16</td>
 
399
<td class="month-calendar-day-nolink Friday">17</td>
 
400
<td class="month-calendar-day-nolink Saturday">18</td>
 
401
</tr>
 
402
    <tr>
 
403
<td class="month-calendar-day-nolink Sunday">19</td>
 
404
<td class="month-calendar-day-nolink Monday">20</td>
 
405
<td class="month-calendar-day-nolink Tuesday">21</td>
 
406
<td class="month-calendar-day-nolink Wednesday">22</td>
 
407
<td class="month-calendar-day-nolink Thursday">23</td>
 
408
<td class="month-calendar-day-nolink Friday">24</td>
 
409
<td class="month-calendar-day-nolink Saturday">25</td>
 
410
</tr>
 
411
    <tr>
 
412
<td class="month-calendar-day-link Sunday"><a title="Sunday, 26 August 2018 (1)" href="http://aperiodic.net/phil/archives/2018/08/26/">26</a></td>
 
413
<td class="month-calendar-day-nolink Monday">27</td>
 
414
<td class="month-calendar-day-this-day Tuesday"><a title="Tuesday, 28 August 2018 (current) (1)" href="http://aperiodic.net/phil/archives/2018/08/28/">28</a></td>
 
415
<td class="month-calendar-day-nolink Wednesday">29</td>
 
416
<td class="month-calendar-day-nolink Thursday">30</td>
 
417
<td class="month-calendar-day-nolink Friday">31</td>
 
418
      <td class="month-calendar-day-noday Saturday">&nbsp;</td>
 
419
</tr>
 
420
</table>
 
421
 
 
422
  <table class="year-calendar"><caption class="year-calendar-head"><a title="2017 (3)" href="http://aperiodic.net/phil/archives/2017/">&larr;</a><a title="2018 (2)" href="http://aperiodic.net/phil/archives/2018/">2018</a>&rarr;</caption><tr><th class="year-calendar-subhead" colspan="6">Months</th></tr>
 
423
<tr>
 
424
<td class="year-calendar-month-nolink">Jan</td>
 
425
<td class="year-calendar-month-nolink">Feb</td>
 
426
<td class="year-calendar-month-nolink">Mar</td>
 
427
<td class="year-calendar-month-nolink">Apr</td>
 
428
<td class="year-calendar-month-nolink">May</td>
 
429
<td class="year-calendar-month-nolink">Jun</td>
 
430
</tr>
 
431
<tr>
 
432
<td class="year-calendar-month-nolink">Jul</td>
 
433
<td class="year-calendar-this-month"><a title="August 2018 (2)" href="http://aperiodic.net/phil/archives/2018/08/">Aug</a></td><td class="year-calendar-month-future">Sep</td>
 
434
<td class="year-calendar-month-future">Oct</td>
 
435
<td class="year-calendar-month-future">Nov</td>
 
436
<td class="year-calendar-month-future">Dec</td>
 
437
</tr>
 
438
</table>
 
439
 
 
440
 
 
441
  <h2>Search</h2>
 
442
  <form method="GET" action="http://www.google.com/custom">
 
443
    <p style="text-align: center">
 
444
      <input type="hidden" name="domains" value="aperiodic.net">
 
445
      <input type="hidden" name="cof" VALUE="GALT:#66CC6;S:http://aperiodic.net/phil/;GL:2;VLC:#CC66CC;AH:center;BGC:#000000;LC:#6666CC;GFNT:#666666;ALC:#CC6666;T:#CCCCCC;GIMP:#FFFFFF;AWFID:d3f1afbc39619250;">
 
446
      <input type="hidden" name="sitesearch" value="aperiodic.net">
 
447
      <input name="q" type="text" size="25" maxlength="255" style="width: 10em"><br>
 
448
      Powered by <a href="http://www.google.com/"><span class="google-G1">G</span><span class="google-o1">o</span><span class="google-o2">o</span><span class="google-g2">g</span><span class="google-l">l</span><span class="google-e">e</span></a>
 
449
    </p>
 
450
  </form>
 
451
 
 
452
 
 
453
  <h2>Currently Reading</h2>
 
454
 
 
455
  <div id="wb55a1f3ca64835526140c06560a0205e"></div>
 
456
  <script type="text/javascript" charset="UTF-8"
 
457
          src="http://www.librarything.com/widget_get.php?userid=asciiphil&theID=wb55a1f3ca64835526140c06560a0205e">
 
458
  </script>
 
459
 
 
460
  <h2>Recent Books</h2>
 
461
 
 
462
  <div id="wa13cfbb5a4be4d629ebe322b83f1e2f6"></div>
 
463
  <script type="text/javascript" charset="UTF-8"
 
464
          src="http://www.librarything.com/widget_get.php?userid=asciiphil&theID=wa13cfbb5a4be4d629ebe322b83f1e2f6">
 
465
  </script>
 
466
 
 
467
</div>
 
468
 
 
469
<div class="hr"><hr></div>
 
470
<address><a href="mailto:phil_g@pobox.com">Phil! Gold</a></address>
 
471
<p class="footer">
 
472
<a href="/phil/">Back to main page.</a><br>
 
473
</p>
 
474
<ul class="validation">
 
475
  <li>
 
476
  <a href="http://validator.w3.org/check/referer">
 
477
  <img src="/phil/pics/html401.png" alt="Valid HTML 4.01">
 
478
  </a>
 
479
  </li>
 
480
 
 
481
  <li>
 
482
  <a href="http://jigsaw.w3.org/css-validator/check/referer">
 
483
  <img src="/phil/pics/validcss.png" alt="Valid CSS 2">
 
484
  </a>
 
485
  </li>
 
486
 
 
487
  <li>
 
488
  <a href="http://aperiodic.net/phil/archives/index.rss">
 
489
  <img src="/phil/pics/rss10.png" alt="RSS syndication">
 
490
  </a>
 
491
  </li>
 
492
 
 
493
  <li>
 
494
  <a href="http://feedvalidator.org/check?url=http://aperiodic.net/phil/archives/index.rss">
 
495
  <img src="/phil/pics/validrss.png" alt="Valid RSS 1.0">
 
496
  </a>
 
497
  </li>
 
498
 
 
499
</ul>
 
500
 
 
501
</html>