After incrementing an unsigned char value, don't cast it back to
[sgt/agedu] / TODO
diff --git a/TODO b/TODO
index f34f507..f8c723d 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,22 +1,6 @@
 TODO list for agedu
 ===================
 
- - adjust the default web server address selection.
-    + some systems (e.g. OS X) don't like us binding to random
-      localhost addresses. So if that fails, try falling back to
-      127.0.0.1 proper (and a randomly selected port) before giving
-      up.
-    + since binding to port 80 isn't generally feasible, we should
-      adjust the default behaviour when the user specifies --addr
-      with no port: it should select port zero, and then print the
-      port number on standard output. (Possibly also print the URL
-      as usual, in that situation: translate INADDR_ANY to
-      INADDR_LOOPBACK and then do the same as when we made the
-      entire address up ourself.)
-
- - we should munmap in all operating modes where we mmapped,
-   otherwise chaining them will run out of address space
-
  - we could still be using more of the information coming from
    autoconf. Our config.h is defining a whole bunch of HAVE_FOOs for
    particular functions (e.g. HAVE_INET_NTOA, HAVE_MEMCHR,
@@ -30,16 +14,6 @@ TODO list for agedu
       controversial; IIRC it's all in POSIX, for one thing. So more
       likely this should simply wait until somebody complains.
 
- - it would be useful to support a choice of indexing strategies.
-   The current system's tradeoff of taking O(N log N) space in order
-   to be able to support any age cutoff you like is not going to be
-   ideal for everybody. A second more conventional mechanism which
-   allows the user to specify a number of fixed cutoffs and just
-   indexes each directory on those alone would undoubtedly be a
-   useful thing for large-scale users. This will require
-   considerable thought about how to make the indexers pluggable at
-   both index-generation time and query time.
-
  - IPv6 support in the HTTP server
     * of course, Linux magic auth can still work in this context; we
       merely have to be prepared to open one of /proc/net/tcp or
@@ -80,9 +54,27 @@ TODO list for agedu
       Unclear what the right UI would be on Windows, too;
       command-line exactly as now might be considered just a
       _little_ unfriendly. Or perhaps not.
+       * Disk scan procedure: the FindFirstFile / FindNextFile
+        functions to scan a directory automatically return the file
+        times along with the filenames, so there's no need to stat
+        them later. Would want to fiddle the shape of the
+        abstraction layer to reflect this.
     + Alternatively, a much easier approach would be to write a
       Windows version of just the --scan-dump mode, which does a
       filesystem scan via the Windows API and generates a valid
       agedu dump file on standard output. Then one would simply feed
       that over the network connection of one's choice to the rest
       of agedu running on Unix as usual.
+
+ - it might conceivably be useful to support a choice of indexing
+   strategies. The current "continuous index" mechanism' tradeoff of
+   taking O(N log N) space in order to be able to support any age
+   cutoff you like is not going to be ideal for everybody. A second
+   more conventional "discrete index" mechanism which allows the
+   user to specify a number of fixed cutoffs and just indexes each
+   directory on those alone would undoubtedly be a useful thing for
+   large-scale users. This will require considerable thought about
+   how to make the indexers pluggable at both index-generation time
+   and query time.
+    * however, now we have the cut-down version of the continuous
+      index, the space saving is less compelling.