Dynamic completion of words in Emacs (the words don't have to be in the buffer, just in some global dictionary). The efficient way to arrange the dictionary is: Say the word_set is {"abc" "aaa" "abb" "acc" "baa" "bcc" "cba" ...}, then the dictionary would be arranged like this: [a b c] | | | | | | | | | V V V [a b c] [a b c] [a b c] | | | | | | | | | | | | | | | | | | V V V V V V V V V [abc] [abc] [abc] [abc] [abc] [abc] [abc] [abc] [abc] Words have "hit-markers", but may continue past them (i.e.: a hit marker does not indicate a leaf node, it just indicates that this node is a word end). To get the completions for WORD-PREFIX, you simply follow it down and then do a breadth-first search of the tree underneath. If you can't follow it down, then you simply don't do completion on it. ------------------------------------------------------------------------------ * n-in-a-row tilings -- what n is minimal? If you tile a go board with any arrangement of black and white stones (must their numbers be "equal", or not even that?), what is the largest n such that there will be n-in-a-row of one color somewhere on the board? Two directions, or diagonals too? * prime-and-exponent character stroke I.D. system * A Musical Approach to Cantonese / Cantonese: a Musical Approach ISBN 9628036025 --------------------------------------------------------------------------- Summary of the condition Summary of the problem i.e., is the condition really a big problem? Why? * bad Chinese language support * money flows out of the country instead of internally (when the software is paid for at all) * software is made for foreign conditions, not Chinese conditions, particularly resource usage * lack of opportunity for chinese programmers to really write big code, which skills being important for other areas (i.e., national security? science?) * mainly, lack of national control over direction of such an important industry (justify this) Possible solutions: * government subsidy for program development tax breaks for purchases of Chinese software? Requirement that government offices use Chinese software? Not schools though, as experience in foreign software won't hurt... * higher government subsidies for networking, which brings economies of scale to programming, see below * free software solution? (separate essay?) Rebutted objections: * there isn't really a problem: See above; there is * Compatibility is too important: Compatibility is important, but it does require using the same software. Protocols and standards can be used (made where they do not exist?); give examples, how Word & WordPerfect can cross formats, how networking protocol is platform independent * We don't have the skills & resources Nonsense; if you do, you can do it, if you don't, that's precisely why it's necessary to start getting them NOW. Point out that software is not about average ability of programmers, but maximums, since one good result can be spread infinitely. -------------------------------------------------------------------------- * The GPL'd SQL user-tracking system. "While at RAIN, I put together a GPL user tracking system (for which I wrote that small SQL database). A company that made it look nice and sold support for it could be lucrative, I think. Smaller ISPs could use the product and read FAQs. Larger ISPs could ask for training and installation help. Might not be quite as profitable as Cyclic (which has more corporate-end appeal), but it could make money nonetheless." * run an ISP for dedicated line customers only * music transcription software * web hosting and cgi/java services for fun and profit * A "general" product listing service. There are all sorts of little web sites which list (for example) one of antiques, or rare books, or whatever non-mass-market area in which the main issue is often connecting the customer to a product they would almost certainly buy if only they could *find* it. Why not have a web site that's not specific to one kind of product, but allows people to add their entry to an existing category _or_ start a new category? It would seem to make sense to give the users the power to arrange the service; we shouldn't have to lift a finger when someone wants to start offering say, antique Chinese vases. The software shouldn't be much trouble to write -- probably already exists. Mass-market items like cars already have pretty complete database services in place, though, I think. It might be key to sell it individually to other small businesses (i.e., via actual in-store visits or phone calls), who are probably bombarded more and more with get-rich-quick-on-the-Internet schemes. Once a few businesses in an area are using it, others will be more likely to give it consideration. * A specialized "online" backup service. Can tailor the backup method to individual needs. If the customer just want to stuff everything down into a file on our end, fine. If they want us to come slurp it from their machines instead (so they don't have to worry about maintaining complex cron jobs on their end), we can do that too. * Specializing in bio software (possible meeting w/ Pace) * Running a small non-virtual business (cafe, bookshop, ...), but with a virtual side, i.e., a net connection and things to do with it. Could do consulting and programming jobs from there too. ---------------------------------------------------------------------------- This is pie-in-the-sky, as we don't have any experience with this, but: I thought it might be neat to offer (maybe marketed as a gift) world maps that have your hometown at the exact center, prominently labeled. Maybe it would even say "John Foo's House" right there. :-) Gifts aside, it might also be practical for some people, who need driving maps for a circle of radius X centered on their home. You could have a digital representation of one large world (or national, whatever) map online, then a program which takes a coordinate and prints out the map at a given resolution with that center. There are lots of online map programs which let you zoom in on a center, but they don't print out professional-quality maps. This service is different: what we're selling are the actual, paper maps, looking just like the ones sold by the National Geographic Society. Like what you might buy in a store right now. Like I said, pipe dream for now, but the idea has potential, if logistics can be worked out. ---------------------------------------------------------------------------- * Does evolution ever select *against* overly accurate copying mechanisms? * reasoning by analogy is like trying to steer your car by looking at a map * IDEA: rotating ring analog watch (for timezone conversions, the numbers on on a ring around the face; the ring can be rotated to shift time) * IDEA: teacher's eraser glove -- eraser faces out from back of hand * green-on-red eye chart * IDEA: rotating flat cylinder/octagon pocket wheel paper presenter * econ subscription for reps! * subscribe to DuZhe or some Chinese-language magazine! ---------------------------------------------------------------------------- From: Karl Fogel To: kcache@red-bean.com Subject: IDEA: biography server Date: Sat, 7 Jun 1997 21:09:26 +0900 X-Windows: warn your friends about it. you know what this means ---------------------------------------------------------------------------- Churchill's WWII history Orwell: Animal Farm & 1984 Gone w/ The Wind Stephen Ambrose (what?) Jonathan Rabin (what?) The Guilded Age (Mark Twain & Charles Dudley Warner) Gerard Manley Hopkins, poems Wodehouse: French Leave Beckett: Watt ---------------------------------------------------------------------------- From: Karl Fogel To: kcache@cyclic.com Subject: THINGS TO SUBSCRIBE TO WHEN GET BACK HOME Date: Sat, 10 May 1997 22:33:30 +0900 Emacs: because editing your files should be a traumatic experience. Economist Atlantic (Monthly?) National Geographic NYT Manchester Guardian London Times The New Yorker Analog Whole Earth Review Harper's Current History (?) The Funny Times Far Eastern Economic Review (?) New York Review of Books Hungry Mind Review Washington Post Linux Journal WeiQi Magazine Wired, if it still exists DuZhe? ---------------------------------------------------------------------------- * nested MD5 hashes: that way they don't lose their effectiveness just because one must be publicly revealed in (say) court. * digital chalk boards that save, load, and do diffs * digital Go board that records your game automatically -- would just have a serial cable coming out of it or something, speaking a brain-dead protocol; all the software would be on an outside computer. * Java-written public Go board on WWW page, so random people can start a game and anyone can see how it's progressing and comment on it (also visible on the page). * "zero-knowledge encryption": a number can be broken into prime factors represented as sets thusly: 20 == 2^2 * 5^1 == { {2,5}, {2,1} } and if the second set of exponents contains non-primes, they too can be replaced by such sets. Don't see how this would encrypt anything, actually, but it's a neat way to represent numbers, and possibly could be used as a hashing method (i.e., perform some operation on the the numbers in the set such that it's hard to recover the original number). Also, remember the problem from CS Theory that you thought would make a good encryption system, what was it called... ack... PCP, that's right. Now, what the heck did it stand for? Poorly Cleaned Privies? Arrgh. * an kernel that keeps track of which parts of an executable are rarely entered and records this, so `exec' can load only the oft-used portions and be ready to bring in the rest only if it's jumped to. * use "==>" and "<==" on snail-mail envelopes * networked prior-art registry, so storage burden is shared * libraries that give their customers records of their borrowing activity on request, due dates upcoming, etc... * gov't independent speech board; HK laws, Chinese constitution? * 361.org, Club361 * Fractal diff: ------------------------------------------------------------------------- If you diff two files, _____________ _____________ Constition Decl. of Ind. \n =/= \n Decl. of Ind. Constitution ------------- ------------- diff will report a huge amount of differences, when in fact the "true" diff is (unless there's a better way) just to rotate around one newline. Like fractal compression, it finds a set of operations to perform on one file that transforms it into the other. It tries to minimize this set. It encapsulates a cute compression program: the compressor keeps generating smaller and smaller random "scratch" files and then trying to find the "minimum" diff between the scratch file and the file being compressed. As long as the scratch text plus the diff are less than the original file, compression has been achieved. Uh, yeah. Right. You could just have an industry standard set of scratch tables, how about? Whoa, onto something completely different here, think about this... how do you precache for completely unknown information effectively? Does this concept even make sense? -------------------------------------------------------------------------