I'm too lazy to convert these to the new format. :-P
Legalize propranolol now! - 14 November 2003
(please take this with a grain of salt, i am not a doctor, i might be dead wrong about some of this)
Why are some drugs available over the counter, while others need a prescription? Some are dangerous, obviously, but for others it seems to be just chance and history.
- Paracetamol taken in sufficient quantities can cause a painful death. This happens. The quantity is not too far in excess of the standard dosage.
- Alcohol can cause addiction, brain damage and amnesia.
while on the other hand
- Propranolol is apparently fairly safe, even in overdose. Much safer than paracetamol in any case. (caveat: when ceasing chronic use of propranolol, heart rate can increase, possibly dangerously)
- Valium is a reasonable alternative to alchohol (and possibly causing less tendency to violence). (caveat: could be used as a date-rape drug. Solution: mix in a distinctive flavour and color, or make the pills much larger and more dilute. Valium cookies anyone?)
- ... and so on
What is this propranolol stuff? Propranolol is a "beta blocker". This means it blocks the fight-or-flight response, in which one becomes agitated, stronger, more awake, more emotive, and possibly unable to keep still. Propranolol also reduces heart rate and bluntens emotional affect.
The cultural effects of making propranolol easily available are likely to be very positive:
- Propranolol has been shown to reduce outbursts of rage in people with this tendency.
- Having propranolol available makes bullying harder. Bullying relies on being able to get an involuntrary rise out of someone. Propranolol could help the victim keep control of their emotions.
- * Harmful relationships built on similar foundations could be more easily ended.
- It's just generally useful stuff. Mind goes blank at interviews? Prone to stage fright? Scared of injections, or the dentist's drill?
In other words, propranolol is potentially empowering for people who currently live in fear of their own reaction to fear. I suspect this to be a common situation. Propranolol should be available from a pharmacy without prescription. Legalize now!
Hard Left - 5 November 2003
Compared to right-wing politics, the left-wing has always seemed very indecisive. The right has a very definite approach: Christian "morality", small government, low taxes, and none of this deviant sexual behaviour thank you very much. The left on the other hand is very splintered: environmental conerns, social policy, do we spend more at home or give more foreign aid?, equal rights for many different groups, religious tolerance. All one big blur.
Surely the left can do better? Here's my ideal left-wing political party:
Policy: Based on two principles:
- Utilitarianism: maximize good cheer minus suffering.
- Occam's razor: look at the evidence (in fact, go out and measure lots of stuff), remember that people are people, don't get carried away by utopian theory.
Basically, do what Peter Singer thinks is right. And prioritize, focus on big stuff, be very visible even if it means sounding radical. And act quickly, different members might have different specialities but for every issue there is one person who makes a decision and then acts (the party is not a democracy).
Membership: Members have to be able to make definite decisions, and follow through with sustained and coordinated action. Membership is therefore strictly limited to people who have proved that they are able to do this. Before you denounce me as an elitist snob, let me tell you my list...
- doctors and surgeons -- make life or death decisions frequently
- people with combat experience -- have made life or death decisions, have come to terms with concept of own death (shades of Starship Troopers here :-) )
- people who have survived a life threatening or debilitating illness (cancer, mental illness, etc), or have undergone a life threatening ordeal (for example, becoming lost while hiking) -- have come to terms with own mortality, may have made life or death decisions
Structure: The party is not a democracy. If people don't agree with the person in charge, they can set up their own party or organize an overwhelming coup. Members of the party may be members of other political parties (eg splinter groups), tolerate your schismatics and keep an eye on the big picture. Everything is very light-weight, and as much as possible is electronic. Look at what Howard Dean is doing, and copy most of it. Also look at the open source methodology. Every detail is out in the open, there is no members-only area on the web-site.
(nb. setting up a party such as this should only be attempted in a democracy with preferential voting, such as Australia. Americans: vote Democrat not Green. If you must do something, do it as an NGO lobby group. Incidentally, Howard Dean fits my membership criterion, since he's a doctor)
Gestural editor - 2 November 2003
Which kind of microwave oven is faster to program?
Like this? or Like this? 10m 1m 10s 1s 7 8 9 4 5 6 1 2 3 0
The one on the right has more buttons, it must be faster! But wait, with the one on the left, you can go tap-tap-tap on one button very quickly, with less hunting around.
Could we do something similar with user interfaces? For example, I have yet to find an editor that doesn't suck. I don't like key-combinations (hard to touch-type -- the meta keys have to be BIG, like "Shift", or it sucks), but VI's system of modes is also terrible since you tend to forget which mode you're in. I currently use VI, and i've learned various gestures for doing things, as a manual skill, ":wq", "dd", etc.
What if commands were started using a double-tap on a normal key?
- Timing is important. Don't want to set it off with words like "off, terrible". So look for pause-taptap.
- "Shift" is already so ingrained in typing, for capital leters and so on, that we could use it for commands also. Avoid "Ctrl", "Alt", "Apple", "Command", "Windows", "Menu", "esc", function keys entirely.
- Commands have to be learnable, eg pico style hints, tip of the day, menus with gestures listed, clippy (except intelligent). But this shouldn't clutter the screen. Normally, it should be just text, no borders or menus, maybe a line#, col#.
- -> - move one char right, ->-> move one word right, ->->-> move to end of line. Similar for other arrow keys.
- del-del - delete line. Or maybe d-d, d-d-d, shift-d-d etc for deleting.
- select characters. shift-shift+ select lines. shift-shift - move end of selection to current position.
- The cursor is T shaped, the horizontal indicating line selection end-points, the vertical indicating char selection and insertion points. The horiziontal is on top (T not inverted-T) since one tends to select downwards.
- ff - find, nn - next, pp - prev
- gg - goto line #
While we're designing a new editor (this isn't an original idea btw): lets get rid of this cut and paste nonsense. The selection is independent of the cursor, there are move, copy and delete commands and no invisible clipboard. And no drag-and-drop either: dragging the mouse always creates a selection. Middle-button inserts at current cursor position, not current mouse position.
More on health data mining - 10 October 2003
Have been thinking more about accounting for reporting bias in a health data mining system (see earlier entry on this topic). While chatting with friends, the topic of the bias you get from someone logging in at varying rates came up. On further reflection, it's actually possible to account for this kind of bias! This gives me some hope that other forms of bias may also be modelled.
Hmm, this isn't a perfectly clear explanation, I'm going to need to start working on a formal spec: sparrowfall design notes.
Anyway... suppose someone is logging in about weekly and answering a single question, "are you happy?". Let's represent a yes as "Y", a no as "N" and a did-not-log-in as "-". Then we might get a sequence something like this:
If we were to just average all the Ys and Ns, we would conclude that this is a mostly happy person. I think it's pretty clear this is the wrong thing to do. A better way to go might be to say that their state is a Markov process, ie, their state this week may be predicted somewhat from their state last week. And we might also suppose that whether they log in or not is dependent on their state.
So to model this sequence we estimate the likelyhoods of:
- a transition from Y to N
- a transition from N to Y
- logging in in state Y
- logging in in state N
These might be obtained by a Maximum Likelyhood method, or even better, MML.
In the example above, we would probably conclude that the person is much less likely to log in when they are not happy, and that they are actually often unhappy.
Generic Extensible Direct Threading Interpreter - 26 September 2003
A direct threading interpreter is a very fast kind of interpreter, where the byte code is essentially a list of addresses and going to the next instruction is just a matter of jumping to the next address in the list. It can be implemented in GCC in a cross platform way, either by indirect gotos, or by "sibling call" tail recursion.
It occurs to me that the sibling call tail recursion version is actually extensible on the fly. One can dynamically load libraries on the fly, then start including interpreter instructions from them in your bytecode. This provides a significant simplification of the idea of a "Just In Time" compiler, where one compiles (using GCC in order to remain platform independant) and then dynamically loads new interpreter instructions into the interpreter.
Also, one can have thousands and thousands of interpreter instructions. So you might just say, ok, for each possible combination of two instructions that we have now, we are going to combine them to form a new instruction. Repeat as necessary. In the limit this is as fast as compiled code (at the cost of generating a large amount of code, some of which might not be used).
My initial interest in this is for a cache-coherent version of Python Numeric.
Most importantly of all, GEDTI is a nifty acronym, especially if you pronounce the "GE" as in "German".
"Peter Singer" credit card - 19 September 2003
Peter Singer has suggested that rich nations should aim to give 1% of GDP in foreign aid to poor nations (at least as a starting point, up to 50% would be more reasonable, but sadly we can't even seem to manage 1%, current value for Australia is about 0.25%). It's probably equally good if you were to invest some amount of money for a time, then donate the 1% when you spend it (including 1% of the interest).
Given that the government doesn't seem to be pulling it's weight here, it's up to individuals for the moment (though lobbying for increased foreign aid would also be good). One way to make sure you pay your 1% would be to have a credit (or debit) card that automatically donated 1% to UNICEF or Oxfam or similar whenever you made a purchase.
- The card would have a distinctive appearance, so that using it is a visibly charitable act.
- Bi-Lo has a "community benefits" card that has some similarity to this idea, though it is local not global in scope.
Little Snob initial release - 6 September 2003
Data mining software for the rest of us. Just like the original Snob, only less user hostile. Enjoy :-)
Have I mentioned recently that Python rocks?
Open politicians - 5 September 2003
- Politicians should wear their heart rate on their sleeve. And their galvanic skin response. And their respiration rate. And...
- Politicians should record all of their conversations, 24/7, during campigns and while in office. For extra trust, a continuous video recording could also be made.
All this data would be posted on their web site. Even if it wasn't 24/7 it would still give a far better idea of what they were like than our current 10 second sound bites. You could really trust a politician if you knew everything they had ever said. :-)
LED mouse, a la Minority Report - 25 Aug 2003
A LED worn on a finger is tracked by a CCD camera. Not original, i'm sure, but i have a few twists of my own.
- The camera is "reflected" on the computer screen, so you can see the exact mapping from camera to screen. Similar to that window washing game thingy. A high frame rate is critical if you don't want a splitting headache.
- The LED is mounted on a finger ring that sits on the fingernail-bit (is there a technical term for this?) of, say, your index finger. A small switch extends back over the middle section of the finger, and is triggered when the finger is fully extended (pointing). The switch lights the LED, indicating a "click". The whole thing is set far enough back so as not to impede typing.
- Multiple LEDs on multiple fingers could indicate different mouse buttons. With rather more redesign of existing software, you could also have multiple pointers. Which LED is which could be indicated by color or a high frequency blink pattern (as in a remote control).
- The LED and mounting could make a rather nice looking piece of techno-goth jewelery.
Health data mining - 21 Aug 2003
Some illnesses, such as depression (and mental illness in general), are proving hard to treat. Studies on medications and treatments for these are usually fairly small, and last at most a few months. This isn't good enough. What we should be doing is tracking the progress of as many people as possible with these illnesses, noting how they are doing regularly, and what treatments they try. This data could then be analysed to determine what really works in the long term.
- Sources of bias would have to be tracked and factored out. This is the tricky bit.
- Analysis might involve least squares model fitting, maybe a kernel method or two, then comparison of the accuracy of the model to actual data in order to make probabilistic predictions.
- RemedyFind is a good start.
- Optimally, this data would be collected by medical professionals. But they're a pretty conservative bunch, so maybe us patients should set up something in the meantime.
... is, was, and will be the only game in town. So a healthy society should try to keep ownership of capital as uniform as possible.
- The rise in superannuation has helped this.
- But capital ownership is currently really concentrated anyway.
- Capital ownership was also highly concentrated before the last great depression.
- Communists realized the importance of capital ownership... then concentrated capital ownership in a single entity. This turned out not to work all that well.
- * which means the far-right and communism are actually kind of similar. A better political classification might be "capital concentrated" vs "capital dispersed"
No, not a wiki about the Gimp (already exists anyway). An image manipulation program that is a wiki. Implement using Python, Python restricted execution, PIL, NumPy, PyGtk, and judicious use of PyInline.
Everything encrypted using SSH. Overnet style network (can't rely on IP, too broken). Subcircles for different usages (file sharing, chat, backup, etc) for fairness. Persistent hashtable storage to reduce traffic.
Find the simplest/cheapest mixture of foodstuffs that gives you all your daily nutritional requirements -- get a nutritional database and recommeded daily intakes, define an fitness function and optimize using Newton's method function minimization.
...hmm, Sustagen looks like it was designed for this already... oh well.
...the Glycemic Index is probably an important factor too.
bzip2 spam filter
Use bzip2 to identify spam. Possibly in combination with logistic regression. Related: use spam filtering techniques for censorware. Related 2: use technique on links to pages, in order to determine interesting pages.