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
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
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
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
[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
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
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
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
(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.
(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
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
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
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
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
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,
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
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
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
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
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
(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**
(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
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
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,
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
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
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
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
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
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
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
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
#!/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 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
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
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
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
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
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.
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,
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
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
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
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
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
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
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
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
48 matches
Mail list logo