desert cool and water economics

2006-09-04 Thread Kragen Javier Sitaker
I was riding through the coastal Peruvian desert this afternoon. It was unaccountably cool outside, but utterly desolate. It seems that, even in this desert, perhaps even especially here.the temperature of a building should be a matter of how much coupling it chooses to have to the radiant

Folding liquid fiberglass bicycles

2006-09-11 Thread Kragen Javier Sitaker
How small can a folding bicycle be? How light? I'd like to carry one in my shirt pocket for emergencies, or for travel by bus. Perhaps the frame could consist of waterproofed fiberglass fabric tubes filled with water, pressurized with a thumbscrew, maybe with a little bit of air to support

public demand for information technology

2006-09-21 Thread Kragen Javier Sitaker
Usually, when I talk to USA citizens about information technology that the rest of the world can use, I run into some variant of the walk before you run argument. People wonder what good information technology is to a goatherd, or a taxi driver, or a subsistence farmer. I have theoretical

Rebuttal to David Brin's Why Johnny Can't Code

2006-10-30 Thread Kragen Javier Sitaker
This is in response to David Brin's article, Why Johnny Can't Code, in Salon, 2006-09-14: http://www.salon.com/tech/feature/2006/09/14/basic/ While (what I think is) his main point (#7 below) is mostly true and important, his supporting points are mostly nonsense --- it really lowered my respect

what affects programming language adoption?

2006-11-02 Thread Kragen Javier Sitaker
[partly from bits posted to FoRK and subtext mailing lists] Most successful languages get adopted because they enable the exploitation of something else (C for Unix, Lisp for Emacs or AutoCAD or AI, Tcl for Tk, Perl for CGI or today for CPAN, Basic for microcomputers, Turbo Pascal for a

freedom of communication will stop wars

2008-02-15 Thread Kragen Javier Sitaker
Until now, I've mostly thought of freedom of communication as being practically important because it is necessary for the investigation of truth. But now I think there is a second reason, which may be more important: the avoidance of conflict. First I will explain the view I've traditionally

dynamic code generation to superoptimize calendar calculations

2008-03-06 Thread Kragen Javier Sitaker
In http://blog.plover.com/calendar/leapday.html Mark-Jason Dominus suggests this algorithm for calculating leap years, as a proposed replacement for the Gregorian system: 1. Divide the year by 33. If the result [remainder?] is 0, it is not a leap year. Otherwise, 2. If the result is

orthographic reform of English

2008-03-29 Thread Kragen Javier Sitaker
At some time in their lives, all eccentrics who spend a lot of time reading must take on the doomed project of the orthographic reform of their language. Occasionally this project is not doomed; for example, if their scheme is backed by a king or revolutionary government, it may have some chance

wood and stone personal digital assistants

2008-06-23 Thread Kragen Javier Sitaker
(Available in HTML at http://canonical.org/~kragen/wood-pda.html.) Polished-Stone Handheld Computers - So I've been thinking about making a handheld computer with the look and feel (shininess, irregularity, weight, seamlessness) of a polished semiprecious stone.

HTML is terser and more robust than S-expressions

2008-06-26 Thread Kragen Javier Sitaker
(This is available in HTML at http://canonical.org/~kragen/html-succinct.html.) HTML is more succinct for things in its intended domain than S-expressions, but still has better error-detection and correction capabilities. S-expression fans like to say that HTML, SGML, and XML are just

better relative URLs than the current .. system

2008-07-07 Thread Kragen Javier Sitaker
Relative links are great; they let you move your whole tree of HTML files from one place to another and still retain the internal link structure. However, they start to suffer when you have multiple levels of directory structure: is that `href=../../style.css` or `href=../../../style.css`? It's

how false rumors can cost lives

2009-04-26 Thread Kragen Javier Sitaker
http://canonical.org/~kragen/costs-lives.html How False Rumors Can Cost Lives === I have said that spreading false rumors in time of epidemic costs lives. People have asked me how. The Tuskegee Experiment --- Let me first explain how the

a sort of auction for funding think-tank work, with a dominant assurance contract variant

2010-01-10 Thread Kragen Javier Sitaker
There's a certain kind of research that consists of spending long hours in the library, or with EDGAR, or what have you, and digesting the available information to produce useful summaries of the current state of things. Aaron Swartz is looking for someone to do this sort of research on political

Bayesian 20 Questions

2010-03-22 Thread Kragen Javier Sitaker
I was lying in bed thinking about 20Q.net. What's the ideal strategy for playing 20 Questions, given some statistical knowledge base about the world? The traditional approach, which you can assign in a beginning programming class, is to build a binary tree of questions, adding onto the tip when

Why don't people treat hackers as heroes?

2010-06-17 Thread Kragen Javier Sitaker
In response to Jeri Ellsworth’s question, “[Nerds are the heros. Why don’t people treat them like they are?] [0]” [0]: http://www.facebook.com/jeri.ellsworth?v=feedstory_fbid=343478556355 Facebook status, posted 2010-03-03 at 21:39 Part of it is animal herd dynamics. Humans are social animals,

doing the Viterbi algorithm with Dijkstra's algorithm

2010-06-24 Thread Kragen Javier Sitaker
Given infinite memory, you should be able to duplicate the results of the Viterbi algorithm using Dijkstra’s algorithm. In many cases this should be more efficient. But it also isn’t subject to the same limitations as the Viterbi algorithm. In particular, it can handle insertion and deletion

mechanical computation: with Merkle gates, height fields, and thread

2010-06-28 Thread Kragen Javier Sitaker
One of the reasons I’m excited about automated fabrication (e.g. f...@home, tabletop CNC mills, RepRap, inkjet-printing of circuits, fused deposition modeling) is that I expect it will make it possible to build computers from raw materials with minimal capital. It will be some time before those

about The Myth of the Super Programming Language

2010-07-01 Thread Kragen Javier Sitaker
This is edited from a comment on [The Myth of the Super Programming Language] [0], which is a discussion of how many programmers seem to believe that some esoteric programming language could allow a team to outperform expectations by an order of magnitude. Edwards argues that people don’t really

parsing with small memory or on a large parallel machine

2010-07-05 Thread Kragen Javier Sitaker
I was thinking about the Fortran compiler on the IBM 1401, which compiled the user’s Fortran program into machine code in a sequence of some fifty or sixty passes, each of which was up to a few hundred instructions; and this simple parsing problem occurred to me. Parsing with small memory

cheap-shit laser displays

2010-07-08 Thread Kragen Javier Sitaker
I haven’t tried this yet, but I think you can build a reasonable monochrome raster laser display out of commonly-available parts for a few dollars. 12kHz is a horizontal scan on a 320×200 60Hz-refresh display; 28.8kHz is a horizontal scan on a 640×480 60Hz-refresh display. The newly-fashionable

herringbone planetary gears are a thrust roller bearing

2010-07-15 Thread Kragen Javier Sitaker
(I don’t know anything about any of this stuff, except for taking apart toys and clocks as a kid and reading stuff on Wikipedia.) Review of stuff that is apparently widely known by people who aren’t me --- Normal **spur gears**

sorting in WORM memory (and other algorithms and data structures)

2010-07-19 Thread Kragen Javier Sitaker
(This is entirely unverified by experiment.) Stuff that’s already well-known about hardware -- Flash chips are a kind of write-once read-many (“WORM”) memory: you *can* erase them, but only huge chunks at a time; and erasing them is much more expensive

el muerte de Kirchner

2010-10-27 Thread Kragen Javier Sitaker
Hoy murió Néstor Kirchner. En su vida, fue un ciudadano. No siempre fue así; también vivió bajo dictaduras. Pero al final, fue ciudadano. Por un tiempo tuvo más poder que algunos ciudadanos, siendo, entre otras cosas, Presidente de la Nación Argentina. Aúnque nunca fue Socialista, fue

file similarity, fuzzy hashing, bloom filters, and finding common words

2010-12-20 Thread Kragen Javier Sitaker
Herewith a passel of algorithmic musings, all untested, and all uninformed by previous work: some approaches to how to make fuzzy file signatures to allow you to quickly find similar files, specifically involving hashing, vector math, substrings of various sizes, bitvectors, Bloom filters,

Why Egypt’s popular rebellion is the greatest historical event in a decade, and how Barack Obama missed the boat.

2011-01-28 Thread Kragen Javier Sitaker
by those who risked their lives for them. **Obama has chosen cowardice and expediency** over principles and honesty. And that choice undermines his stirring rhetoric much more than any sloppy choice of words could have. emBy Kragen Javier Sitaker, [@kragen](http://twitter.com/kragen) on Twitter./em

Saying “Do no evil” excludes you from any serious conversation about Google

2011-08-18 Thread Kragen Javier Sitaker
Google has had an unofficial motto for many years: “Don’t be evil.” It came up as a joke during a meeting (including, among others, Paul Buchheit and Amit Patel) seeking a mission statement. A particular Googler liked it and went around anonymously doodling it on whiteboards until it became a

launching things into orbit with a maglev track from a dirigible at the top of the mesosphere

2011-08-29 Thread Kragen Javier Sitaker
Toward the end of 2010, I was reading this article by Rena Marie Pacella, “[NASA Engineers Propose Combining a Rail Gun and a Scramjet to Fire Spacecraft Into Orbit][0]”. The idea is that you use a two-mile-long ground-mounted 180MW maglev linear motor (not a rail gun) to accelerate an aircraft

externalized costs, energy costs, food miles, and local agriculture

2011-09-30 Thread Kragen Javier Sitaker
Increased energy costs and reduced externalities will not cause a relocalization of agriculture. Commenting on an [excerpt from chapter 10 of Charles Eisenstein's Sacred Economics] [0]: [0]: http://blog.p2pfoundation.net/on-the-necessity-to-internalize-costs-in-a-true-cost-economy/2011/09/30

radix-sorting rational numbers with an efficient serialization of continued fractions

2011-10-17 Thread Kragen Javier Sitaker
There are a family of interesting algorithms that sort lexicographically on strings of bits or bytes rather than by comparing items pairwise with some kind of customizable comparison function on individual items. Optimal comparison sorts such as heapsort, quicksort, mergesort, library sort, and

Arduino frustrations: C is not a higher-order language, and timing is not an optimization

2012-01-01 Thread Kragen Javier Sitaker
So playing with Arduinos, and helping other people do it, I'm struck by how many unnecessary problems we're still struggling with. For example: - The heap grows up and the stack grows down, and there's no memory protection. Even if you don't use recursion, there's no way to get help

potential applications of Taylor's Image Fidelity Assessor and similar models

2012-04-09 Thread Kragen Javier Sitaker
On Mon, Apr 09, 2012 at 04:03:52AM -0400, Kragen Javier Sitaker wrote: There was actually a 1997 SPIE paper, [Image Quality Assessment with a Gabor Pyramid Model of the Human Visual System][8], by Taylor, Pizlo, Allebach, and Bouman, which proposed doing exactly this in order to measure

backtracking HTML templating

2012-04-12 Thread Kragen Javier Sitaker
This is an idea originally from 2010-04-08 that I just never got around to publishing until now. Now that I’ve written the below, I’m tempted to try to hack this together tonight, but I think I should probably sleep instead, and maybe do this on the weekend. Motivation -- This week I’ve

printing microfilm on ordinary laser printers on paper

2012-04-23 Thread Kragen Javier Sitaker
#!/usr/bin/python # -*- coding: utf-8 -*- Compute proportional-font print size of a text. The laser printer at my new workplace is 600dpi in both directions. It prints on A4 or similar paper: 216×279mm. Simple multiplication yields a capacity of 33.6 megabits per page, or about 4 megabytes. At

Meghan Saweikis on the development of human society

2012-06-27 Thread Kragen Javier Sitaker
Meghan Saweikis wrote the following; I thought it was really excellent, so with her permission, I am posting it here. Maybe it should go to kragen-fw instead, but kragen-fw is mostly dead, really. I think the issues touched on in this mail are among the most important issues for every human

how to do a better predictive text input method for Android

2012-07-14 Thread Kragen Javier Sitaker
The SwiftKey X trial just expired on me on the Android phone loaner I’m using from my work. I still have the keyboard layout, but the predictive text no longer works. This makes it a real bummer to use the machine. I guess it serves me right for depending on proprietary software. I should have

choosing powerful primitives for a simplified computing system

2012-07-16 Thread Kragen Javier Sitaker
One of the basic principles of the [FONC/STEPS system] [STEPS] is that you can reduce the overall complexity of software by choosing powerful primitives that simplify many parts of a system. OMeta is sort of their poster child: a generic rewriting system powerful enough to write simple, efficient

a unified caching system for avoiding recomputation

2012-07-19 Thread Kragen Javier Sitaker
There’s an old saying that there are only two hard problems in computer science: naming, caching, and off-by-one errors. Caching of computations is basically a classic time-space tradeoff, but caching is also used for other purposes: for fault-tolerance, to trade off network bandwidth against

database query optimizers for simplifying software systems

2012-07-23 Thread Kragen Javier Sitaker
Another item that didn't make it into [my post on Monday][0]: database queries are probably another powerful primitive which can simplify a whole computing system. [0]: http://lists.canonical.org/pipermail/kragen-tol/2012-July/000962.html choosing powerful primitives for a simplified computing

language-model dimensionality reduction with Markov-chain distribution medians

2012-07-30 Thread Kragen Javier Sitaker
In my kragen-tol post earlier this month about [predictive text input methods][0], I wrote: You could do *much better* than SwiftKey with dimensionality reduction techniques, which could allow much more context to be brought to bear on the prediction problem using a much smaller model.

boycotting Chick-Fil-A is authoritarian and evil

2012-08-02 Thread Kragen Javier Sitaker
Although I'm not actually gay --- I can't remember having had so much as a dick in my mouth --- I'd certainly have an uphill battle proving that if I were being indicted for gayness. And if I were attracted exclusively to men, I'd definitely have sex with men instead of living celibate. Finally,

impermanence of life

2012-09-13 Thread Kragen Javier Sitaker
I wrote this to a far-away acquaintance of mine who's been struggling with her fears since coming abruptly face to face with her mortality during a recent acute illness. Sending you hugs; I'm reading this rather late. I will try to say something that has not already been said. The recognition of

decentralized chat using CouchDB

2012-11-23 Thread Kragen Javier Sitaker
I just sent this message to the CouchDB User mailing list instead of sleeping like I ought to be doing. - Forwarded message from Kragen Javier Sitaker kra...@canonical.org - Date: Fri, 23 Nov 2012 22:14:18 -0500 From: Kragen Javier Sitaker kra...@canonical.org To: u...@couchdb.apache.org

a possibly novel error-correction code with a relationship to the Hadamard transform

2013-03-03 Thread Kragen Javier Sitaker
Last night, I encoded some messages in ASCII by hand, including error-correction coding: like the printer dots Seth Schoen decoded, matrices of 8 columns of 8 bits each, with an extra column and row for parity. (I used even parity, but odd would have been a better choice.) Matrix parity lets you

trellis-coded buttons for N-Key Rollover on a single I/O pin

2013-05-23 Thread Kragen Javier Sitaker
Based on some discussions with Nick Johnson, I was thinking about a downloadable tinkerer's tricorder, software that would turn a commodity microcontroller into a powerful LCR meter, and an additional application occurred to me: a keyboard with up to several dozen keys, supporting N-key rollover

Quaject-style run-time code synthesis for the Visitor pattern

2013-05-27 Thread Kragen Javier Sitaker
Suppose you want to be able to execute the Visitor pattern as quickly as possible on some tree structure. You could compile your tree structure into executable code, each node a subroutine which invokes a method of the visitor object — traditionally each node type invokes a different method — and

a local Wikipedia hypertext system with instant response (no perceptible UI delay) is achievable

2013-06-17 Thread Kragen Javier Sitaker
I'm frustrated with the slowness of web browsers at navigating Wikipedia. Navigating Wikipedia is one of the most important tasks you can do on a computer; it provides access to a reasonable summary of all human knowledge. Ideally, there should be *no perceptible delay* between selecting a link

lattices, powersets, bitstrings, and efficient OLAP

2013-12-12 Thread Kragen Javier Sitaker
Some thoughts that occurred to me on the bus home about using bit-twiddling tricks to speed up lattice operations. The original genesis of the idea was the old idea that it's a shame that Unix doesn't have sub-users that have the same relationship to users that the users have to `root`, whose

summary of recent important developments (ultra-compressed, random)

2014-03-16 Thread Kragen Javier Sitaker
I wrote this for a friend, but I thought a wider audience might find it interesting. It's focused almost entirely on technical topics. - The transition to BaaS is the realization what we were hoping KnowNow would be in 2000, at least in weeks whose numbers were congruent to 2 modulo 5; we